724601234e8457b784f434a47e98f1c9f2744d78
[nonrtric/plt/sme.git] / capifcore / docs / diagrams / registerpoviderandpublishservice.plantuml
1 @startuml Register Provider
2 actor rAppCatalogue
3 participant rAppManager
4 box "CAPIF Internal"
5 participant capifcore
6 participant providermanager
7 participant helmmanager
8 participant publishservice
9 participant invokerservice
10 participant discoverservice
11 end box
12
13 rAppCatalogue->rAppManager: Start rApp, with rApp\n descriptor specifying which\n services to expose and consume
14 alt#paleGreen #paleGreen Provider Enrolment
15     rAppManager->capifcore: Register provider with\n APIProviderEnrolmentDetails
16     capifcore->providermanager:Register provider
17     providermanager->providermanager: Create apiProvDomId\n and apiProvFuncIds\n for provided functions
18     providermanager->capifcore: Provider with\n apfId and aefIds
19     capifcore->rAppManager: Provider with\n apfId and aefIds
20 end
21 alt#LightBlue #LightBlue Publish Service
22     rAppManager->capifcore: Publish services\n with providerId\n andServiceAPIDescription
23     capifcore->publishservice: Publish services
24     publishservice->providermanager: Check that AEFs are\n registered for provider
25     providermanager->publishservice: Ok
26     publishservice->publishservice: Create apiId
27     publishservice->helmmanager: Install chart
28     note right: Optional and not decided yet
29     helmmanager->publishservice: Ok
30     publishservice->capifcore: ServiceAPIDescription\n with apiId
31     capifcore->rAppManager: ServiceAPIDescription\n with apiId
32 end
33 alt#coral #coral Register Invoker
34     rAppManager->capifcore: Register invoker with\n APIInvokerEnrolmentDetails
35     capifcore->invokerservice: Register invoker
36     invokerservice->invokerservice: Create apiInvokerId and\n onboardingSecret
37     invokerservice->publishservice: Get available services
38     publishservice->invokerservice: Available services
39     invokerservice->capifcore: Services available\n for the invoker
40     capifcore->rAppManager: Invoker with invokerId\n and available services
41 end
42 rAppManager->rAppCatalogue: Ok
43
44 alt#Yellow #Yellow Discover Services
45     rAppManager->capifcore: Discover services for an\n invoker with apiInvokerId\n and filter parameters
46     capifcore->discoverservice: Get services available\n for the invoker
47     discoverservice->invokerservice: Get services available\n for the invoker
48     invokerservice->publishservice: Get available services
49     publishservice->invokerservice: Available services
50     invokerservice->discoverservice: Services available \nfor the invoker
51     discoverservice->capifcore: Services available for the\n invoker matching the\n filter parameters
52     capifcore->rAppManager: Services available for the\n invoker and matching the\n filter parameters
53 end
54 @enduml