@oneuptime/common 7.0.3480 → 7.0.3517

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 +6 -1
  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/1736703138918-MigrationName.ts +29 -0
  7. package/Server/Infrastructure/Postgres/SchemaMigrations/1736780194077-MigrationName.ts +137 -0
  8. package/Server/Infrastructure/Postgres/SchemaMigrations/1736780194078-MigrationName.ts +16 -0
  9. package/Server/Infrastructure/Postgres/SchemaMigrations/1736787495707-MigrationName.ts +29 -0
  10. package/Server/Infrastructure/Postgres/SchemaMigrations/1736787985322-MigrationName.ts +83 -0
  11. package/Server/Infrastructure/Postgres/SchemaMigrations/1736788706141-MigrationName.ts +39 -0
  12. package/Server/Infrastructure/Postgres/SchemaMigrations/1736856662868-MigrationName.ts +27 -0
  13. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +14 -0
  14. package/Server/Services/AlertFeedService.ts +81 -0
  15. package/Server/Services/IncidentFeedService.ts +89 -0
  16. package/Server/Services/IncidentInternalNoteService.ts +28 -0
  17. package/Server/Services/IncidentOwnerTeamService.ts +112 -0
  18. package/Server/Services/IncidentOwnerUserService.ts +114 -0
  19. package/Server/Services/IncidentPublicNoteService.ts +26 -0
  20. package/Server/Services/IncidentService.ts +121 -0
  21. package/Server/Services/IncidentStateTimelineService.ts +43 -19
  22. package/Server/Services/Index.ts +6 -6
  23. package/Server/Services/OnCallDutyPolicyExecutionLogService.ts +116 -1
  24. package/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.ts +169 -0
  25. package/Server/Services/ScheduledMaintenanceFeedService.ts +83 -0
  26. package/Server/Services/UserOnCallLogService.ts +2 -2
  27. package/Tests/Types/Database/ColumnLength.test.ts +1 -1
  28. package/Types/Database/ColumnLength.ts +1 -1
  29. package/Types/Database/LimitMax.ts +1 -1
  30. package/Types/Icon/IconProp.ts +1 -0
  31. package/Types/Permission.ts +32 -32
  32. package/UI/Components/CategoryCheckbox/Index.tsx +1 -1
  33. package/UI/Components/CustomFields/CustomFieldsDetail.tsx +3 -3
  34. package/UI/Components/ErrorMessage/ErrorMessage.tsx +2 -2
  35. package/UI/Components/Feed/Feed.tsx +31 -0
  36. package/UI/Components/Feed/FeedItem.tsx +176 -0
  37. package/UI/Components/Filters/FilterViewer.tsx +1 -1
  38. package/UI/Components/Filters/FiltersForm.tsx +1 -1
  39. package/UI/Components/FormModal/BasicFormModal.tsx +1 -1
  40. package/UI/Components/Forms/BasicForm.tsx +1 -1
  41. package/UI/Components/Icon/Icon.tsx +16 -0
  42. package/UI/Components/InfoCard/InfoCard.tsx +1 -3
  43. package/UI/Components/List/List.tsx +2 -2
  44. package/UI/Components/LogsViewer/LogsViewer.tsx +1 -1
  45. package/UI/Components/ModelDetail/ModelDetail.tsx +1 -1
  46. package/UI/Components/ModelList/ModelList.tsx +2 -2
  47. package/UI/Components/ModelProgress/ModelProgress.tsx +1 -1
  48. package/UI/Components/ModelTable/BaseModelTable.tsx +3 -3
  49. package/UI/Components/MonitorGraphs/Uptime.tsx +1 -1
  50. package/UI/Components/OrderedStatesList/OrderedStatesList.tsx +5 -2
  51. package/UI/Components/Page/Page.tsx +1 -1
  52. package/UI/Components/ProgressButtons/ProgressButtonItem.tsx +107 -0
  53. package/UI/Components/ProgressButtons/ProgressButtons.tsx +88 -0
  54. package/UI/Components/QR/QR.tsx +1 -1
  55. package/UI/Components/Table/Table.tsx +2 -2
  56. package/UI/Components/Workflow/ArgumentsForm.tsx +1 -1
  57. package/UI/Components/Workflow/ComponentArgumentsViewer.tsx +1 -1
  58. package/UI/Components/Workflow/ComponentPortViewer.tsx +1 -1
  59. package/UI/Components/Workflow/ComponentReturnValueViewer.tsx +1 -1
  60. package/UI/Components/Workflow/ComponentValuePickerModal.tsx +3 -3
  61. package/UI/Components/Workflow/ComponentsModal.tsx +1 -1
  62. package/UI/Components/Workflow/DocumentationViewer.tsx +1 -1
  63. package/UI/Components/Workflow/RunForm.tsx +1 -1
  64. package/UI/Components/Workflow/RunModal.tsx +1 -1
  65. package/UI/Utils/User.ts +1 -1
  66. package/UI/index.d.ts +4 -0
  67. package/build/dist/Models/DatabaseModels/{AlertLog.js → AlertFeed.js} +184 -57
  68. package/build/dist/Models/DatabaseModels/AlertFeed.js.map +1 -0
  69. package/build/dist/Models/DatabaseModels/Incident.js +6 -1
  70. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  71. package/build/dist/Models/DatabaseModels/{IncidentLog.js → IncidentFeed.js} +192 -57
  72. package/build/dist/Models/DatabaseModels/IncidentFeed.js.map +1 -0
  73. package/build/dist/Models/DatabaseModels/Index.js +6 -6
  74. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  75. package/build/dist/Models/DatabaseModels/{ScheduledMaintenanceLog.js → ScheduledMaintenanceFeed.js} +182 -55
  76. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceFeed.js.map +1 -0
  77. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736703138918-MigrationName.js +16 -0
  78. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736703138918-MigrationName.js.map +1 -0
  79. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736780194077-MigrationName.js +54 -0
  80. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736780194077-MigrationName.js.map +1 -0
  81. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736780194078-MigrationName.js +15 -0
  82. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736780194078-MigrationName.js.map +1 -0
  83. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736787495707-MigrationName.js +16 -0
  84. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736787495707-MigrationName.js.map +1 -0
  85. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736787985322-MigrationName.js +34 -0
  86. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736787985322-MigrationName.js.map +1 -0
  87. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736788706141-MigrationName.js +22 -0
  88. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736788706141-MigrationName.js.map +1 -0
  89. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736856662868-MigrationName.js +16 -0
  90. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1736856662868-MigrationName.js.map +1 -0
  91. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +14 -0
  92. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  93. package/build/dist/Server/Services/AlertFeedService.js +54 -0
  94. package/build/dist/Server/Services/AlertFeedService.js.map +1 -0
  95. package/build/dist/Server/Services/IncidentFeedService.js +60 -0
  96. package/build/dist/Server/Services/IncidentFeedService.js.map +1 -0
  97. package/build/dist/Server/Services/IncidentInternalNoteService.js +19 -0
  98. package/build/dist/Server/Services/IncidentInternalNoteService.js.map +1 -1
  99. package/build/dist/Server/Services/IncidentOwnerTeamService.js +86 -0
  100. package/build/dist/Server/Services/IncidentOwnerTeamService.js.map +1 -1
  101. package/build/dist/Server/Services/IncidentOwnerUserService.js +89 -0
  102. package/build/dist/Server/Services/IncidentOwnerUserService.js.map +1 -1
  103. package/build/dist/Server/Services/IncidentPublicNoteService.js +19 -0
  104. package/build/dist/Server/Services/IncidentPublicNoteService.js.map +1 -1
  105. package/build/dist/Server/Services/IncidentService.js +108 -4
  106. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  107. package/build/dist/Server/Services/IncidentStateTimelineService.js +37 -15
  108. package/build/dist/Server/Services/IncidentStateTimelineService.js.map +1 -1
  109. package/build/dist/Server/Services/Index.js +6 -6
  110. package/build/dist/Server/Services/Index.js.map +1 -1
  111. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogService.js +93 -0
  112. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogService.js.map +1 -1
  113. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.js +129 -0
  114. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.js.map +1 -1
  115. package/build/dist/Server/Services/ScheduledMaintenanceFeedService.js +57 -0
  116. package/build/dist/Server/Services/ScheduledMaintenanceFeedService.js.map +1 -0
  117. package/build/dist/Server/Services/UserOnCallLogService.js +2 -2
  118. package/build/dist/Server/Services/UserOnCallLogService.js.map +1 -1
  119. package/build/dist/Tests/Types/Database/ColumnLength.test.js +1 -1
  120. package/build/dist/Tests/Types/Database/ColumnLength.test.js.map +1 -1
  121. package/build/dist/Types/Database/ColumnLength.js +1 -1
  122. package/build/dist/Types/Database/ColumnLength.js.map +1 -1
  123. package/build/dist/Types/Database/LimitMax.js +1 -1
  124. package/build/dist/Types/Database/LimitMax.js.map +1 -1
  125. package/build/dist/Types/Icon/IconProp.js +1 -0
  126. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  127. package/build/dist/Types/Permission.js +32 -32
  128. package/build/dist/Types/Permission.js.map +1 -1
  129. package/build/dist/UI/Components/CategoryCheckbox/Index.js +1 -1
  130. package/build/dist/UI/Components/CategoryCheckbox/Index.js.map +1 -1
  131. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js +3 -3
  132. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js.map +1 -1
  133. package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js +1 -1
  134. package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js.map +1 -1
  135. package/build/dist/UI/Components/Feed/Feed.js +14 -0
  136. package/build/dist/UI/Components/Feed/Feed.js.map +1 -0
  137. package/build/dist/UI/Components/Feed/FeedItem.js +67 -0
  138. package/build/dist/UI/Components/Feed/FeedItem.js.map +1 -0
  139. package/build/dist/UI/Components/Filters/FilterViewer.js +1 -1
  140. package/build/dist/UI/Components/Filters/FilterViewer.js.map +1 -1
  141. package/build/dist/UI/Components/Filters/FiltersForm.js +1 -1
  142. package/build/dist/UI/Components/Filters/FiltersForm.js.map +1 -1
  143. package/build/dist/UI/Components/FormModal/BasicFormModal.js +1 -1
  144. package/build/dist/UI/Components/FormModal/BasicFormModal.js.map +1 -1
  145. package/build/dist/UI/Components/Forms/BasicForm.js +1 -1
  146. package/build/dist/UI/Components/Forms/BasicForm.js.map +1 -1
  147. package/build/dist/UI/Components/Icon/Icon.js +6 -0
  148. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  149. package/build/dist/UI/Components/InfoCard/InfoCard.js +1 -1
  150. package/build/dist/UI/Components/InfoCard/InfoCard.js.map +1 -1
  151. package/build/dist/UI/Components/List/List.js +2 -2
  152. package/build/dist/UI/Components/List/List.js.map +1 -1
  153. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +1 -1
  154. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  155. package/build/dist/UI/Components/ModelDetail/ModelDetail.js +1 -1
  156. package/build/dist/UI/Components/ModelDetail/ModelDetail.js.map +1 -1
  157. package/build/dist/UI/Components/ModelList/ModelList.js +2 -2
  158. package/build/dist/UI/Components/ModelList/ModelList.js.map +1 -1
  159. package/build/dist/UI/Components/ModelProgress/ModelProgress.js +1 -1
  160. package/build/dist/UI/Components/ModelProgress/ModelProgress.js.map +1 -1
  161. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +3 -3
  162. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  163. package/build/dist/UI/Components/MonitorGraphs/Uptime.js +1 -1
  164. package/build/dist/UI/Components/MonitorGraphs/Uptime.js.map +1 -1
  165. package/build/dist/UI/Components/OrderedStatesList/OrderedStatesList.js +2 -2
  166. package/build/dist/UI/Components/OrderedStatesList/OrderedStatesList.js.map +1 -1
  167. package/build/dist/UI/Components/Page/Page.js +1 -1
  168. package/build/dist/UI/Components/Page/Page.js.map +1 -1
  169. package/build/dist/UI/Components/ProgressButtons/ProgressButtonItem.js +26 -0
  170. package/build/dist/UI/Components/ProgressButtons/ProgressButtonItem.js.map +1 -0
  171. package/build/dist/UI/Components/ProgressButtons/ProgressButtons.js +36 -0
  172. package/build/dist/UI/Components/ProgressButtons/ProgressButtons.js.map +1 -0
  173. package/build/dist/UI/Components/QR/QR.js +1 -1
  174. package/build/dist/UI/Components/QR/QR.js.map +1 -1
  175. package/build/dist/UI/Components/Table/Table.js +2 -2
  176. package/build/dist/UI/Components/Table/Table.js.map +1 -1
  177. package/build/dist/UI/Components/Workflow/ArgumentsForm.js +1 -1
  178. package/build/dist/UI/Components/Workflow/ArgumentsForm.js.map +1 -1
  179. package/build/dist/UI/Components/Workflow/ComponentArgumentsViewer.js +1 -1
  180. package/build/dist/UI/Components/Workflow/ComponentArgumentsViewer.js.map +1 -1
  181. package/build/dist/UI/Components/Workflow/ComponentPortViewer.js +1 -1
  182. package/build/dist/UI/Components/Workflow/ComponentPortViewer.js.map +1 -1
  183. package/build/dist/UI/Components/Workflow/ComponentReturnValueViewer.js +1 -1
  184. package/build/dist/UI/Components/Workflow/ComponentReturnValueViewer.js.map +1 -1
  185. package/build/dist/UI/Components/Workflow/ComponentValuePickerModal.js +3 -3
  186. package/build/dist/UI/Components/Workflow/ComponentValuePickerModal.js.map +1 -1
  187. package/build/dist/UI/Components/Workflow/ComponentsModal.js +1 -1
  188. package/build/dist/UI/Components/Workflow/ComponentsModal.js.map +1 -1
  189. package/build/dist/UI/Components/Workflow/DocumentationViewer.js +1 -1
  190. package/build/dist/UI/Components/Workflow/DocumentationViewer.js.map +1 -1
  191. package/build/dist/UI/Components/Workflow/RunForm.js +1 -1
  192. package/build/dist/UI/Components/Workflow/RunForm.js.map +1 -1
  193. package/build/dist/UI/Components/Workflow/RunModal.js +1 -1
  194. package/build/dist/UI/Components/Workflow/RunModal.js.map +1 -1
  195. package/build/dist/UI/Utils/User.js +1 -1
  196. package/build/dist/UI/Utils/User.js.map +1 -1
  197. package/package.json +2 -2
  198. package/Server/Services/AlertLogService.ts +0 -10
  199. package/Server/Services/IncidentLogService.ts +0 -10
  200. package/Server/Services/ScheduledMaintenanceLogService.ts +0 -10
  201. package/build/dist/Models/DatabaseModels/AlertLog.js.map +0 -1
  202. package/build/dist/Models/DatabaseModels/IncidentLog.js.map +0 -1
  203. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceLog.js.map +0 -1
  204. package/build/dist/Server/Services/AlertLogService.js +0 -9
  205. package/build/dist/Server/Services/AlertLogService.js.map +0 -1
  206. package/build/dist/Server/Services/IncidentLogService.js +0 -9
  207. package/build/dist/Server/Services/IncidentLogService.js.map +0 -1
  208. package/build/dist/Server/Services/ScheduledMaintenanceLogService.js +0 -9
  209. package/build/dist/Server/Services/ScheduledMaintenanceLogService.js.map +0 -1
@@ -18,8 +18,10 @@ 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 ColumnLength from "../../Types/Database/ColumnLength";
22
+ import Color from "../../Types/Color";
21
23
 
22
- export enum ScheduledMaintenanceLogEvent {
24
+ export enum ScheduledMaintenanceFeedEventType {
23
25
  PublicNote = "PublicNote",
24
26
  SubscriberEmailSent = "SubscriberEmailSent",
25
27
  OwnerEmailSent = "OwnerEmailSent",
@@ -37,13 +39,13 @@ export enum ScheduledMaintenanceLogEvent {
37
39
  Permission.ProjectOwner,
38
40
  Permission.ProjectAdmin,
39
41
  Permission.ProjectMember,
40
- Permission.CreateScheduledMaintenanceLog,
42
+ Permission.CreateScheduledMaintenanceFeed,
41
43
  ],
42
44
  read: [
43
45
  Permission.ProjectOwner,
44
46
  Permission.ProjectAdmin,
45
47
  Permission.ProjectMember,
46
- Permission.ReadScheduledMaintenanceLog,
48
+ Permission.ReadScheduledMaintenanceFeed,
47
49
  ],
48
50
  delete: [],
49
51
  update: [],
@@ -54,31 +56,31 @@ export enum ScheduledMaintenanceLogEvent {
54
56
  update: true,
55
57
  read: true,
56
58
  })
57
- @CrudApiEndpoint(new Route("/scheduled-maintenance-log"))
59
+ @CrudApiEndpoint(new Route("/scheduled-maintenance-feed"))
58
60
  @Entity({
59
- name: "ScheduledMaintenanceLog",
61
+ name: "ScheduledMaintenanceFeed",
60
62
  })
61
63
  @TableMetadata({
62
- tableName: "ScheduledMaintenanceLog",
63
- singularName: "ScheduledMaintenance Log",
64
- pluralName: "ScheduledMaintenance Logs",
64
+ tableName: "ScheduledMaintenanceFeed",
65
+ singularName: "Scheduled Maintenance Feed",
66
+ pluralName: "Scheduled Maintenance Feed",
65
67
  icon: IconProp.List,
66
68
  tableDescription:
67
69
  "Log of the entire scheduled maintenance state change. This is a log of all the scheduled maintenance state changes, public notes, more etc.",
68
70
  })
69
- export default class ScheduledMaintenanceLog extends BaseModel {
71
+ export default class ScheduledMaintenanceFeed extends BaseModel {
70
72
  @ColumnAccessControl({
71
73
  create: [
72
74
  Permission.ProjectOwner,
73
75
  Permission.ProjectAdmin,
74
76
  Permission.ProjectMember,
75
- Permission.CreateScheduledMaintenanceLog,
77
+ Permission.CreateScheduledMaintenanceFeed,
76
78
  ],
77
79
  read: [
78
80
  Permission.ProjectOwner,
79
81
  Permission.ProjectAdmin,
80
82
  Permission.ProjectMember,
81
- Permission.ReadScheduledMaintenanceLog,
83
+ Permission.ReadScheduledMaintenanceFeed,
82
84
  ],
83
85
  update: [],
84
86
  })
@@ -108,13 +110,13 @@ export default class ScheduledMaintenanceLog extends BaseModel {
108
110
  Permission.ProjectOwner,
109
111
  Permission.ProjectAdmin,
110
112
  Permission.ProjectMember,
111
- Permission.CreateScheduledMaintenanceLog,
113
+ Permission.CreateScheduledMaintenanceFeed,
112
114
  ],
113
115
  read: [
114
116
  Permission.ProjectOwner,
115
117
  Permission.ProjectAdmin,
116
118
  Permission.ProjectMember,
117
- Permission.ReadScheduledMaintenanceLog,
119
+ Permission.ReadScheduledMaintenanceFeed,
118
120
  ],
119
121
  update: [],
120
122
  })
@@ -138,13 +140,13 @@ export default class ScheduledMaintenanceLog extends BaseModel {
138
140
  Permission.ProjectOwner,
139
141
  Permission.ProjectAdmin,
140
142
  Permission.ProjectMember,
141
- Permission.CreateScheduledMaintenanceLog,
143
+ Permission.CreateScheduledMaintenanceFeed,
142
144
  ],
143
145
  read: [
144
146
  Permission.ProjectOwner,
145
147
  Permission.ProjectAdmin,
146
148
  Permission.ProjectMember,
147
- Permission.ReadScheduledMaintenanceLog,
149
+ Permission.ReadScheduledMaintenanceFeed,
148
150
  ],
149
151
  update: [],
150
152
  })
@@ -175,13 +177,13 @@ export default class ScheduledMaintenanceLog extends BaseModel {
175
177
  Permission.ProjectOwner,
176
178
  Permission.ProjectAdmin,
177
179
  Permission.ProjectMember,
178
- Permission.CreateScheduledMaintenanceLog,
180
+ Permission.CreateScheduledMaintenanceFeed,
179
181
  ],
180
182
  read: [
181
183
  Permission.ProjectOwner,
182
184
  Permission.ProjectAdmin,
183
185
  Permission.ProjectMember,
184
- Permission.ReadScheduledMaintenanceLog,
186
+ Permission.ReadScheduledMaintenanceFeed,
185
187
  ],
186
188
  update: [],
187
189
  })
@@ -205,13 +207,13 @@ export default class ScheduledMaintenanceLog extends BaseModel {
205
207
  Permission.ProjectOwner,
206
208
  Permission.ProjectAdmin,
207
209
  Permission.ProjectMember,
208
- Permission.CreateScheduledMaintenanceLog,
210
+ Permission.CreateScheduledMaintenanceFeed,
209
211
  ],
210
212
  read: [
211
213
  Permission.ProjectOwner,
212
214
  Permission.ProjectAdmin,
213
215
  Permission.ProjectMember,
214
- Permission.ReadScheduledMaintenanceLog,
216
+ Permission.ReadScheduledMaintenanceFeed,
215
217
  ],
216
218
  update: [],
217
219
  })
@@ -242,13 +244,13 @@ export default class ScheduledMaintenanceLog extends BaseModel {
242
244
  Permission.ProjectOwner,
243
245
  Permission.ProjectAdmin,
244
246
  Permission.ProjectMember,
245
- Permission.CreateScheduledMaintenanceLog,
247
+ Permission.CreateScheduledMaintenanceFeed,
246
248
  ],
247
249
  read: [
248
250
  Permission.ProjectOwner,
249
251
  Permission.ProjectAdmin,
250
252
  Permission.ProjectMember,
251
- Permission.ReadScheduledMaintenanceLog,
253
+ Permission.ReadScheduledMaintenanceFeed,
252
254
  ],
253
255
  update: [],
254
256
  })
@@ -315,13 +317,13 @@ export default class ScheduledMaintenanceLog extends BaseModel {
315
317
  Permission.ProjectOwner,
316
318
  Permission.ProjectAdmin,
317
319
  Permission.ProjectMember,
318
- Permission.CreateScheduledMaintenanceLog,
320
+ Permission.CreateScheduledMaintenanceFeed,
319
321
  ],
320
322
  read: [
321
323
  Permission.ProjectOwner,
322
324
  Permission.ProjectAdmin,
323
325
  Permission.ProjectMember,
324
- Permission.ReadScheduledMaintenanceLog,
326
+ Permission.ReadScheduledMaintenanceFeed,
325
327
  ],
326
328
  update: [],
327
329
  })
@@ -337,32 +339,32 @@ export default class ScheduledMaintenanceLog extends BaseModel {
337
339
  nullable: false,
338
340
  unique: false,
339
341
  })
340
- public logInMarkdown?: string = undefined;
342
+ public feedInfoInMarkdown?: string = undefined;
341
343
 
342
344
  @ColumnAccessControl({
343
345
  create: [
344
346
  Permission.ProjectOwner,
345
347
  Permission.ProjectAdmin,
346
348
  Permission.ProjectMember,
347
- Permission.CreateScheduledMaintenanceLog,
349
+ Permission.CreateScheduledMaintenanceFeed,
348
350
  ],
349
351
  read: [
350
352
  Permission.ProjectOwner,
351
353
  Permission.ProjectAdmin,
352
354
  Permission.ProjectMember,
353
- Permission.ReadScheduledMaintenanceLog,
355
+ Permission.ReadScheduledMaintenanceFeed,
354
356
  ],
355
357
  update: [],
356
358
  })
357
359
  @TableColumn({
358
360
  type: TableColumnType.Markdown,
359
- required: true,
361
+ required: false,
360
362
  title: "More Information (in Markdown)",
361
363
  description: "More information in Markdown",
362
364
  })
363
365
  @Column({
364
366
  type: ColumnType.Markdown,
365
- nullable: false,
367
+ nullable: true,
366
368
  unique: false,
367
369
  })
368
370
  public moreInformationInMarkdown?: string = undefined;
@@ -372,13 +374,13 @@ export default class ScheduledMaintenanceLog extends BaseModel {
372
374
  Permission.ProjectOwner,
373
375
  Permission.ProjectAdmin,
374
376
  Permission.ProjectMember,
375
- Permission.CreateScheduledMaintenanceLog,
377
+ Permission.CreateScheduledMaintenanceFeed,
376
378
  ],
377
379
  read: [
378
380
  Permission.ProjectOwner,
379
381
  Permission.ProjectAdmin,
380
382
  Permission.ProjectMember,
381
- Permission.ReadScheduledMaintenanceLog,
383
+ Permission.ReadScheduledMaintenanceFeed,
382
384
  ],
383
385
  update: [],
384
386
  })
@@ -393,6 +395,128 @@ export default class ScheduledMaintenanceLog extends BaseModel {
393
395
  nullable: false,
394
396
  unique: false,
395
397
  })
396
- public scheduledMaintenanceLogEvent?: ScheduledMaintenanceLogEvent =
398
+ public scheduledMaintenanceFeedEventType?: ScheduledMaintenanceFeedEventType =
397
399
  undefined;
400
+
401
+ @ColumnAccessControl({
402
+ create: [
403
+ Permission.ProjectOwner,
404
+ Permission.ProjectAdmin,
405
+ Permission.ProjectMember,
406
+ Permission.CreateIncidentFeed,
407
+ ],
408
+ read: [
409
+ Permission.ProjectOwner,
410
+ Permission.ProjectAdmin,
411
+ Permission.ProjectMember,
412
+ Permission.ReadIncidentFeed,
413
+ ],
414
+ update: [],
415
+ })
416
+ @TableColumn({
417
+ type: TableColumnType.Color,
418
+ required: true,
419
+ title: "Color",
420
+ description: "Display color for this log",
421
+ })
422
+ @Column({
423
+ type: ColumnType.Color,
424
+ length: ColumnLength.Color,
425
+ nullable: false,
426
+ unique: false,
427
+ transformer: Color.getDatabaseTransformer(),
428
+ })
429
+ public displayColor?: Color = undefined;
430
+
431
+ @ColumnAccessControl({
432
+ create: [
433
+ Permission.ProjectOwner,
434
+ Permission.ProjectAdmin,
435
+ Permission.ProjectMember,
436
+ Permission.CreateScheduledMaintenanceFeed,
437
+ ],
438
+ read: [
439
+ Permission.ProjectOwner,
440
+ Permission.ProjectAdmin,
441
+ Permission.ProjectMember,
442
+ Permission.ReadScheduledMaintenanceFeed,
443
+ ],
444
+ update: [],
445
+ })
446
+ @TableColumn({
447
+ manyToOneRelationColumn: "userId",
448
+ type: TableColumnType.Entity,
449
+ modelType: User,
450
+ title: "User",
451
+ description:
452
+ "Relation to User who this feed belongs to (if this feed belongs to a User)",
453
+ })
454
+ @ManyToOne(
455
+ () => {
456
+ return User;
457
+ },
458
+ {
459
+ eager: false,
460
+ nullable: true,
461
+ onDelete: "SET NULL",
462
+ orphanedRowAction: "nullify",
463
+ },
464
+ )
465
+ @JoinColumn({ name: "userId" })
466
+ public user?: User = undefined;
467
+
468
+ @ColumnAccessControl({
469
+ create: [
470
+ Permission.ProjectOwner,
471
+ Permission.ProjectAdmin,
472
+ Permission.ProjectMember,
473
+ Permission.CreateScheduledMaintenanceFeed,
474
+ ],
475
+ read: [
476
+ Permission.ProjectOwner,
477
+ Permission.ProjectAdmin,
478
+ Permission.ProjectMember,
479
+ Permission.ReadScheduledMaintenanceFeed,
480
+ ],
481
+ update: [],
482
+ })
483
+ @TableColumn({
484
+ type: TableColumnType.ObjectID,
485
+ title: "User ID",
486
+ description:
487
+ "User who this feed belongs to (if this feed belongs to a User)",
488
+ })
489
+ @Column({
490
+ type: ColumnType.ObjectID,
491
+ nullable: true,
492
+ transformer: ObjectID.getDatabaseTransformer(),
493
+ })
494
+ public userId?: ObjectID = undefined;
495
+
496
+ @ColumnAccessControl({
497
+ create: [
498
+ Permission.ProjectOwner,
499
+ Permission.ProjectAdmin,
500
+ Permission.ProjectMember,
501
+ Permission.CreateScheduledMaintenanceFeed,
502
+ ],
503
+ read: [
504
+ Permission.ProjectOwner,
505
+ Permission.ProjectAdmin,
506
+ Permission.ProjectMember,
507
+ Permission.ReadScheduledMaintenanceFeed,
508
+ ],
509
+ update: [],
510
+ })
511
+ @TableColumn({
512
+ title: "Feed Posted At",
513
+ description: "Date and time when the feed was posted",
514
+ type: TableColumnType.Date,
515
+ })
516
+ @Column({
517
+ type: ColumnType.Date,
518
+ nullable: true,
519
+ unique: false,
520
+ })
521
+ public postedAt?: Date = undefined;
398
522
  }
@@ -0,0 +1,29 @@
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+
3
+ export class MigrationName1736703138918 implements MigrationInterface {
4
+ public name = "MigrationName1736703138918";
5
+
6
+ public async up(queryRunner: QueryRunner): Promise<void> {
7
+ await queryRunner.query(
8
+ `ALTER TABLE "IncidentLog" ADD "incidentLogSeverity" character varying NOT NULL`,
9
+ );
10
+ await queryRunner.query(
11
+ `ALTER TABLE "AlertLog" ADD "alertLogSeverity" character varying NOT NULL`,
12
+ );
13
+ await queryRunner.query(
14
+ `ALTER TABLE "ScheduledMaintenanceLog" ADD "scheduledMaintenanceLogSeverity" character varying NOT NULL`,
15
+ );
16
+ }
17
+
18
+ public async down(queryRunner: QueryRunner): Promise<void> {
19
+ await queryRunner.query(
20
+ `ALTER TABLE "ScheduledMaintenanceLog" DROP COLUMN "scheduledMaintenanceLogSeverity"`,
21
+ );
22
+ await queryRunner.query(
23
+ `ALTER TABLE "AlertLog" DROP COLUMN "alertLogSeverity"`,
24
+ );
25
+ await queryRunner.query(
26
+ `ALTER TABLE "IncidentLog" DROP COLUMN "incidentLogSeverity"`,
27
+ );
28
+ }
29
+ }
@@ -0,0 +1,137 @@
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+
3
+ export class MigrationName1736780194077 implements MigrationInterface {
4
+ public name = "MigrationName1736780194077";
5
+
6
+ public async up(queryRunner: QueryRunner): Promise<void> {
7
+ await queryRunner.query(
8
+ `CREATE TABLE "IncidentFeed" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "incidentId" uuid NOT NULL, "createdByUserId" uuid, "deletedByUserId" uuid, "feedInfoInMarkdown" text NOT NULL, "moreInformationInMarkdown" text NOT NULL, "incidentFeedEventType" character varying NOT NULL, "displayColor" character varying(7) NOT NULL, CONSTRAINT "PK_8188c79d1ed22013205ff324dea" PRIMARY KEY ("_id"))`,
9
+ );
10
+ await queryRunner.query(
11
+ `CREATE INDEX "IDX_32ae47fa45018ecdb7f28c6468" ON "IncidentFeed" ("projectId") `,
12
+ );
13
+ await queryRunner.query(
14
+ `CREATE INDEX "IDX_cf4aea7310bb855873fc40f244" ON "IncidentFeed" ("incidentId") `,
15
+ );
16
+ await queryRunner.query(
17
+ `CREATE TABLE "AlertFeed" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "alertId" uuid NOT NULL, "createdByUserId" uuid, "deletedByUserId" uuid, "feedInfoInMarkdown" text NOT NULL, "moreInformationInMarkdown" text NOT NULL, "alertFeedEventType" character varying NOT NULL, "displayColor" character varying(7) NOT NULL, CONSTRAINT "PK_d5f629abd40a51d58a35423b361" PRIMARY KEY ("_id"))`,
18
+ );
19
+ await queryRunner.query(
20
+ `CREATE INDEX "IDX_f430519f21c327c14c12e4f106" ON "AlertFeed" ("projectId") `,
21
+ );
22
+ await queryRunner.query(
23
+ `CREATE INDEX "IDX_f74177b6675d92243cc0794bd3" ON "AlertFeed" ("alertId") `,
24
+ );
25
+ await queryRunner.query(
26
+ `CREATE TABLE "ScheduledMaintenanceFeed" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "scheduledMaintenanceId" uuid NOT NULL, "createdByUserId" uuid, "deletedByUserId" uuid, "feedInfoInMarkdown" text NOT NULL, "moreInformationInMarkdown" text NOT NULL, "scheduledMaintenanceFeedEventType" character varying NOT NULL, "displayColor" character varying(7) NOT NULL, CONSTRAINT "PK_ced33ccb5551624e432b2df6513" PRIMARY KEY ("_id"))`,
27
+ );
28
+ await queryRunner.query(
29
+ `CREATE INDEX "IDX_416c6ded7f17b15e9a83114740" ON "ScheduledMaintenanceFeed" ("projectId") `,
30
+ );
31
+ await queryRunner.query(
32
+ `CREATE INDEX "IDX_ce3b353bbd3e1695c0ffb2d235" ON "ScheduledMaintenanceFeed" ("scheduledMaintenanceId") `,
33
+ );
34
+ await queryRunner.query(
35
+ `ALTER TABLE "IncidentFeed" ADD CONSTRAINT "FK_32ae47fa45018ecdb7f28c64685" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
36
+ );
37
+ await queryRunner.query(
38
+ `ALTER TABLE "IncidentFeed" ADD CONSTRAINT "FK_cf4aea7310bb855873fc40f2441" FOREIGN KEY ("incidentId") REFERENCES "Incident"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
39
+ );
40
+ await queryRunner.query(
41
+ `ALTER TABLE "IncidentFeed" ADD CONSTRAINT "FK_4458fd00d52521ae4333e74ddbd" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
42
+ );
43
+ await queryRunner.query(
44
+ `ALTER TABLE "IncidentFeed" ADD CONSTRAINT "FK_f1ee9faba64e96f91925247aae3" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
45
+ );
46
+ await queryRunner.query(
47
+ `ALTER TABLE "AlertFeed" ADD CONSTRAINT "FK_f430519f21c327c14c12e4f1063" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
48
+ );
49
+ await queryRunner.query(
50
+ `ALTER TABLE "AlertFeed" ADD CONSTRAINT "FK_f74177b6675d92243cc0794bd3f" FOREIGN KEY ("alertId") REFERENCES "Alert"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
51
+ );
52
+ await queryRunner.query(
53
+ `ALTER TABLE "AlertFeed" ADD CONSTRAINT "FK_2eda7dbbc78de28f653812b5e3d" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
54
+ );
55
+ await queryRunner.query(
56
+ `ALTER TABLE "AlertFeed" ADD CONSTRAINT "FK_f0e72673c38f18ed84f0e94a5a1" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
57
+ );
58
+ await queryRunner.query(
59
+ `ALTER TABLE "ScheduledMaintenanceFeed" ADD CONSTRAINT "FK_416c6ded7f17b15e9a831147403" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
60
+ );
61
+ await queryRunner.query(
62
+ `ALTER TABLE "ScheduledMaintenanceFeed" ADD CONSTRAINT "FK_ce3b353bbd3e1695c0ffb2d2354" FOREIGN KEY ("scheduledMaintenanceId") REFERENCES "ScheduledMaintenance"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
63
+ );
64
+ await queryRunner.query(
65
+ `ALTER TABLE "ScheduledMaintenanceFeed" ADD CONSTRAINT "FK_fc34cf1a5eb488310bbe7c6a46a" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
66
+ );
67
+ await queryRunner.query(
68
+ `ALTER TABLE "ScheduledMaintenanceFeed" ADD CONSTRAINT "FK_8374052884c5d75f5018c1dc908" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
69
+ );
70
+ }
71
+
72
+ public async down(queryRunner: QueryRunner): Promise<void> {
73
+ await queryRunner.query(
74
+ `ALTER TABLE "ScheduledMaintenanceFeed" DROP CONSTRAINT "FK_8374052884c5d75f5018c1dc908"`,
75
+ );
76
+ await queryRunner.query(
77
+ `ALTER TABLE "ScheduledMaintenanceFeed" DROP CONSTRAINT "FK_fc34cf1a5eb488310bbe7c6a46a"`,
78
+ );
79
+ await queryRunner.query(
80
+ `ALTER TABLE "ScheduledMaintenanceFeed" DROP CONSTRAINT "FK_ce3b353bbd3e1695c0ffb2d2354"`,
81
+ );
82
+ await queryRunner.query(
83
+ `ALTER TABLE "ScheduledMaintenanceFeed" DROP CONSTRAINT "FK_416c6ded7f17b15e9a831147403"`,
84
+ );
85
+ await queryRunner.query(
86
+ `ALTER TABLE "AlertFeed" DROP CONSTRAINT "FK_f0e72673c38f18ed84f0e94a5a1"`,
87
+ );
88
+ await queryRunner.query(
89
+ `ALTER TABLE "AlertFeed" DROP CONSTRAINT "FK_2eda7dbbc78de28f653812b5e3d"`,
90
+ );
91
+ await queryRunner.query(
92
+ `ALTER TABLE "AlertFeed" DROP CONSTRAINT "FK_f74177b6675d92243cc0794bd3f"`,
93
+ );
94
+ await queryRunner.query(
95
+ `ALTER TABLE "AlertFeed" DROP CONSTRAINT "FK_f430519f21c327c14c12e4f1063"`,
96
+ );
97
+ await queryRunner.query(
98
+ `ALTER TABLE "IncidentFeed" DROP CONSTRAINT "FK_f1ee9faba64e96f91925247aae3"`,
99
+ );
100
+ await queryRunner.query(
101
+ `ALTER TABLE "IncidentFeed" DROP CONSTRAINT "FK_4458fd00d52521ae4333e74ddbd"`,
102
+ );
103
+ await queryRunner.query(
104
+ `ALTER TABLE "IncidentFeed" DROP CONSTRAINT "FK_cf4aea7310bb855873fc40f2441"`,
105
+ );
106
+ await queryRunner.query(
107
+ `ALTER TABLE "IncidentFeed" DROP CONSTRAINT "FK_32ae47fa45018ecdb7f28c64685"`,
108
+ );
109
+ await queryRunner.query(
110
+ `ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "restrictionTimes" SET DEFAULT '{"_type": "RestrictionTimes", "value": {"restictionType": "None", "dayRestrictionTimes": null, "weeklyRestrictionTimes": []}}'`,
111
+ );
112
+ await queryRunner.query(
113
+ `ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "rotation" SET DEFAULT '{"_type": "Recurring", "value": {"intervalType": "Day", "intervalCount": {"_type": "PositiveNumber", "value": 1}}}'`,
114
+ );
115
+ await queryRunner.query(
116
+ `DROP INDEX "public"."IDX_ce3b353bbd3e1695c0ffb2d235"`,
117
+ );
118
+ await queryRunner.query(
119
+ `DROP INDEX "public"."IDX_416c6ded7f17b15e9a83114740"`,
120
+ );
121
+ await queryRunner.query(`DROP TABLE "ScheduledMaintenanceFeed"`);
122
+ await queryRunner.query(
123
+ `DROP INDEX "public"."IDX_f74177b6675d92243cc0794bd3"`,
124
+ );
125
+ await queryRunner.query(
126
+ `DROP INDEX "public"."IDX_f430519f21c327c14c12e4f106"`,
127
+ );
128
+ await queryRunner.query(`DROP TABLE "AlertFeed"`);
129
+ await queryRunner.query(
130
+ `DROP INDEX "public"."IDX_cf4aea7310bb855873fc40f244"`,
131
+ );
132
+ await queryRunner.query(
133
+ `DROP INDEX "public"."IDX_32ae47fa45018ecdb7f28c6468"`,
134
+ );
135
+ await queryRunner.query(`DROP TABLE "IncidentFeed"`);
136
+ }
137
+ }
@@ -0,0 +1,16 @@
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+
3
+ export class MigrationName1736780194078 implements MigrationInterface {
4
+ public name = "MigrationName1736780194078";
5
+
6
+ public async up(queryRunner: QueryRunner): Promise<void> {
7
+ // drop tables IncidentLog, AlertLog, ScheduledMaintenanceLog
8
+ await queryRunner.query(`DROP TABLE "IncidentLog"`);
9
+ await queryRunner.query(`DROP TABLE "AlertLog"`);
10
+ await queryRunner.query(`DROP TABLE "ScheduledMaintenanceLog"`);
11
+ }
12
+
13
+ public async down(_queryRunner: QueryRunner): Promise<void> {
14
+ // do nothing.
15
+ }
16
+ }
@@ -0,0 +1,29 @@
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+
3
+ export class MigrationName1736787495707 implements MigrationInterface {
4
+ public name = "MigrationName1736787495707";
5
+
6
+ public async up(queryRunner: QueryRunner): Promise<void> {
7
+ await queryRunner.query(
8
+ `ALTER TABLE "IncidentFeed" ALTER COLUMN "moreInformationInMarkdown" DROP NOT NULL`,
9
+ );
10
+ await queryRunner.query(
11
+ `ALTER TABLE "AlertFeed" ALTER COLUMN "moreInformationInMarkdown" DROP NOT NULL`,
12
+ );
13
+ await queryRunner.query(
14
+ `ALTER TABLE "ScheduledMaintenanceFeed" ALTER COLUMN "moreInformationInMarkdown" DROP NOT NULL`,
15
+ );
16
+ }
17
+
18
+ public async down(queryRunner: QueryRunner): Promise<void> {
19
+ await queryRunner.query(
20
+ `ALTER TABLE "ScheduledMaintenanceFeed" ALTER COLUMN "moreInformationInMarkdown" SET NOT NULL`,
21
+ );
22
+ await queryRunner.query(
23
+ `ALTER TABLE "AlertFeed" ALTER COLUMN "moreInformationInMarkdown" SET NOT NULL`,
24
+ );
25
+ await queryRunner.query(
26
+ `ALTER TABLE "IncidentFeed" ALTER COLUMN "moreInformationInMarkdown" SET NOT NULL`,
27
+ );
28
+ }
29
+ }
@@ -0,0 +1,83 @@
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+
3
+ export class MigrationName1736787985322 implements MigrationInterface {
4
+ public name = "MigrationName1736787985322";
5
+
6
+ public async up(queryRunner: QueryRunner): Promise<void> {
7
+ await queryRunner.query(
8
+ `ALTER TABLE "Label" ALTER COLUMN "color" TYPE character varying(10)`,
9
+ );
10
+ await queryRunner.query(
11
+ `ALTER TABLE "IncidentSeverity" ALTER COLUMN "color" TYPE character varying(10)`,
12
+ );
13
+ await queryRunner.query(
14
+ `ALTER TABLE "IncidentState" ALTER COLUMN "color" TYPE character varying(10)`,
15
+ );
16
+ await queryRunner.query(
17
+ `ALTER TABLE "MonitorStatus" ALTER COLUMN "color" TYPE character varying(10)`,
18
+ );
19
+ await queryRunner.query(
20
+ `ALTER TABLE "IncidentFeed" ALTER COLUMN "displayColor" TYPE character varying(10)`,
21
+ );
22
+ await queryRunner.query(
23
+ `ALTER TABLE "AlertSeverity" ALTER COLUMN "color" TYPE character varying(10)`,
24
+ );
25
+ await queryRunner.query(
26
+ `ALTER TABLE "AlertState" ALTER COLUMN "color" TYPE character varying(10)`,
27
+ );
28
+ await queryRunner.query(
29
+ `ALTER TABLE "ScheduledMaintenanceState" ALTER COLUMN "color" TYPE character varying(10)`,
30
+ );
31
+ await queryRunner.query(
32
+ `ALTER TABLE "StatusPage" ALTER COLUMN "defaultBarColor" TYPE character varying(10)`,
33
+ );
34
+ await queryRunner.query(
35
+ `ALTER TABLE "StatusPageHistoryChartBarColorRule" ALTER COLUMN "barColor" TYPE character varying(10)`,
36
+ );
37
+ await queryRunner.query(
38
+ `ALTER TABLE "AlertFeed" ALTER COLUMN "displayColor" TYPE character varying(10)`,
39
+ );
40
+ await queryRunner.query(
41
+ `ALTER TABLE "ScheduledMaintenanceFeed" ALTER COLUMN "displayColor" TYPE character varying(10)`,
42
+ );
43
+ }
44
+
45
+ public async down(queryRunner: QueryRunner): Promise<void> {
46
+ await queryRunner.query(
47
+ `ALTER TABLE "Label" ALTER COLUMN "color" TYPE character varying(7)`,
48
+ );
49
+ await queryRunner.query(
50
+ `ALTER TABLE "IncidentSeverity" ALTER COLUMN "color" TYPE character varying(7)`,
51
+ );
52
+ await queryRunner.query(
53
+ `ALTER TABLE "IncidentState" ALTER COLUMN "color" TYPE character varying(7)`,
54
+ );
55
+ await queryRunner.query(
56
+ `ALTER TABLE "MonitorStatus" ALTER COLUMN "color" TYPE character varying(7)`,
57
+ );
58
+ await queryRunner.query(
59
+ `ALTER TABLE "IncidentFeed" ALTER COLUMN "displayColor" TYPE character varying(7)`,
60
+ );
61
+ await queryRunner.query(
62
+ `ALTER TABLE "AlertSeverity" ALTER COLUMN "color" TYPE character varying(7)`,
63
+ );
64
+ await queryRunner.query(
65
+ `ALTER TABLE "AlertState" ALTER COLUMN "color" TYPE character varying(7)`,
66
+ );
67
+ await queryRunner.query(
68
+ `ALTER TABLE "ScheduledMaintenanceState" ALTER COLUMN "color" TYPE character varying(7)`,
69
+ );
70
+ await queryRunner.query(
71
+ `ALTER TABLE "StatusPage" ALTER COLUMN "defaultBarColor" TYPE character varying(7)`,
72
+ );
73
+ await queryRunner.query(
74
+ `ALTER TABLE "StatusPageHistoryChartBarColorRule" ALTER COLUMN "barColor" TYPE character varying(7)`,
75
+ );
76
+ await queryRunner.query(
77
+ `ALTER TABLE "AlertFeed" ALTER COLUMN "displayColor" TYPE character varying(7)`,
78
+ );
79
+ await queryRunner.query(
80
+ `ALTER TABLE "ScheduledMaintenanceFeed" ALTER COLUMN "displayColor" TYPE character varying(7)`,
81
+ );
82
+ }
83
+ }
@@ -0,0 +1,39 @@
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+
3
+ export class MigrationName1736788706141 implements MigrationInterface {
4
+ public name = "MigrationName1736788706141";
5
+
6
+ public async up(queryRunner: QueryRunner): Promise<void> {
7
+ await queryRunner.query(`ALTER TABLE "IncidentFeed" ADD "userId" uuid`);
8
+ await queryRunner.query(`ALTER TABLE "AlertFeed" ADD "userId" uuid`);
9
+ await queryRunner.query(
10
+ `ALTER TABLE "ScheduledMaintenanceFeed" ADD "userId" uuid`,
11
+ );
12
+ await queryRunner.query(
13
+ `ALTER TABLE "IncidentFeed" ADD CONSTRAINT "FK_010577090e59583da93c867f541" FOREIGN KEY ("userId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
14
+ );
15
+ await queryRunner.query(
16
+ `ALTER TABLE "AlertFeed" ADD CONSTRAINT "FK_97b19fbc90b6105614cc0cba300" FOREIGN KEY ("userId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
17
+ );
18
+ await queryRunner.query(
19
+ `ALTER TABLE "ScheduledMaintenanceFeed" ADD CONSTRAINT "FK_541c2b40579cbf342c8850ced2b" FOREIGN KEY ("userId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
20
+ );
21
+ }
22
+
23
+ public async down(queryRunner: QueryRunner): Promise<void> {
24
+ await queryRunner.query(
25
+ `ALTER TABLE "ScheduledMaintenanceFeed" DROP CONSTRAINT "FK_541c2b40579cbf342c8850ced2b"`,
26
+ );
27
+ await queryRunner.query(
28
+ `ALTER TABLE "AlertFeed" DROP CONSTRAINT "FK_97b19fbc90b6105614cc0cba300"`,
29
+ );
30
+ await queryRunner.query(
31
+ `ALTER TABLE "IncidentFeed" DROP CONSTRAINT "FK_010577090e59583da93c867f541"`,
32
+ );
33
+ await queryRunner.query(
34
+ `ALTER TABLE "ScheduledMaintenanceFeed" DROP COLUMN "userId"`,
35
+ );
36
+ await queryRunner.query(`ALTER TABLE "AlertFeed" DROP COLUMN "userId"`);
37
+ await queryRunner.query(`ALTER TABLE "IncidentFeed" DROP COLUMN "userId"`);
38
+ }
39
+ }