Files
opencloud/docs/services/ocm/create_share_flow.md
2023-11-06 08:29:55 +01:00

65 lines
2.0 KiB
Markdown

---
title: Create Share Flow
date: 2018-05-02T00:00:00+00:00
weight: 40
geekdocRepo: https://github.com/owncloud/ocis
geekdocEditPath: edit/master/docs/services/ocm
geekdocFilePath: create_share_flow.md
geekdocCollapseSection: true
---
## OCM Create Share Flow
{{< mermaid class="text-center">}}
sequenceDiagram
box Instance A
participant osp as ocmsharesprovider
participant gwa as Gateway A
participant httpa as ocs
end
actor usera as User A
box Instance B
participant httpb as ocmd
participant gwb as Gateway B
participant ocmc as OCMCore
end
Note over usera: A shares a resource with B
usera->>+httpa: CreateShare
httpa->>+gwa: GetInfoByDomain
Note left of gwa: GetInfoByDomain<br/>(ocmproviderauthorizer)
gwa-->>-httpa: return
httpa->>+gwa: GetAcceptedUser
Note left of gwa: GetAcceptedUser<br/>(ocminvitemanager)
gwa-->>-httpa: return
httpa->>+gwa: CreateOCMShare
gwa->>+osp: CreateOCMShare
osp->>+gwa: Stat
gwa-->>-osp: return
Note left of osp: store share in repo
osp->>+httpb: POST /shares
httpb->>+gwb: IsProviderAllowed
Note right of gwb: IsProviderAllowed<br/>(ocmproviderauthorizer)
gwb-->>-httpb: return
httpb->>+gwb: GetUser
Note right of gwb: GetUser<br/>(userprovider)
gwb-->>-httpb: return
httpb->>+gwb: CreateOCMCoreShare
gwb->>+ocmc: CreateOCMCoreShare
Note right of ocmc: StoreReceivedShare
ocmc-->>-gwb: return
gwb-->>-httpb: return
httpb-->>-osp: return
osp-->>-gwa: return
gwa-->>-httpa: return
httpa->>+gwa: Stat
Note left of gwa: Stat<br/>(storageprovider)
gwa-->>-httpa: return
httpa-->>-usera: return
{{< /mermaid >}}