@oneuptime/common 7.0.3471 → 7.0.3515

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/Models/DatabaseModels/{AlertLog.ts → AlertFeed.ts} +157 -33
  2. package/Models/DatabaseModels/Incident.ts +29 -0
  3. package/Models/DatabaseModels/{IncidentLog.ts → IncidentFeed.ts} +169 -37
  4. package/Models/DatabaseModels/Index.ts +6 -6
  5. package/Models/DatabaseModels/{ScheduledMaintenanceLog.ts → ScheduledMaintenanceFeed.ts} +155 -31
  6. package/Server/Infrastructure/Postgres/SchemaMigrations/1736675947746-MigrationName.ts +23 -0
  7. package/Server/Infrastructure/Postgres/SchemaMigrations/1736703138918-MigrationName.ts +29 -0
  8. package/Server/Infrastructure/Postgres/SchemaMigrations/1736780194077-MigrationName.ts +137 -0
  9. package/Server/Infrastructure/Postgres/SchemaMigrations/1736780194078-MigrationName.ts +16 -0
  10. package/Server/Infrastructure/Postgres/SchemaMigrations/1736787495707-MigrationName.ts +29 -0
  11. package/Server/Infrastructure/Postgres/SchemaMigrations/1736787985322-MigrationName.ts +83 -0
  12. package/Server/Infrastructure/Postgres/SchemaMigrations/1736788706141-MigrationName.ts +39 -0
  13. package/Server/Infrastructure/Postgres/SchemaMigrations/1736856662868-MigrationName.ts +27 -0
  14. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +16 -0
  15. package/Server/Services/AlertFeedService.ts +81 -0
  16. package/Server/Services/IncidentFeedService.ts +89 -0
  17. package/Server/Services/IncidentInternalNoteService.ts +28 -0
  18. package/Server/Services/IncidentOwnerTeamService.ts +112 -0
  19. package/Server/Services/IncidentOwnerUserService.ts +114 -0
  20. package/Server/Services/IncidentPublicNoteService.ts +26 -0
  21. package/Server/Services/IncidentService.ts +199 -2
  22. package/Server/Services/IncidentStateTimelineService.ts +43 -19
  23. package/Server/Services/Index.ts +7 -0
  24. package/Server/Services/OnCallDutyPolicyExecutionLogService.ts +116 -1
  25. package/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.ts +169 -0
  26. package/Server/Services/ScheduledMaintenanceFeedService.ts +83 -0
  27. package/Server/Services/UserOnCallLogService.ts +2 -2
  28. package/Tests/Types/Database/ColumnLength.test.ts +1 -1
  29. package/Types/Database/ColumnLength.ts +1 -1
  30. package/Types/Database/LimitMax.ts +1 -1
  31. package/Types/Icon/IconProp.ts +1 -0
  32. package/Types/Permission.ts +32 -32
  33. package/UI/Components/CategoryCheckbox/Index.tsx +1 -1
  34. package/UI/Components/CustomFields/CustomFieldsDetail.tsx +3 -3
  35. package/UI/Components/ErrorMessage/ErrorMessage.tsx +2 -2
  36. package/UI/Components/Feed/Feed.tsx +31 -0
  37. package/UI/Components/Feed/FeedItem.tsx +176 -0
  38. package/UI/Components/Filters/FilterViewer.tsx +1 -1
  39. package/UI/Components/Filters/FiltersForm.tsx +8 -1
  40. package/UI/Components/Filters/NumberFilter.tsx +58 -0
  41. package/UI/Components/FormModal/BasicFormModal.tsx +1 -1
  42. package/UI/Components/Forms/BasicForm.tsx +1 -1
  43. package/UI/Components/Icon/Icon.tsx +16 -0
  44. package/UI/Components/InfoCard/InfoCard.tsx +1 -3
  45. package/UI/Components/List/List.tsx +2 -2
  46. package/UI/Components/LogsViewer/LogsViewer.tsx +1 -1
  47. package/UI/Components/ModelDetail/ModelDetail.tsx +1 -1
  48. package/UI/Components/ModelList/ModelList.tsx +2 -2
  49. package/UI/Components/ModelProgress/ModelProgress.tsx +1 -1
  50. package/UI/Components/ModelTable/BaseModelTable.tsx +7 -3
  51. package/UI/Components/MonitorGraphs/Uptime.tsx +1 -1
  52. package/UI/Components/OrderedStatesList/OrderedStatesList.tsx +5 -2
  53. package/UI/Components/Page/Page.tsx +1 -1
  54. package/UI/Components/ProgressButtons/ProgressButtonItem.tsx +107 -0
  55. package/UI/Components/ProgressButtons/ProgressButtons.tsx +88 -0
  56. package/UI/Components/QR/QR.tsx +1 -1
  57. package/UI/Components/Table/Table.tsx +2 -2
  58. package/UI/Components/Workflow/ArgumentsForm.tsx +1 -1
  59. package/UI/Components/Workflow/ComponentArgumentsViewer.tsx +1 -1
  60. package/UI/Components/Workflow/ComponentPortViewer.tsx +1 -1
  61. package/UI/Components/Workflow/ComponentReturnValueViewer.tsx +1 -1
  62. package/UI/Components/Workflow/ComponentValuePickerModal.tsx +3 -3
  63. package/UI/Components/Workflow/ComponentsModal.tsx +1 -1
  64. package/UI/Components/Workflow/DocumentationViewer.tsx +1 -1
  65. package/UI/Components/Workflow/RunForm.tsx +1 -1
  66. package/UI/Components/Workflow/RunModal.tsx +1 -1
  67. package/UI/Utils/User.ts +1 -1
  68. package/UI/index.d.ts +4 -0
  69. package/build/dist/Models/DatabaseModels/{AlertLog.js → AlertFeed.js} +184 -57
  70. package/build/dist/Models/DatabaseModels/AlertFeed.js.map +1 -0
  71. package/build/dist/Models/DatabaseModels/Incident.js +31 -0
  72. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  73. package/build/dist/Models/DatabaseModels/{IncidentLog.js → IncidentFeed.js} +192 -57
  74. package/build/dist/Models/DatabaseModels/IncidentFeed.js.map +1 -0
  75. package/build/dist/Models/DatabaseModels/Index.js +6 -6
  76. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  77. package/build/dist/Models/DatabaseModels/{ScheduledMaintenanceLog.js → ScheduledMaintenanceFeed.js} +182 -55
  78. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceFeed.js.map +1 -0
  79. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736675947746-MigrationName.js +14 -0
  80. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736675947746-MigrationName.js.map +1 -0
  81. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736703138918-MigrationName.js +16 -0
  82. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736703138918-MigrationName.js.map +1 -0
  83. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736780194077-MigrationName.js +54 -0
  84. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736780194077-MigrationName.js.map +1 -0
  85. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736780194078-MigrationName.js +15 -0
  86. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736780194078-MigrationName.js.map +1 -0
  87. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736787495707-MigrationName.js +16 -0
  88. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736787495707-MigrationName.js.map +1 -0
  89. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736787985322-MigrationName.js +34 -0
  90. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736787985322-MigrationName.js.map +1 -0
  91. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736788706141-MigrationName.js +22 -0
  92. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736788706141-MigrationName.js.map +1 -0
  93. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736856662868-MigrationName.js +16 -0
  94. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736856662868-MigrationName.js.map +1 -0
  95. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +16 -0
  96. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  97. package/build/dist/Server/Services/AlertFeedService.js +54 -0
  98. package/build/dist/Server/Services/AlertFeedService.js.map +1 -0
  99. package/build/dist/Server/Services/IncidentFeedService.js +60 -0
  100. package/build/dist/Server/Services/IncidentFeedService.js.map +1 -0
  101. package/build/dist/Server/Services/IncidentInternalNoteService.js +19 -0
  102. package/build/dist/Server/Services/IncidentInternalNoteService.js.map +1 -1
  103. package/build/dist/Server/Services/IncidentOwnerTeamService.js +86 -0
  104. package/build/dist/Server/Services/IncidentOwnerTeamService.js.map +1 -1
  105. package/build/dist/Server/Services/IncidentOwnerUserService.js +89 -0
  106. package/build/dist/Server/Services/IncidentOwnerUserService.js.map +1 -1
  107. package/build/dist/Server/Services/IncidentPublicNoteService.js +19 -0
  108. package/build/dist/Server/Services/IncidentPublicNoteService.js.map +1 -1
  109. package/build/dist/Server/Services/IncidentService.js +167 -6
  110. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  111. package/build/dist/Server/Services/IncidentStateTimelineService.js +37 -15
  112. package/build/dist/Server/Services/IncidentStateTimelineService.js.map +1 -1
  113. package/build/dist/Server/Services/Index.js +6 -0
  114. package/build/dist/Server/Services/Index.js.map +1 -1
  115. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogService.js +93 -0
  116. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogService.js.map +1 -1
  117. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.js +129 -0
  118. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.js.map +1 -1
  119. package/build/dist/Server/Services/ScheduledMaintenanceFeedService.js +57 -0
  120. package/build/dist/Server/Services/ScheduledMaintenanceFeedService.js.map +1 -0
  121. package/build/dist/Server/Services/UserOnCallLogService.js +2 -2
  122. package/build/dist/Server/Services/UserOnCallLogService.js.map +1 -1
  123. package/build/dist/Tests/Types/Database/ColumnLength.test.js +1 -1
  124. package/build/dist/Tests/Types/Database/ColumnLength.test.js.map +1 -1
  125. package/build/dist/Types/Database/ColumnLength.js +1 -1
  126. package/build/dist/Types/Database/ColumnLength.js.map +1 -1
  127. package/build/dist/Types/Database/LimitMax.js +1 -1
  128. package/build/dist/Types/Database/LimitMax.js.map +1 -1
  129. package/build/dist/Types/Icon/IconProp.js +1 -0
  130. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  131. package/build/dist/Types/Permission.js +32 -32
  132. package/build/dist/Types/Permission.js.map +1 -1
  133. package/build/dist/UI/Components/CategoryCheckbox/Index.js +1 -1
  134. package/build/dist/UI/Components/CategoryCheckbox/Index.js.map +1 -1
  135. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js +3 -3
  136. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js.map +1 -1
  137. package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js +1 -1
  138. package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js.map +1 -1
  139. package/build/dist/UI/Components/Feed/Feed.js +14 -0
  140. package/build/dist/UI/Components/Feed/Feed.js.map +1 -0
  141. package/build/dist/UI/Components/Feed/FeedItem.js +67 -0
  142. package/build/dist/UI/Components/Feed/FeedItem.js.map +1 -0
  143. package/build/dist/UI/Components/Filters/FilterViewer.js +1 -1
  144. package/build/dist/UI/Components/Filters/FilterViewer.js.map +1 -1
  145. package/build/dist/UI/Components/Filters/FiltersForm.js +3 -1
  146. package/build/dist/UI/Components/Filters/FiltersForm.js.map +1 -1
  147. package/build/dist/UI/Components/Filters/NumberFilter.js +29 -0
  148. package/build/dist/UI/Components/Filters/NumberFilter.js.map +1 -0
  149. package/build/dist/UI/Components/FormModal/BasicFormModal.js +1 -1
  150. package/build/dist/UI/Components/FormModal/BasicFormModal.js.map +1 -1
  151. package/build/dist/UI/Components/Forms/BasicForm.js +1 -1
  152. package/build/dist/UI/Components/Forms/BasicForm.js.map +1 -1
  153. package/build/dist/UI/Components/Icon/Icon.js +6 -0
  154. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  155. package/build/dist/UI/Components/InfoCard/InfoCard.js +1 -1
  156. package/build/dist/UI/Components/InfoCard/InfoCard.js.map +1 -1
  157. package/build/dist/UI/Components/List/List.js +2 -2
  158. package/build/dist/UI/Components/List/List.js.map +1 -1
  159. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +1 -1
  160. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  161. package/build/dist/UI/Components/ModelDetail/ModelDetail.js +1 -1
  162. package/build/dist/UI/Components/ModelDetail/ModelDetail.js.map +1 -1
  163. package/build/dist/UI/Components/ModelList/ModelList.js +2 -2
  164. package/build/dist/UI/Components/ModelList/ModelList.js.map +1 -1
  165. package/build/dist/UI/Components/ModelProgress/ModelProgress.js +1 -1
  166. package/build/dist/UI/Components/ModelProgress/ModelProgress.js.map +1 -1
  167. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +6 -3
  168. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  169. package/build/dist/UI/Components/MonitorGraphs/Uptime.js +1 -1
  170. package/build/dist/UI/Components/MonitorGraphs/Uptime.js.map +1 -1
  171. package/build/dist/UI/Components/OrderedStatesList/OrderedStatesList.js +2 -2
  172. package/build/dist/UI/Components/OrderedStatesList/OrderedStatesList.js.map +1 -1
  173. package/build/dist/UI/Components/Page/Page.js +1 -1
  174. package/build/dist/UI/Components/Page/Page.js.map +1 -1
  175. package/build/dist/UI/Components/ProgressButtons/ProgressButtonItem.js +26 -0
  176. package/build/dist/UI/Components/ProgressButtons/ProgressButtonItem.js.map +1 -0
  177. package/build/dist/UI/Components/ProgressButtons/ProgressButtons.js +36 -0
  178. package/build/dist/UI/Components/ProgressButtons/ProgressButtons.js.map +1 -0
  179. package/build/dist/UI/Components/QR/QR.js +1 -1
  180. package/build/dist/UI/Components/QR/QR.js.map +1 -1
  181. package/build/dist/UI/Components/Table/Table.js +2 -2
  182. package/build/dist/UI/Components/Table/Table.js.map +1 -1
  183. package/build/dist/UI/Components/Workflow/ArgumentsForm.js +1 -1
  184. package/build/dist/UI/Components/Workflow/ArgumentsForm.js.map +1 -1
  185. package/build/dist/UI/Components/Workflow/ComponentArgumentsViewer.js +1 -1
  186. package/build/dist/UI/Components/Workflow/ComponentArgumentsViewer.js.map +1 -1
  187. package/build/dist/UI/Components/Workflow/ComponentPortViewer.js +1 -1
  188. package/build/dist/UI/Components/Workflow/ComponentPortViewer.js.map +1 -1
  189. package/build/dist/UI/Components/Workflow/ComponentReturnValueViewer.js +1 -1
  190. package/build/dist/UI/Components/Workflow/ComponentReturnValueViewer.js.map +1 -1
  191. package/build/dist/UI/Components/Workflow/ComponentValuePickerModal.js +3 -3
  192. package/build/dist/UI/Components/Workflow/ComponentValuePickerModal.js.map +1 -1
  193. package/build/dist/UI/Components/Workflow/ComponentsModal.js +1 -1
  194. package/build/dist/UI/Components/Workflow/ComponentsModal.js.map +1 -1
  195. package/build/dist/UI/Components/Workflow/DocumentationViewer.js +1 -1
  196. package/build/dist/UI/Components/Workflow/DocumentationViewer.js.map +1 -1
  197. package/build/dist/UI/Components/Workflow/RunForm.js +1 -1
  198. package/build/dist/UI/Components/Workflow/RunForm.js.map +1 -1
  199. package/build/dist/UI/Components/Workflow/RunModal.js +1 -1
  200. package/build/dist/UI/Components/Workflow/RunModal.js.map +1 -1
  201. package/build/dist/UI/Utils/User.js +1 -1
  202. package/build/dist/UI/Utils/User.js.map +1 -1
  203. package/package.json +2 -2
  204. package/UI/Components/Filters/FilterModal.tsx +0 -0
  205. package/build/dist/Models/DatabaseModels/AlertLog.js.map +0 -1
  206. package/build/dist/Models/DatabaseModels/IncidentLog.js.map +0 -1
  207. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceLog.js.map +0 -1
  208. package/build/dist/UI/Components/Filters/FilterModal.js +0 -2
  209. package/build/dist/UI/Components/Filters/FilterModal.js.map +0 -1
@@ -18,15 +18,25 @@ import IconProp from "../../Types/Icon/IconProp";
18
18
  import ObjectID from "../../Types/ObjectID";
19
19
  import Permission from "../../Types/Permission";
20
20
  import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
21
+ import Color from "../../Types/Color";
22
+ import ColumnLength from "../../Types/Database/ColumnLength";
21
23
 
22
- export enum IncidentLogEvent {
24
+ export enum IncidentFeedEventType {
23
25
  PublicNote = "PublicNote",
24
- SubscriberEmailSent = "SubscriberEmailSent",
25
- OwnerEmailSent = "OwnerEmailSent",
26
+ SubscriberNotificationSent = "SubscriberNotificationSent",
27
+ OwnerNotificationSent = "OwnerNotificationSent",
28
+ OwnerUserAdded = "OwnerUserAdded",
29
+ OwnerTeamAdded = "OwnerTeamAdded",
26
30
  IncidentCreated = "IncidentCreated",
27
- IncidentAcknowledged = "IncidentAcknowledged",
28
- IncidentResolved = "IncidentResolved",
31
+ IncidentStateChanged = "IncidentStateChanged",
29
32
  PrivateNote = "PrivateNote",
33
+ IncidentUpdated = "IncidentUpdated",
34
+ RootCause = "RootCause",
35
+ RemediationNotes = "RemediationNotes",
36
+ OwnerUserRemoved = "OwnerUserRemoved",
37
+ OwnerTeamRemoved = "OwnerTeamRemoved",
38
+ OnCallPolicy = "OnCallPolicy",
39
+ OnCallNotification = "OnCallNotification",
30
40
  }
31
41
 
32
42
  @EnableDocumentation()
@@ -37,13 +47,13 @@ export enum IncidentLogEvent {
37
47
  Permission.ProjectOwner,
38
48
  Permission.ProjectAdmin,
39
49
  Permission.ProjectMember,
40
- Permission.CreateIncidentLog,
50
+ Permission.CreateIncidentFeed,
41
51
  ],
42
52
  read: [
43
53
  Permission.ProjectOwner,
44
54
  Permission.ProjectAdmin,
45
55
  Permission.ProjectMember,
46
- Permission.ReadIncidentLog,
56
+ Permission.ReadIncidentFeed,
47
57
  ],
48
58
  delete: [],
49
59
  update: [],
@@ -54,31 +64,31 @@ export enum IncidentLogEvent {
54
64
  update: true,
55
65
  read: true,
56
66
  })
57
- @CrudApiEndpoint(new Route("/incident-log"))
67
+ @CrudApiEndpoint(new Route("/incident-feed"))
58
68
  @Entity({
59
- name: "IncidentLog",
69
+ name: "IncidentFeed",
60
70
  })
61
71
  @TableMetadata({
62
- tableName: "IncidentLog",
63
- singularName: "Incident Log",
64
- pluralName: "Incident Logs",
72
+ tableName: "IncidentFeed",
73
+ singularName: "Incident Feed",
74
+ pluralName: "Incident Feeds",
65
75
  icon: IconProp.List,
66
76
  tableDescription:
67
77
  "Log of the entire incident state change. This is a log of all the incident state changes, public notes, more etc.",
68
78
  })
69
- export default class IncidentLog extends BaseModel {
79
+ export default class IncidentFeed extends BaseModel {
70
80
  @ColumnAccessControl({
71
81
  create: [
72
82
  Permission.ProjectOwner,
73
83
  Permission.ProjectAdmin,
74
84
  Permission.ProjectMember,
75
- Permission.CreateIncidentLog,
85
+ Permission.CreateIncidentFeed,
76
86
  ],
77
87
  read: [
78
88
  Permission.ProjectOwner,
79
89
  Permission.ProjectAdmin,
80
90
  Permission.ProjectMember,
81
- Permission.ReadIncidentLog,
91
+ Permission.ReadIncidentFeed,
82
92
  ],
83
93
  update: [],
84
94
  })
@@ -108,13 +118,13 @@ export default class IncidentLog extends BaseModel {
108
118
  Permission.ProjectOwner,
109
119
  Permission.ProjectAdmin,
110
120
  Permission.ProjectMember,
111
- Permission.CreateIncidentLog,
121
+ Permission.CreateIncidentFeed,
112
122
  ],
113
123
  read: [
114
124
  Permission.ProjectOwner,
115
125
  Permission.ProjectAdmin,
116
126
  Permission.ProjectMember,
117
- Permission.ReadIncidentLog,
127
+ Permission.ReadIncidentFeed,
118
128
  ],
119
129
  update: [],
120
130
  })
@@ -138,13 +148,13 @@ export default class IncidentLog extends BaseModel {
138
148
  Permission.ProjectOwner,
139
149
  Permission.ProjectAdmin,
140
150
  Permission.ProjectMember,
141
- Permission.CreateIncidentLog,
151
+ Permission.CreateIncidentFeed,
142
152
  ],
143
153
  read: [
144
154
  Permission.ProjectOwner,
145
155
  Permission.ProjectAdmin,
146
156
  Permission.ProjectMember,
147
- Permission.ReadIncidentLog,
157
+ Permission.ReadIncidentFeed,
148
158
  ],
149
159
  update: [],
150
160
  })
@@ -174,13 +184,13 @@ export default class IncidentLog extends BaseModel {
174
184
  Permission.ProjectOwner,
175
185
  Permission.ProjectAdmin,
176
186
  Permission.ProjectMember,
177
- Permission.CreateIncidentLog,
187
+ Permission.CreateIncidentFeed,
178
188
  ],
179
189
  read: [
180
190
  Permission.ProjectOwner,
181
191
  Permission.ProjectAdmin,
182
192
  Permission.ProjectMember,
183
- Permission.ReadIncidentLog,
193
+ Permission.ReadIncidentFeed,
184
194
  ],
185
195
  update: [],
186
196
  })
@@ -203,13 +213,13 @@ export default class IncidentLog extends BaseModel {
203
213
  Permission.ProjectOwner,
204
214
  Permission.ProjectAdmin,
205
215
  Permission.ProjectMember,
206
- Permission.CreateIncidentLog,
216
+ Permission.CreateIncidentFeed,
207
217
  ],
208
218
  read: [
209
219
  Permission.ProjectOwner,
210
220
  Permission.ProjectAdmin,
211
221
  Permission.ProjectMember,
212
- Permission.ReadIncidentLog,
222
+ Permission.ReadIncidentFeed,
213
223
  ],
214
224
  update: [],
215
225
  })
@@ -240,13 +250,13 @@ export default class IncidentLog extends BaseModel {
240
250
  Permission.ProjectOwner,
241
251
  Permission.ProjectAdmin,
242
252
  Permission.ProjectMember,
243
- Permission.CreateIncidentLog,
253
+ Permission.CreateIncidentFeed,
244
254
  ],
245
255
  read: [
246
256
  Permission.ProjectOwner,
247
257
  Permission.ProjectAdmin,
248
258
  Permission.ProjectMember,
249
- Permission.ReadIncidentLog,
259
+ Permission.ReadIncidentFeed,
250
260
  ],
251
261
  update: [],
252
262
  })
@@ -313,13 +323,13 @@ export default class IncidentLog extends BaseModel {
313
323
  Permission.ProjectOwner,
314
324
  Permission.ProjectAdmin,
315
325
  Permission.ProjectMember,
316
- Permission.CreateIncidentLog,
326
+ Permission.CreateIncidentFeed,
317
327
  ],
318
328
  read: [
319
329
  Permission.ProjectOwner,
320
330
  Permission.ProjectAdmin,
321
331
  Permission.ProjectMember,
322
- Permission.ReadIncidentLog,
332
+ Permission.ReadIncidentFeed,
323
333
  ],
324
334
  update: [],
325
335
  })
@@ -334,32 +344,32 @@ export default class IncidentLog extends BaseModel {
334
344
  nullable: false,
335
345
  unique: false,
336
346
  })
337
- public logInMarkdown?: string = undefined;
347
+ public feedInfoInMarkdown?: string = undefined;
338
348
 
339
349
  @ColumnAccessControl({
340
350
  create: [
341
351
  Permission.ProjectOwner,
342
352
  Permission.ProjectAdmin,
343
353
  Permission.ProjectMember,
344
- Permission.CreateIncidentLog,
354
+ Permission.CreateIncidentFeed,
345
355
  ],
346
356
  read: [
347
357
  Permission.ProjectOwner,
348
358
  Permission.ProjectAdmin,
349
359
  Permission.ProjectMember,
350
- Permission.ReadIncidentLog,
360
+ Permission.ReadIncidentFeed,
351
361
  ],
352
362
  update: [],
353
363
  })
354
364
  @TableColumn({
355
365
  type: TableColumnType.Markdown,
356
- required: true,
366
+ required: false,
357
367
  title: "More Information (in Markdown)",
358
368
  description: "More information in Markdown",
359
369
  })
360
370
  @Column({
361
371
  type: ColumnType.Markdown,
362
- nullable: false,
372
+ nullable: true,
363
373
  unique: false,
364
374
  })
365
375
  public moreInformationInMarkdown?: string = undefined;
@@ -369,26 +379,148 @@ export default class IncidentLog extends BaseModel {
369
379
  Permission.ProjectOwner,
370
380
  Permission.ProjectAdmin,
371
381
  Permission.ProjectMember,
372
- Permission.CreateIncidentLog,
382
+ Permission.CreateIncidentFeed,
373
383
  ],
374
384
  read: [
375
385
  Permission.ProjectOwner,
376
386
  Permission.ProjectAdmin,
377
387
  Permission.ProjectMember,
378
- Permission.ReadIncidentLog,
388
+ Permission.ReadIncidentFeed,
379
389
  ],
380
390
  update: [],
381
391
  })
382
392
  @TableColumn({
383
393
  type: TableColumnType.ShortText,
384
394
  required: true,
385
- title: "Incident Log Event",
386
- description: "Incident Log Event",
395
+ title: "Incident Feed Event",
396
+ description: "Incident Feed Event",
387
397
  })
388
398
  @Column({
389
399
  type: ColumnType.ShortText,
390
400
  nullable: false,
391
401
  unique: false,
392
402
  })
393
- public incidentLogEvent?: IncidentLogEvent = undefined;
403
+ public incidentFeedEventType?: IncidentFeedEventType = undefined;
404
+
405
+ @ColumnAccessControl({
406
+ create: [
407
+ Permission.ProjectOwner,
408
+ Permission.ProjectAdmin,
409
+ Permission.ProjectMember,
410
+ Permission.CreateIncidentFeed,
411
+ ],
412
+ read: [
413
+ Permission.ProjectOwner,
414
+ Permission.ProjectAdmin,
415
+ Permission.ProjectMember,
416
+ Permission.ReadIncidentFeed,
417
+ ],
418
+ update: [],
419
+ })
420
+ @TableColumn({
421
+ type: TableColumnType.Color,
422
+ required: true,
423
+ title: "Color",
424
+ description: "Display color for the incident log",
425
+ })
426
+ @Column({
427
+ type: ColumnType.Color,
428
+ length: ColumnLength.Color,
429
+ nullable: false,
430
+ unique: false,
431
+ transformer: Color.getDatabaseTransformer(),
432
+ })
433
+ public displayColor?: Color = undefined;
434
+
435
+ @ColumnAccessControl({
436
+ create: [
437
+ Permission.ProjectOwner,
438
+ Permission.ProjectAdmin,
439
+ Permission.ProjectMember,
440
+ Permission.CreateScheduledMaintenanceFeed,
441
+ ],
442
+ read: [
443
+ Permission.ProjectOwner,
444
+ Permission.ProjectAdmin,
445
+ Permission.ProjectMember,
446
+ Permission.ReadScheduledMaintenanceFeed,
447
+ ],
448
+ update: [],
449
+ })
450
+ @TableColumn({
451
+ manyToOneRelationColumn: "userId",
452
+ type: TableColumnType.Entity,
453
+ modelType: User,
454
+ title: "User",
455
+ description:
456
+ "Relation to User who this feed belongs to (if this feed belongs to a User)",
457
+ })
458
+ @ManyToOne(
459
+ () => {
460
+ return User;
461
+ },
462
+ {
463
+ eager: false,
464
+ nullable: true,
465
+ onDelete: "SET NULL",
466
+ orphanedRowAction: "nullify",
467
+ },
468
+ )
469
+ @JoinColumn({ name: "userId" })
470
+ public user?: User = undefined;
471
+
472
+ @ColumnAccessControl({
473
+ create: [
474
+ Permission.ProjectOwner,
475
+ Permission.ProjectAdmin,
476
+ Permission.ProjectMember,
477
+ Permission.CreateScheduledMaintenanceFeed,
478
+ ],
479
+ read: [
480
+ Permission.ProjectOwner,
481
+ Permission.ProjectAdmin,
482
+ Permission.ProjectMember,
483
+ Permission.ReadScheduledMaintenanceFeed,
484
+ ],
485
+ update: [],
486
+ })
487
+ @TableColumn({
488
+ type: TableColumnType.ObjectID,
489
+ title: "User ID",
490
+ description:
491
+ "User who this feed belongs to (if this feed belongs to a User)",
492
+ })
493
+ @Column({
494
+ type: ColumnType.ObjectID,
495
+ nullable: true,
496
+ transformer: ObjectID.getDatabaseTransformer(),
497
+ })
498
+ public userId?: ObjectID = undefined;
499
+
500
+ @ColumnAccessControl({
501
+ create: [
502
+ Permission.ProjectOwner,
503
+ Permission.ProjectAdmin,
504
+ Permission.ProjectMember,
505
+ Permission.CreateScheduledMaintenanceFeed,
506
+ ],
507
+ read: [
508
+ Permission.ProjectOwner,
509
+ Permission.ProjectAdmin,
510
+ Permission.ProjectMember,
511
+ Permission.ReadScheduledMaintenanceFeed,
512
+ ],
513
+ update: [],
514
+ })
515
+ @TableColumn({
516
+ title: "Feed Posted At",
517
+ description: "Date and time when the feed was posted",
518
+ type: TableColumnType.Date,
519
+ })
520
+ @Column({
521
+ type: ColumnType.Date,
522
+ nullable: true,
523
+ unique: false,
524
+ })
525
+ public postedAt?: Date = undefined;
394
526
  }
@@ -20,7 +20,7 @@ import GreenlockCertificate from "./GreenlockCertificate";
20
20
  import GreenlockChallenge from "./GreenlockChallenge";
21
21
  // Incidents
22
22
  import Incident from "./Incident";
23
- import IncidentLog from "./IncidentLog";
23
+ import IncidentFeed from "./IncidentFeed";
24
24
  import IncidentCustomField from "./IncidentCustomField";
25
25
  import IncidentInternalNote from "./IncidentInternalNote";
26
26
  import IncidentNoteTemplate from "./IncidentNoteTemplate";
@@ -153,13 +153,13 @@ import AlertOwnerTeam from "./AlertOwnerTeam";
153
153
  import AlertOwnerUser from "./AlertOwnerUser";
154
154
  import AlertSeverity from "./AlertSeverity";
155
155
  import AlertNoteTemplate from "./AlertNoteTemplate";
156
- import AlertLog from "./AlertLog";
156
+ import AlertFeed from "./AlertFeed";
157
157
 
158
158
  import TableView from "./TableView";
159
159
  import Dashboard from "./Dashboard";
160
160
 
161
161
  import MonitorTest from "./MonitorTest";
162
- import ScheduledMaintenanceLog from "./ScheduledMaintenanceLog";
162
+ import ScheduledMaintenanceFeed from "./ScheduledMaintenanceFeed";
163
163
 
164
164
  const AllModelTypes: Array<{
165
165
  new (): BaseModel;
@@ -192,7 +192,7 @@ const AllModelTypes: Array<{
192
192
 
193
193
  IncidentState,
194
194
  Incident,
195
- IncidentLog,
195
+ IncidentFeed,
196
196
  IncidentCustomField,
197
197
  IncidentStateTimeline,
198
198
  IncidentInternalNote,
@@ -207,7 +207,7 @@ const AllModelTypes: Array<{
207
207
 
208
208
  AlertState,
209
209
  Alert,
210
- AlertLog,
210
+ AlertFeed,
211
211
  AlertCustomField,
212
212
  AlertStateTimeline,
213
213
  AlertInternalNote,
@@ -239,7 +239,7 @@ const AllModelTypes: Array<{
239
239
  ScheduledMaintenancePublicNote,
240
240
  ScheduledMaintenanceInternalNote,
241
241
  ScheduledMaintenanceCustomField,
242
- ScheduledMaintenanceLog,
242
+ ScheduledMaintenanceFeed,
243
243
 
244
244
  BillingPaymentMethods,
245
245
  BillingInvoice,