-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathappFlow.puml
66 lines (56 loc) · 1.59 KB
/
appFlow.puml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
@startuml
title RingCentral Trello Notification App
autonumber
control "DynamoDb" as DB
control "Server" as SERVER
control "Glip" as G
control "Config App" as APP
control "Trello API" as T
group setup
group new rc webhook
G -> SERVER: select a conversation and upload rc webhook uri
activate SERVER
SERVER --> APP: save rc webhook uri to app
deactivate SERVER
end
group authorization
APP -> T: Trello user sign in and authorize app
activate T
T --> APP: grant token
deactivate T
APP -> SERVER: send token and request jwt (TrelloUser id)
activate SERVER
SERVER --> APP: return jwt (TrelloUser id)
SERVER -->o DB: save TrelloUser
deactivate SERVER
end
group configure
APP -> APP: select board, filter
APP -> T: submit config to create Trello webhook
activate T
T --> APP: return Trello webhook id
deactivate T
APP -> SERVER: send Trello webhook id
activate SERVER
SERVER -->o DB: save RcWebhook and TrelloWebhook
deactivate SERVER
end
end
group revoke
APP -> SERVER: revoke
activate SERVER
SERVER -->o DB: clear TrelloUser token
SERVER --> T: delete TrelloUser token and webhooks
deactivate SERVER
end
group notification
T -> SERVER: Trello webhook id and board notification
activate SERVER
SERVER -> DB: query Trello webhook id
activate DB
DB --> SERVER: return TrelloWebhook entity
deactivate DB
SERVER -> G: filter and send notification to rc webhook uri
deactivate SERVER
end
@enduml