-alt#LightBlue #LightBlue Publish Service
- rAppManager->capifcore: Publish services\n with providerId\n andServiceAPIDescription
- capifcore->publishservice: Publish services
- publishservice->providermanager: Are AEFs are\n registered for provider?
- providermanager->publishservice: Ok
- publishservice->publishservice: Create apiId
- publishservice->helmmanager: Install chart
- note right: Optional and not decided yet
- helmmanager->publishservice: Ok
- publishservice->capifcore: ServiceAPIDescription\n with apiId
- capifcore->rAppManager: ServiceAPIDescription\n with apiId
+alt Register provider rApp
+ rAppCatalogue->rAppManager: Register rApp, with\n rApp descriptor\n specifying which\n services to expose
+ alt#paleGreen #paleGreen Provider Enrolment
+ rAppManager->capifcore: Register provider with\n APIProviderEnrolmentDetails
+ capifcore->providermanager:Register provider
+ providermanager->providermanager: Create apiProvDomId\n and apiProvFuncIds\n for provided functions
+ providermanager->capifcore: Provider with\n apfId and aefIds
+ capifcore->rAppManager: Provider with\n apfId and aefIds
+ end
+ alt#LightBlue #LightBlue Publish Service
+ rAppManager->capifcore: Publish services\n with providerId\n andServiceAPIDescription
+ capifcore->publishservice: Publish services
+ publishservice->providermanager: Are AEFs registered\n for provider?
+ providermanager->publishservice: Ok
+ publishservice->publishservice: Create apiId
+ publishservice->helmmanager: Install chart
+ note right: Optional and not decided yet
+ helmmanager->publishservice: Ok
+ alt#Orange #Orange Subcribed Event Handling
+ publishservice->eventservice: Service published
+ eventservice->capp: CAPIFEventDetail
+ end
+ publishservice->capifcore: ServiceAPIDescription\n with apiId
+ capifcore->rAppManager: ServiceAPIDescription\n with apiId
+ end
+ rAppManager->papp: apiProvDomId,\n apiProvFuncIds,\n and apiId
+ rAppManager->rAppCatalogue: Ok