Newer
Older
# Add the SDK directory to PYTHONPATH using a relative path
script_dir = os.path.dirname(os.path.abspath(__file__)) # Current script directory
sdk_path = os.path.join(script_dir, '..', '..', 'sdk') # Go up two levels and point to 'sdk'
# capif_sdk_config_path = "/Users/dgs/Downloads/capif_sdk/invoker/config.json"
capif_sdk_config_path = "./capif-sdk-config-sample.json"
capif_connector = CAPIFProviderConnector(config_file=capif_sdk_config_path)
capif_connector.onboard_provider()
print("PROVIDER ONBOARDING COMPLETED")
# Retrieve AEFs ids and APFs ids to publish an API
with open(capif_sdk_config_path, 'r') as file:
config = json.load(file)
provider_folder = config.get('provider_folder')
username_folder = config.get('capif_username')
if not provider_folder:
raise ValueError("'provider_folder' value is not defined in the configuration file.")
detailspath = os.path.join(provider_folder, username_folder, "capif_provider_details.json")
if not os.path.exists(detailspath):
raise FileNotFoundError(f"The file {detailspath} was not found")
with open(detailspath, 'r') as file:
details = json.load(file)
APF = details.get('APF-1_api_prov_func_id')
AEF1 = details.get('AEF-1_api_prov_func_id')
AEF2 = details.get('AEF-2_api_prov_func_id')
if not APF or not AEF1 or not AEF2:
raise ValueError("Not all required values were found in 'Capif_provider_details.json'")
config['publish_req']['publisher_apf_id'] = APF
config['publish_req']['publisher_aefs_ids'] = [AEF1, AEF2]
with open(capif_sdk_config_path, 'w') as file:
json.dump(config, file, indent=4) # Save JSON with formatting
print("Configuration file updated successfully.")
# Reinitialize the connector with the updated configuration
capif_connector = CAPIFProviderConnector(config_file=capif_sdk_config_path)
capif_connector.publish_services()
except FileNotFoundError as e:
print(f"Error: {e}")
except json.JSONDecodeError as e:
print(f"Error reading the JSON file: {e}")
except Exception as e: