1
1
@startuml
2
+
2
3
title : Proposed Saved Object Service Flow
4
+
3
5
actor User
6
+
7
+ participant "OpenSearch-Dashboards" as OSD
8
+
9
+ box "Saved Object Service" #LightBlue
4
10
participant "Saved Object Client" as Client
5
11
participant "Repository Factory Provider" as Factory
6
- participant "Repository\n(e.g. SavedObjectRepository,\nPostgresRepository,\nDynamoDBRepository)" as Repo
7
- participant "Metadata Storage\n(e.g. OpenSearch,\nPostgres, DynamoDB etc)" as Meta
12
+ end box
13
+
14
+ box "Dashboards Storage Plugin" #LightYellow
15
+ participant "Repository\n(e.g. PostgresRepository,\nDynamoDBRepository)" as Repo
16
+ participant "Metadata Storage\n(e.g. Postgres, \nDynamoDB etc)" as Meta
17
+ end box
8
18
9
19
autonumber
20
+ group OSD Bootstrap
21
+ Repo -> Factory : Register custom repository
22
+ Factory -> Client : Returns repository
23
+ Client -> OSD : Returns Saved Object Client
24
+ end group
10
25
User -> Client : Create Saved Object
11
- Client -> Factory : Get Repository
12
- Factory -> Client : Returns Repository to manage Saved Objects
13
26
Client -> Repo : Create Saved Object
14
27
Repo -> Meta : Create/Update Record
15
28
Meta --> Repo : Saved Object Saved
16
29
Client -> User : Saved Object Created
17
30
User -> Client : Get Saved Object
18
- Client -> Factory : Get Repository
19
- Factory -> Client : Returns Repository to manage Saved Objects
20
31
Client -> Repo : Get Saved Object
21
32
Repo -> Meta : Fetch Saved Object from storage
22
33
Meta --> Repo : Return Saved Object
23
34
Repo -> Client : Return Saved Object
24
35
Client -> User : Saved Object Data
36
+
37
+ skinparam BoxPadding 15
25
38
@enduml
0 commit comments