oklahomer/go-sarah

View on GitHub
doc/uml/components.csv

Summary

Maintainability
Test Coverage
Id,Name,Shape Library,Page ID,Contained By,Group,Line Source,Line Destination,Source Arrow,Destination Arrow,Text Area 1,Text Area 2
1,Page,,,,,,,,, Blank UML,
2,Package,UML,1,,,,,,,go-sarah,
3,Package,UML,1,,,,,,,sarah.Bot,
4,Package,UML,1,,,,,,,sarah.Commands,
5,Package,UML,1,,,,,,,workers.Worker,
6,Direct Access Storage (Hard Disk),Flowchart Shapes,1,,,,,,,chan func(),
7,Database,Flowchart Shapes,1,,,,,,,sarah.UserContextStorage,
8,Component,UML,1,,,,,,,.echo command,
9,Component,UML,1,,,,,,,.weather command,
10,Actor,UML,1,,,,,,,User,
11,Cloud,Geometric Shapes,1,,,,,,,Chat Service,
12,Circle,Geometric Shapes,1,,,,,,,,
13,Circle,Geometric Shapes,1,,,,,,,,
14,Circle,Geometric Shapes,1,,,,,,,,
15,Connector,Flowchart Shapes,1,,,,,,,A,
16,Circle,Geometric Shapes,1,,,,,,,,
17,Component,UML,1,,,,,,,Child Worker,
18,Component,UML,1,,,,,,,Child Worker,
19,Circle,Geometric Shapes,1,,,,,,,,
20,Circle,Geometric Shapes,1,,,,,,,,
21,Component,UML,1,,,,,,,workers.Reporter,
22,Package,UML,1,,,,,,,[]ScheduledTask,
23,Component,UML,1,,,,,,,alarmTask,
24,Package,UML,1,,,,,,,stashed props,
25,Package,UML,1,,,,,,,[]*CommandProps,
26,Package,UML,1,,,,,,,[]*ScheduledTaskProps,
27,Component,UML,1,,,,,,,alarmTaskProps,
28,Component,UML,1,,,,,,,echoProps,
29,Component,UML,1,,,,,,,weatherProps,
30,Actor,UML,1,,,,,,,Admin,
31,Cloud,Geometric Shapes,1,,,,,,,,
32,Object,UML,1,,,,,,,alarm.cnf,
33,Object,UML,1,,,,,,,weather.cnf,
34,Start,UML,1,,,,,,,,
35,Package,UML,1,,,,,,,sarah.scheduler,
36,DefaultNoteBlockV2,Standard,1,,,,,,,"Receive service specific message
Convert it to sarah.Input implementation",
37,DefaultNoteBlockV2,Standard,1,,,,,,,"A function provided to each Bot by go-sarah's core
to receive incoming payload and pass it to internal worker",
38,Text,Standard,1,,,,,,,Worker.Enqueue(),
39,Text,Standard,1,,,,,,,Bot.Respond(),
40,Text,Standard,1,,,,,,,cron.Cron,
41,Direct Access Storage (Hard Disk),Flowchart Shapes,1,,,,,,,chan error,
42,Package,UML,1,,,,,,,sarah.alerters,
43,Circle,Geometric Shapes,1,,,,,,,cron,
44,Cloud,Geometric Shapes,1,,,,,,,Alerting Service,
45,Text,Standard,1,,,,,,,alerters.alertAll(),
46,DefaultNoteBlockV2,Standard,1,,,,,,,"Receive critical errors
from all components",
47,Text,Standard,1,,,,,,,Commands.ExecuteFirstMatched(),
48,Text,Standard,1,,,,,,,Bot.SendMessage(),
49,DefaultNoteBlockV2,Standard,1,,,,,,,"Props is a set of arguments to build
sarah.Command or sarah.ScheduledTask
on the fly.",
50,Text,Standard,1,,,,,,,sarah.ConfigWatcher,
51,Text,Standard,1,,,,,,,,
52,Text,Standard,1,,,,,,,Replace existing task with rebuilt one,
53,Package,UML,1,,,,,,,sarah.Bot,
54,Circle,Geometric Shapes,1,,,,,,,,
55,Package,UML,1,,,,,,,sarah.Commands,
56,Database,Flowchart Shapes,1,,,,,,,sarah.UserContextStorage,
57,Circle,Geometric Shapes,1,,,,,,,,
58,Text,Standard,1,,,,,,,Bot.Respond(),
59,Circle,Geometric Shapes,1,,,,,,,,
60,Text,Standard,1,,,,,,,Commands.ExecuteFirstMatched(),
61,Text,Standard,1,,,,,,,Bot.SendMessage(),
62,Circle,Geometric Shapes,1,,,,,,,,
63,Cloud,Geometric Shapes,1,,,,,,,Chat Service,
64,Actor,UML,1,,,,,,,User,
65,Circle,Geometric Shapes,1,,,,,,,,
66,Circle,Geometric Shapes,1,,,,,,,,
67,Circle,Geometric Shapes,1,,,,,,,,
68,DefaultNoteBlockV2,Standard,1,,,,,,,"Multiple sarah.Bot instanses
can be rune in one process.",
69,DefaultNoteBlockV2,Standard,1,,,,,,,"Variety of configuration management systems can be treated
including file system, HashiCorp's Consul, LINE's Central Dogma, etc...",
70,Text,Standard,1,,,,,,,Illustration of go-sarah's Major Components,
71,DefaultNoteBlockV2,Standard,1,,,,,,,"- Receive sarah.Input
- Fetch usre's state from context storage
  - If found, execute the next step with given Input
  - If not, find corresponding command for given Input
- Call Bot.SendMessage() to send output",
72,Text,Standard,1,,,,,,,,
73,Circle,Geometric Shapes,1,,,,,,,cron,
74,Text,Standard,1,,,,,,,Update task schedule,
75,DefaultNoteBlockV2,Standard,1,,,,,,,"Manage task schedduls
While sarah.Commands are executed against user input, sarah.ScheduledTasks are executed in a scheduled manner",
76,DefaultNoteBlockV2,Standard,1,,,,,,,"Slack message, e-mail, LINE message, etc...
Anything can be used as long as the protocol is implemented by sarah.Alerter implementation.",
77,Circle,Geometric Shapes,1,,,,,,,,
78,Text,Standard,1,,,,,,,"func(BotType, error) *SupervisionDirective",
79,DefaultNoteBlockV2,Standard,1,,,,,,,"Judge if the error indicates the fatal state of the Bot, and returns how to treat such state",
80,Text,Standard,1,,,,,,,func(sarah.Input) error,
81,Line,,1,,,,12,None,Arrow,Input message,
82,Line,,1,,,12,14,None,Arrow,,
83,Line,,1,,,14,15,None,Arrow,,
84,Line,,1,,,15,16,None,Arrow,,
85,Line,,1,,,16,6,None,Arrow,,
86,Line,,1,,,6,18,None,Arrow,,
87,Line,,1,,,18,19,None,Arrow,,
88,Line,,1,,,19,54,None,Arrow,Send command's response,
89,Line,,1,,,19,20,None,Arrow,,
90,Line,,1,,,19,7,None,Arrow,,
91,Line,,1,,,54,13,None,Arrow,Send message,
92,Line,,1,,,13,,None,Arrow,Respond,
93,Line,,1,,,21,6,None,Arrow,Supervise queue length,
94,Line,,1,,,34,32,None,Arrow,Subscribe to changes,
95,Line,,1,,,34,27,None,Arrow,"Find corresponding props
to updated configuration",
96,Line,,1,,,26,52,None,None,,
97,Line,,1,,,52,23,None,Arrow,,
98,Line,,1,,,23,54,None,Arrow,,
99,Line,,1,,,,32,None,Arrow,Update configuration,
100,Line,,1,,,73,22,None,Arrow,Execute ScheduledTask,
101,Line,,1,,,36,14,None,Arrow,,
102,Line,,1,,,37,15,None,Arrow,,
103,Line,,1,,,41,77,None,Arrow,,
104,Line,,1,,,44,,None,Arrow,,
105,Line,,1,,,43,44,None,Arrow,Notify error state,
106,Line,,1,,,46,41,None,Arrow,,
107,Line,,1,,,20,8,None,Arrow,Execute,
108,Line,,1,,,71,19,None,Arrow,,
109,Line,,1,,,49,24,None,Arrow,,
110,Line,,1,,,64,64,None,None,,
111,Line,,1,,,66,65,None,Arrow,,
112,Line,,1,,,62,67,None,Arrow,,
113,Line,,1,,,18,57,None,Arrow,,
114,Line,,1,,,65,15,None,Arrow,,
115,Line,,1,,,57,62,None,Arrow,,
116,Line,,1,,,57,56,None,Arrow,,
117,Line,,1,,,57,59,None,Arrow,,
118,Line,,1,,,,66,None,Arrow,,
119,Line,,1,,,67,,None,Arrow,,
120,Line,,1,,,69,31,None,Arrow,,
121,Line,,1,,,68,53,None,Arrow,,
122,Line,,1,,,74,35,None,Arrow,,
123,Line,,1,,,26,74,None,None,,
124,Line,,1,,,75,35,None,Arrow,,
125,Line,,1,,,76,44,None,Arrow,,
126,Line,,1,,,77,43,None,Arrow,,
127,Line,,1,,,79,77,None,Arrow,,