Skip to content
Snippets Groups Projects

Event feature completed

Merged Jorge Echevarria Uribarri requested to merge develop into main
8 files
+ 25
21
Compare changes
  • Side-by-side
  • Inline
Files
8
@@ -34,11 +34,16 @@ class api_schema_translator:
self.api_info = self.__load_api_file(self.api_path)
self.__validate_api_info()
def build(self, api_name, ip=None, port=None, fqdn=None, ipv6Addr=None):
def build(self, api_name, supported_features, api_supp_features, ip=None, port=None, fqdn=None, ipv6Addr=None):
"""
Builds the API description and saves it to a JSON file.
Supports either IPv4 (ip), IPv6 (ipv6Addr), or FQDN (fqdn).
"""
# Validate required fields
if not supported_features or not api_supp_features:
self.logger.error("Both 'supported_features' and 'api_supp_features' are required. Aborting build.")
return
# Validate that at least one of ip, ipv6Addr, or fqdn is provided
if not (ip or ipv6Addr or fqdn):
self.logger.error("At least one of 'ip', 'ipv6Addr', or 'fqdn' must be provided. Aborting build.")
@@ -55,13 +60,13 @@ class api_schema_translator:
"apiName": self.api_info["info"].get("title", api_name),
"aefProfiles": self.__build_aef_profiles(ip, port, fqdn, ipv6Addr),
"description": self.api_info["info"].get("description", "No description provided"),
"supportedFeatures": "fffff",
"supportedFeatures": supported_features,
"shareableInfo": {
"isShareable": True,
"capifProvDoms": ["string"]
},
"serviceAPICategory": "string",
"apiSuppFeats": "fffff",
"apiSuppFeats": api_supp_features,
"pubApiPath": {
"ccfIds": ["string"]
},
Loading