Add the rest of the apis to the diagrams
[nonrtric/plt/sme.git] / capifcore / docs / diagrams / registerpoviderandpublishservice.plantuml
index 1e7db9b..b5439ee 100644 (file)
@@ -1,35 +1,85 @@
 @startuml Register Provider
 actor rAppCatalogue
+actor rApp
 participant rAppManager
 box "CAPIF Internal"
 participant capifcore
 participant providermanager
 participant helmmanager
 participant publishservice
+participant invokerservice
+participant discoverservice
+participant securityservice
+participant eventservice
 end box
 
-rAppCatalogue->rAppManager: Start rApp, with rApp\n descriptor specifying which\n services to expose and consume
-alt#paleGreen #paleGreen Provider Enrolment
-    rAppManager->capifcore: Register provider with\n APIProviderEnrolmentDetails
-    capifcore->providermanager:Store provider
-    capifcore->rAppManager: Provider with apfId and aefIds
+alt Regtister rApp as both provider and consumer
+    rAppCatalogue->rAppManager: Register rApp, with rApp\n descriptor specifying which\n services to expose and consume
+    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->rApp: CAPIFEventDetail
+        end
+        publishservice->capifcore: ServiceAPIDescription\n with apiId
+        capifcore->rAppManager: ServiceAPIDescription\n with apiId
+    end
+    alt#coral #coral Register Invoker
+        rAppManager->capifcore: Register invoker with\n APIInvokerEnrolmentDetails
+        capifcore->invokerservice: Register invoker
+        invokerservice->invokerservice: Create apiInvokerId and\n onboardingSecret
+        invokerservice->publishservice: Get available services
+        publishservice->invokerservice: Available services
+        alt#Orange #Orange Subcribed Event Handling
+            invokerservice->eventservice: Invoker registered
+            eventservice->rApp: CAPIFEventDetail
+        end
+        invokerservice->capifcore: Services available\n for the invoker
+        capifcore->rAppManager: Invoker with invokerId\n and available services
+    end
+    rAppManager->rAppCatalogue: Ok
 end
-alt#LightBlue #LightBlue Publish Service
-    rAppManager->capifcore: Publish services\n with ServiceAPIDescription
-    capifcore->providermanager: Check that AEFs are\n registered for provider
-    providermanager->capifcore: Ok
-    capifcore->helmmanager: Install and start chart
-    note right: Optional and not decided yet
-    helmmanager->capifcore: Ok
-    capifcore->publishservice: Store published services
-    capifcore->rAppManager: ServiceAPIDescription with apiId
+alt#Yellow #Yellow Discover Services
+    rApp->capifcore: Discover services for an\n invoker with apiInvokerId\n and filter parameters
+    capifcore->discoverservice: Get services available\n for the invoker
+    discoverservice->invokerservice: Get services available\n for the invoker
+    invokerservice->publishservice: Get available services
+    publishservice->invokerservice: Available services
+    invokerservice->discoverservice: Services available \nfor the invoker
+    discoverservice->capifcore: Services available for the\n invoker matching the\n filter parameters
+    capifcore->rApp: Services available for the\n invoker and matching the\n filter parameters
 end
-alt#coral #coral Register Invoker
-    rAppManager->capifcore: Register invoker with\n APIInvokerEnrolmentDetails
-    capifcore->publishservice:Get available services for invoker
-    publishservice->capifcore: Services available for the given invoker
-    capifcore->rAppManager: Invoker with invokerId\n and avialable services
+
+alt#Pink #Pink Security Service
+    rApp->securityservice: Request token\n for service with\n AccessTokenReq
+    securityservice->invokerservice: Is invoker registered?
+    invokerservice->securityservice: Ok
+    securityservice->invokerservice: Is secret valid?
+    invokerservice->securityservice: Ok
+    securityservice->providermanager: Is function providing\n service registered?
+    providermanager->securityservice: Ok
+    securityservice->publishservice: Is service published?
+    publishservice->securityservice: Ok
+    securityservice->rApp: AccessTokenRsp with\n token
 end
-rAppManager->rAppCatalogue: Ok
 
+alt#Orange #Orange Event Service
+    rApp->eventservice: Subscribe to event with EventSubscription
+    eventservice->eventservice: Create subscriptionId
+    eventservice->rApp: subscriptionId
+end
 @enduml
\ No newline at end of file