-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
Spawn Case Actor from Report
sequenceDiagram
autonumber
actor finder as Reporter
box Coordination Service
participant inbox
participant accept_hdlr as Accept<br/>Handler
end
box Case Service
participant c_inbox as inbox
participant add as Add<br/>Handler
end
box APIv1
participant cases
end
actor coordinator as Receiver
activate accept_hdlr
note right of accept_hdlr: Case Service<br/>Initialized
accept_hdlr ->> coordinator: POST Create(Case)
activate coordinator
coordinator -->> accept_hdlr: 202 Accepted
deactivate coordinator
accept_hdlr ->> finder: POST Create(Case)
activate finder
finder -->> accept_hdlr: 202 Accepted
deactivate finder
par Add Receiver Participant
note over accept_hdlr: Create Participant(Receiver)
accept_hdlr ->> c_inbox: POST /cases/{id}/inbox<br/>Add(Participant(Receiver))
activate c_inbox
c_inbox ->> add: async handler<br/>(Add(Participant(Receiver)))
activate add
add ->> cases: POST Participant
activate cases
cases -->> add: 200 OK
deactivate cases
c_inbox -->> accept_hdlr: 202 Accepted
deactivate c_inbox
add ->> coordinator: POST Add(Participant(Receiver))
activate coordinator
coordinator -->> add: 202 Accepted
deactivate coordinator
deactivate add
and Add Finder Participant
note over accept_hdlr: Create Participant(Finder)
accept_hdlr ->> c_inbox: POST /cases/{id}/inbox<br/>Add(Participant(Finder))
activate c_inbox
c_inbox ->> add: async handler<br/>(Add(Participant(Finder)))
activate add
add ->> cases: POST Participant
activate cases
cases -->> add: 200 OK
deactivate cases
c_inbox -->> accept_hdlr: 202 Accepted
deactivate c_inbox
add ->> coordinator: POST Add(Participant(Finder))
activate coordinator
coordinator -->> add: 202 Accepted
deactivate coordinator
add ->> finder: POST Add(Participant(Finder))
activate finder
finder -->> add: 202 Accepted
deactivate finder
deactivate add
and Add Report
accept_hdlr ->> c_inbox: Add(Report)
activate c_inbox
c_inbox ->> add: async handler<br/>(Add(Report))
activate add
c_inbox -->> accept_hdlr: 200 Accepted
deactivate accept_hdlr
deactivate c_inbox
add ->> cases: POST Report
activate cases
cases -->> add: 200 OK
deactivate cases
add ->> coordinator: POST /actors/{receiver_id}/inbox<br/>Add(Report)
activate coordinator
coordinator -->> add: 200 Accepted
deactivate coordinator
add ->> finder: POST /inbox<br/>Add(Report))
activate finder
finder -->> add: 200 Accepted
deactivate finder
deactivate add
end
Metadata
Metadata
Assignees
Labels
No labels