@oneuptime/common 7.0.3035 → 7.0.3040
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.
- package/Models/DatabaseModels/IncidentNoteTemplate.ts +8 -0
- package/Models/DatabaseModels/IncidentTemplate.ts +8 -0
- package/Models/DatabaseModels/Index.ts +6 -0
- package/Models/DatabaseModels/ScheduledMaintenance.ts +70 -0
- package/Models/DatabaseModels/ScheduledMaintenanceTemplate.ts +988 -0
- package/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerTeam.ts +390 -0
- package/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerUser.ts +389 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1725880508430-MigrationName.ts +269 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1725881099935-MigrationName.ts +17 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1725881475134-MigrationName.ts +35 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1725884177663-MigrationName.ts +29 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1725898621366-MigrationName.ts +29 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1725900315712-MigrationName.ts +59 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1725901024444-MigrationName.ts +23 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1725975175669-MigrationName.ts +29 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1725976810107-MigrationName.ts +17 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +18 -0
- package/Server/Services/IncidentService.ts +45 -0
- package/Server/Services/IncidentStateService.ts +47 -6
- package/Server/Services/Index.ts +8 -0
- package/Server/Services/ScheduledMaintenanceService.ts +308 -1
- package/Server/Services/ScheduledMaintenanceTemplateOwnerTeamService.ts +10 -0
- package/Server/Services/ScheduledMaintenanceTemplateOwnerUserService.ts +10 -0
- package/Server/Services/ScheduledMaintenanceTemplateService.ts +318 -0
- package/Types/Database/DatabaseProperty.ts +6 -3
- package/Types/Events/Recurring.ts +86 -41
- package/Types/Permission.ts +115 -1
- package/Types/SerializableObjectDictionary.ts +2 -0
- package/UI/Components/Detail/Detail.tsx +12 -3
- package/UI/Components/Detail/Field.ts +1 -1
- package/UI/Components/Events/RecurringArrayFieldElement.tsx +104 -0
- package/UI/Components/Events/RecurringArrayViewElement.tsx +37 -0
- package/UI/Components/Events/RecurringViewElement.tsx +2 -0
- package/build/dist/Models/DatabaseModels/IncidentNoteTemplate.js +8 -0
- package/build/dist/Models/DatabaseModels/IncidentNoteTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentTemplate.js +8 -0
- package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +6 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +73 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js +1012 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerTeam.js +402 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerTeam.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerUser.js +401 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerUser.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725880508430-MigrationName.js +98 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725880508430-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725881099935-MigrationName.js +12 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725881099935-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725881475134-MigrationName.js +18 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725881475134-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725884177663-MigrationName.js +16 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725884177663-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725898621366-MigrationName.js +16 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725898621366-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725900315712-MigrationName.js +26 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725900315712-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725901024444-MigrationName.js +14 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725901024444-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725975175669-MigrationName.js +16 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725975175669-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725976810107-MigrationName.js +12 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725976810107-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +18 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/IncidentService.js +34 -0
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Services/IncidentStateService.js +25 -2
- package/build/dist/Server/Services/IncidentStateService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +7 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceService.js +209 -1
- package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceTemplateOwnerTeamService.js +9 -0
- package/build/dist/Server/Services/ScheduledMaintenanceTemplateOwnerTeamService.js.map +1 -0
- package/build/dist/Server/Services/ScheduledMaintenanceTemplateOwnerUserService.js +9 -0
- package/build/dist/Server/Services/ScheduledMaintenanceTemplateOwnerUserService.js.map +1 -0
- package/build/dist/Server/Services/ScheduledMaintenanceTemplateService.js +203 -0
- package/build/dist/Server/Services/ScheduledMaintenanceTemplateService.js.map +1 -0
- package/build/dist/Types/Database/DatabaseProperty.js.map +1 -1
- package/build/dist/Types/Events/Recurring.js +47 -20
- package/build/dist/Types/Events/Recurring.js.map +1 -1
- package/build/dist/Types/Permission.js +97 -1
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/SerializableObjectDictionary.js +2 -0
- package/build/dist/Types/SerializableObjectDictionary.js.map +1 -1
- package/build/dist/UI/Components/Detail/Detail.js +9 -1
- package/build/dist/UI/Components/Detail/Detail.js.map +1 -1
- package/build/dist/UI/Components/Events/RecurringArrayFieldElement.js +49 -0
- package/build/dist/UI/Components/Events/RecurringArrayFieldElement.js.map +1 -0
- package/build/dist/UI/Components/Events/RecurringArrayViewElement.js +18 -0
- package/build/dist/UI/Components/Events/RecurringArrayViewElement.js.map +1 -0
- package/build/dist/UI/Components/Events/RecurringViewElement.js +2 -1
- package/build/dist/UI/Components/Events/RecurringViewElement.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,389 @@
|
|
|
1
|
+
import Project from "./Project";
|
|
2
|
+
import User from "./User";
|
|
3
|
+
import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
|
|
4
|
+
import Route from "../../Types/API/Route";
|
|
5
|
+
import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
|
|
6
|
+
import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
|
|
7
|
+
import ColumnType from "../../Types/Database/ColumnType";
|
|
8
|
+
import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
|
|
9
|
+
import EnableDocumentation from "../../Types/Database/EnableDocumentation";
|
|
10
|
+
import EnableWorkflow from "../../Types/Database/EnableWorkflow";
|
|
11
|
+
import TableColumn from "../../Types/Database/TableColumn";
|
|
12
|
+
import TableColumnType from "../../Types/Database/TableColumnType";
|
|
13
|
+
import TableMetadata from "../../Types/Database/TableMetadata";
|
|
14
|
+
import TenantColumn from "../../Types/Database/TenantColumn";
|
|
15
|
+
import IconProp from "../../Types/Icon/IconProp";
|
|
16
|
+
import ObjectID from "../../Types/ObjectID";
|
|
17
|
+
import Permission from "../../Types/Permission";
|
|
18
|
+
import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
|
|
19
|
+
import ScheduledMaintenanceTemplate from "./ScheduledMaintenanceTemplate";
|
|
20
|
+
|
|
21
|
+
@EnableDocumentation()
|
|
22
|
+
@TenantColumn("projectId")
|
|
23
|
+
@TableAccessControl({
|
|
24
|
+
create: [
|
|
25
|
+
Permission.ProjectOwner,
|
|
26
|
+
Permission.ProjectAdmin,
|
|
27
|
+
Permission.ProjectMember,
|
|
28
|
+
Permission.CreateScheduledMaintenanceTemplateOwnerUser,
|
|
29
|
+
],
|
|
30
|
+
read: [
|
|
31
|
+
Permission.ProjectOwner,
|
|
32
|
+
Permission.ProjectAdmin,
|
|
33
|
+
Permission.ProjectMember,
|
|
34
|
+
Permission.ReadScheduledMaintenanceTemplateOwnerUser,
|
|
35
|
+
],
|
|
36
|
+
delete: [
|
|
37
|
+
Permission.ProjectOwner,
|
|
38
|
+
Permission.ProjectAdmin,
|
|
39
|
+
Permission.ProjectMember,
|
|
40
|
+
Permission.DeleteScheduledMaintenanceTemplateOwnerUser,
|
|
41
|
+
],
|
|
42
|
+
update: [
|
|
43
|
+
Permission.ProjectOwner,
|
|
44
|
+
Permission.ProjectAdmin,
|
|
45
|
+
Permission.ProjectMember,
|
|
46
|
+
Permission.EditScheduledMaintenanceTemplateOwnerUser,
|
|
47
|
+
],
|
|
48
|
+
})
|
|
49
|
+
@EnableWorkflow({
|
|
50
|
+
create: true,
|
|
51
|
+
delete: true,
|
|
52
|
+
update: true,
|
|
53
|
+
read: true,
|
|
54
|
+
})
|
|
55
|
+
@CrudApiEndpoint(new Route("/scheduled-maintenance-template--owner-user"))
|
|
56
|
+
@TableMetadata({
|
|
57
|
+
tableName: "ScheduledMaintenanceTemplateOwnerUser",
|
|
58
|
+
singularName: "Scheduled Maintenance Template User Owner",
|
|
59
|
+
pluralName: "Scheduled Maintenance Template User Owners",
|
|
60
|
+
icon: IconProp.Signal,
|
|
61
|
+
tableDescription:
|
|
62
|
+
"Add users as owners to your scheduled maintenance template.",
|
|
63
|
+
})
|
|
64
|
+
@Entity({
|
|
65
|
+
name: "ScheduledMaintenanceTemplateOwnerUser",
|
|
66
|
+
})
|
|
67
|
+
export default class ScheduledMaintenanceTemplateOwnerUser extends BaseModel {
|
|
68
|
+
@ColumnAccessControl({
|
|
69
|
+
create: [
|
|
70
|
+
Permission.ProjectOwner,
|
|
71
|
+
Permission.ProjectAdmin,
|
|
72
|
+
Permission.ProjectMember,
|
|
73
|
+
Permission.CreateScheduledMaintenanceTemplateOwnerUser,
|
|
74
|
+
],
|
|
75
|
+
read: [
|
|
76
|
+
Permission.ProjectOwner,
|
|
77
|
+
Permission.ProjectAdmin,
|
|
78
|
+
Permission.ProjectMember,
|
|
79
|
+
Permission.ReadScheduledMaintenanceTemplateOwnerUser,
|
|
80
|
+
],
|
|
81
|
+
update: [],
|
|
82
|
+
})
|
|
83
|
+
@TableColumn({
|
|
84
|
+
manyToOneRelationColumn: "projectId",
|
|
85
|
+
type: TableColumnType.Entity,
|
|
86
|
+
modelType: Project,
|
|
87
|
+
title: "Project",
|
|
88
|
+
description: "Relation to Project Resource in which this object belongs",
|
|
89
|
+
})
|
|
90
|
+
@ManyToOne(
|
|
91
|
+
() => {
|
|
92
|
+
return Project;
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
eager: false,
|
|
96
|
+
nullable: false,
|
|
97
|
+
onDelete: "CASCADE",
|
|
98
|
+
orphanedRowAction: "nullify",
|
|
99
|
+
},
|
|
100
|
+
)
|
|
101
|
+
@JoinColumn({ name: "projectId" })
|
|
102
|
+
public project?: Project = undefined;
|
|
103
|
+
|
|
104
|
+
@ColumnAccessControl({
|
|
105
|
+
create: [
|
|
106
|
+
Permission.ProjectOwner,
|
|
107
|
+
Permission.ProjectAdmin,
|
|
108
|
+
Permission.ProjectMember,
|
|
109
|
+
Permission.CreateScheduledMaintenanceTemplateOwnerUser,
|
|
110
|
+
],
|
|
111
|
+
read: [
|
|
112
|
+
Permission.ProjectOwner,
|
|
113
|
+
Permission.ProjectAdmin,
|
|
114
|
+
Permission.ProjectMember,
|
|
115
|
+
Permission.ReadScheduledMaintenanceTemplateOwnerUser,
|
|
116
|
+
],
|
|
117
|
+
update: [],
|
|
118
|
+
})
|
|
119
|
+
@Index()
|
|
120
|
+
@TableColumn({
|
|
121
|
+
type: TableColumnType.ObjectID,
|
|
122
|
+
required: true,
|
|
123
|
+
canReadOnRelationQuery: true,
|
|
124
|
+
title: "Project ID",
|
|
125
|
+
description: "ID of your OneUptime Project in which this object belongs",
|
|
126
|
+
})
|
|
127
|
+
@Column({
|
|
128
|
+
type: ColumnType.ObjectID,
|
|
129
|
+
nullable: false,
|
|
130
|
+
transformer: ObjectID.getDatabaseTransformer(),
|
|
131
|
+
})
|
|
132
|
+
public projectId?: ObjectID = undefined;
|
|
133
|
+
|
|
134
|
+
@ColumnAccessControl({
|
|
135
|
+
create: [
|
|
136
|
+
Permission.ProjectOwner,
|
|
137
|
+
Permission.ProjectAdmin,
|
|
138
|
+
Permission.ProjectMember,
|
|
139
|
+
Permission.CreateScheduledMaintenanceTemplateOwnerUser,
|
|
140
|
+
],
|
|
141
|
+
read: [
|
|
142
|
+
Permission.ProjectOwner,
|
|
143
|
+
Permission.ProjectAdmin,
|
|
144
|
+
Permission.ProjectMember,
|
|
145
|
+
Permission.ReadScheduledMaintenanceTemplateOwnerUser,
|
|
146
|
+
],
|
|
147
|
+
update: [],
|
|
148
|
+
})
|
|
149
|
+
@TableColumn({
|
|
150
|
+
manyToOneRelationColumn: "userId",
|
|
151
|
+
type: TableColumnType.Entity,
|
|
152
|
+
modelType: User,
|
|
153
|
+
title: "User",
|
|
154
|
+
description:
|
|
155
|
+
"User that is the owner. This user will receive notifications. ",
|
|
156
|
+
})
|
|
157
|
+
@ManyToOne(
|
|
158
|
+
() => {
|
|
159
|
+
return User;
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
eager: false,
|
|
163
|
+
nullable: true,
|
|
164
|
+
onDelete: "CASCADE",
|
|
165
|
+
orphanedRowAction: "nullify",
|
|
166
|
+
},
|
|
167
|
+
)
|
|
168
|
+
@JoinColumn({ name: "userId" })
|
|
169
|
+
public user?: User = undefined;
|
|
170
|
+
|
|
171
|
+
@ColumnAccessControl({
|
|
172
|
+
create: [
|
|
173
|
+
Permission.ProjectOwner,
|
|
174
|
+
Permission.ProjectAdmin,
|
|
175
|
+
Permission.ProjectMember,
|
|
176
|
+
Permission.CreateScheduledMaintenanceTemplateOwnerUser,
|
|
177
|
+
],
|
|
178
|
+
read: [
|
|
179
|
+
Permission.ProjectOwner,
|
|
180
|
+
Permission.ProjectAdmin,
|
|
181
|
+
Permission.ProjectMember,
|
|
182
|
+
Permission.ReadScheduledMaintenanceTemplateOwnerUser,
|
|
183
|
+
],
|
|
184
|
+
update: [],
|
|
185
|
+
})
|
|
186
|
+
@Index()
|
|
187
|
+
@TableColumn({
|
|
188
|
+
type: TableColumnType.ObjectID,
|
|
189
|
+
required: true,
|
|
190
|
+
canReadOnRelationQuery: true,
|
|
191
|
+
title: "User ID",
|
|
192
|
+
description: "ID of your OneUptime User in which this object belongs",
|
|
193
|
+
})
|
|
194
|
+
@Column({
|
|
195
|
+
type: ColumnType.ObjectID,
|
|
196
|
+
nullable: false,
|
|
197
|
+
transformer: ObjectID.getDatabaseTransformer(),
|
|
198
|
+
})
|
|
199
|
+
public userId?: ObjectID = undefined;
|
|
200
|
+
|
|
201
|
+
@ColumnAccessControl({
|
|
202
|
+
create: [
|
|
203
|
+
Permission.ProjectOwner,
|
|
204
|
+
Permission.ProjectAdmin,
|
|
205
|
+
Permission.ProjectMember,
|
|
206
|
+
Permission.CreateScheduledMaintenanceTemplateOwnerTeam,
|
|
207
|
+
],
|
|
208
|
+
read: [
|
|
209
|
+
Permission.ProjectOwner,
|
|
210
|
+
Permission.ProjectAdmin,
|
|
211
|
+
Permission.ProjectMember,
|
|
212
|
+
Permission.ReadScheduledMaintenanceTemplateOwnerTeam,
|
|
213
|
+
],
|
|
214
|
+
update: [],
|
|
215
|
+
})
|
|
216
|
+
@TableColumn({
|
|
217
|
+
manyToOneRelationColumn: "scheduledMaintenanceTemplateId",
|
|
218
|
+
type: TableColumnType.Entity,
|
|
219
|
+
modelType: ScheduledMaintenanceTemplate,
|
|
220
|
+
title: "ScheduledMaintenanceTemplate",
|
|
221
|
+
description:
|
|
222
|
+
"Relation to Scheduled Maintenance Template Resource in which this object belongs",
|
|
223
|
+
})
|
|
224
|
+
@ManyToOne(
|
|
225
|
+
() => {
|
|
226
|
+
return ScheduledMaintenanceTemplate;
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
eager: false,
|
|
230
|
+
nullable: true,
|
|
231
|
+
onDelete: "CASCADE",
|
|
232
|
+
orphanedRowAction: "nullify",
|
|
233
|
+
},
|
|
234
|
+
)
|
|
235
|
+
@JoinColumn({ name: "scheduledMaintenanceTemplateId" })
|
|
236
|
+
public scheduledMaintenanceTemplate?: ScheduledMaintenanceTemplate =
|
|
237
|
+
undefined;
|
|
238
|
+
|
|
239
|
+
@ColumnAccessControl({
|
|
240
|
+
create: [
|
|
241
|
+
Permission.ProjectOwner,
|
|
242
|
+
Permission.ProjectAdmin,
|
|
243
|
+
Permission.ProjectMember,
|
|
244
|
+
Permission.CreateScheduledMaintenanceTemplateOwnerTeam,
|
|
245
|
+
],
|
|
246
|
+
read: [
|
|
247
|
+
Permission.ProjectOwner,
|
|
248
|
+
Permission.ProjectAdmin,
|
|
249
|
+
Permission.ProjectMember,
|
|
250
|
+
Permission.ReadScheduledMaintenanceTemplateOwnerTeam,
|
|
251
|
+
],
|
|
252
|
+
update: [],
|
|
253
|
+
})
|
|
254
|
+
@Index()
|
|
255
|
+
@TableColumn({
|
|
256
|
+
type: TableColumnType.ObjectID,
|
|
257
|
+
required: true,
|
|
258
|
+
canReadOnRelationQuery: true,
|
|
259
|
+
title: "Scheduled Maintenance Template ID",
|
|
260
|
+
description:
|
|
261
|
+
"ID of your OneUptime Scheduled Maintenance Template in which this object belongs",
|
|
262
|
+
})
|
|
263
|
+
@Column({
|
|
264
|
+
type: ColumnType.ObjectID,
|
|
265
|
+
nullable: false,
|
|
266
|
+
transformer: ObjectID.getDatabaseTransformer(),
|
|
267
|
+
})
|
|
268
|
+
public scheduledMaintenanceTemplateId?: ObjectID = undefined;
|
|
269
|
+
|
|
270
|
+
@ColumnAccessControl({
|
|
271
|
+
create: [
|
|
272
|
+
Permission.ProjectOwner,
|
|
273
|
+
Permission.ProjectAdmin,
|
|
274
|
+
Permission.ProjectMember,
|
|
275
|
+
Permission.CreateScheduledMaintenanceTemplateOwnerUser,
|
|
276
|
+
],
|
|
277
|
+
read: [
|
|
278
|
+
Permission.ProjectOwner,
|
|
279
|
+
Permission.ProjectAdmin,
|
|
280
|
+
Permission.ProjectMember,
|
|
281
|
+
Permission.ReadScheduledMaintenanceTemplateOwnerUser,
|
|
282
|
+
],
|
|
283
|
+
update: [],
|
|
284
|
+
})
|
|
285
|
+
@TableColumn({
|
|
286
|
+
manyToOneRelationColumn: "createdByUserId",
|
|
287
|
+
type: TableColumnType.Entity,
|
|
288
|
+
modelType: User,
|
|
289
|
+
title: "Created by User",
|
|
290
|
+
description:
|
|
291
|
+
"Relation to User who created this object (if this object was created by a User)",
|
|
292
|
+
})
|
|
293
|
+
@ManyToOne(
|
|
294
|
+
() => {
|
|
295
|
+
return User;
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
eager: false,
|
|
299
|
+
nullable: true,
|
|
300
|
+
onDelete: "CASCADE",
|
|
301
|
+
orphanedRowAction: "nullify",
|
|
302
|
+
},
|
|
303
|
+
)
|
|
304
|
+
@JoinColumn({ name: "createdByUserId" })
|
|
305
|
+
public createdByUser?: User = undefined;
|
|
306
|
+
|
|
307
|
+
@ColumnAccessControl({
|
|
308
|
+
create: [
|
|
309
|
+
Permission.ProjectOwner,
|
|
310
|
+
Permission.ProjectAdmin,
|
|
311
|
+
Permission.ProjectMember,
|
|
312
|
+
Permission.CreateScheduledMaintenanceTemplateOwnerUser,
|
|
313
|
+
],
|
|
314
|
+
read: [
|
|
315
|
+
Permission.ProjectOwner,
|
|
316
|
+
Permission.ProjectAdmin,
|
|
317
|
+
Permission.ProjectMember,
|
|
318
|
+
Permission.ReadScheduledMaintenanceTemplateOwnerUser,
|
|
319
|
+
],
|
|
320
|
+
update: [],
|
|
321
|
+
})
|
|
322
|
+
@TableColumn({
|
|
323
|
+
type: TableColumnType.ObjectID,
|
|
324
|
+
title: "Created by User ID",
|
|
325
|
+
description:
|
|
326
|
+
"User ID who created this object (if this object was created by a User)",
|
|
327
|
+
})
|
|
328
|
+
@Column({
|
|
329
|
+
type: ColumnType.ObjectID,
|
|
330
|
+
nullable: true,
|
|
331
|
+
transformer: ObjectID.getDatabaseTransformer(),
|
|
332
|
+
})
|
|
333
|
+
public createdByUserId?: ObjectID = undefined;
|
|
334
|
+
|
|
335
|
+
@ColumnAccessControl({
|
|
336
|
+
create: [],
|
|
337
|
+
read: [
|
|
338
|
+
Permission.ProjectOwner,
|
|
339
|
+
Permission.ProjectAdmin,
|
|
340
|
+
Permission.ProjectMember,
|
|
341
|
+
Permission.ReadScheduledMaintenanceTemplateOwnerUser,
|
|
342
|
+
],
|
|
343
|
+
update: [],
|
|
344
|
+
})
|
|
345
|
+
@TableColumn({
|
|
346
|
+
manyToOneRelationColumn: "deletedByUserId",
|
|
347
|
+
type: TableColumnType.Entity,
|
|
348
|
+
title: "Deleted by User",
|
|
349
|
+
description:
|
|
350
|
+
"Relation to User who deleted this object (if this object was deleted by a User)",
|
|
351
|
+
})
|
|
352
|
+
@ManyToOne(
|
|
353
|
+
() => {
|
|
354
|
+
return User;
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
cascade: false,
|
|
358
|
+
eager: false,
|
|
359
|
+
nullable: true,
|
|
360
|
+
onDelete: "CASCADE",
|
|
361
|
+
orphanedRowAction: "nullify",
|
|
362
|
+
},
|
|
363
|
+
)
|
|
364
|
+
@JoinColumn({ name: "deletedByUserId" })
|
|
365
|
+
public deletedByUser?: User = undefined;
|
|
366
|
+
|
|
367
|
+
@ColumnAccessControl({
|
|
368
|
+
create: [],
|
|
369
|
+
read: [
|
|
370
|
+
Permission.ProjectOwner,
|
|
371
|
+
Permission.ProjectAdmin,
|
|
372
|
+
Permission.ProjectMember,
|
|
373
|
+
Permission.ReadScheduledMaintenanceTemplateOwnerUser,
|
|
374
|
+
],
|
|
375
|
+
update: [],
|
|
376
|
+
})
|
|
377
|
+
@TableColumn({
|
|
378
|
+
type: TableColumnType.ObjectID,
|
|
379
|
+
title: "Deleted by User ID",
|
|
380
|
+
description:
|
|
381
|
+
"User ID who deleted this object (if this object was deleted by a User)",
|
|
382
|
+
})
|
|
383
|
+
@Column({
|
|
384
|
+
type: ColumnType.ObjectID,
|
|
385
|
+
nullable: true,
|
|
386
|
+
transformer: ObjectID.getDatabaseTransformer(),
|
|
387
|
+
})
|
|
388
|
+
public deletedByUserId?: ObjectID = undefined;
|
|
389
|
+
}
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner } from "typeorm";
|
|
2
|
+
|
|
3
|
+
export class MigrationName1725880508430 implements MigrationInterface {
|
|
4
|
+
public name = "MigrationName1725880508430";
|
|
5
|
+
|
|
6
|
+
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
7
|
+
await queryRunner.query(
|
|
8
|
+
`CREATE TABLE "ScheduledMaintenanceTemplate" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP, "version" integer NOT NULL, "projectId" uuid NOT NULL, "title" character varying(100) NOT NULL, "description" text, "slug" character varying(100) NOT NULL, "createdByUserId" uuid, "deletedByUserId" uuid, "currentScheduledMaintenanceStateId" uuid NOT NULL, "changeMonitorStatusToId" uuid, "startsAt" TIMESTAMP WITH TIME ZONE NOT NULL, "endsAt" TIMESTAMP WITH TIME ZONE NOT NULL, "shouldStatusPageSubscribersBeNotifiedOnEventCreated" boolean NOT NULL DEFAULT true, "shouldStatusPageSubscribersBeNotifiedWhenEventChangedToOngoing" boolean NOT NULL DEFAULT true, "shouldStatusPageSubscribersBeNotifiedWhenEventChangedToEnded" boolean NOT NULL DEFAULT true, "customFields" jsonb, CONSTRAINT "UQ_389395798bdc01f66af7f579a93" UNIQUE ("slug"), CONSTRAINT "PK_92912fb2ee31a1d2912e0077b65" PRIMARY KEY ("_id"))`,
|
|
9
|
+
);
|
|
10
|
+
await queryRunner.query(
|
|
11
|
+
`CREATE INDEX "IDX_4bc0497469ba2ff3f0529b559b" ON "ScheduledMaintenanceTemplate" ("projectId") `,
|
|
12
|
+
);
|
|
13
|
+
await queryRunner.query(
|
|
14
|
+
`CREATE INDEX "IDX_80207298923fc3ab7f81dd894e" ON "ScheduledMaintenanceTemplate" ("title") `,
|
|
15
|
+
);
|
|
16
|
+
await queryRunner.query(
|
|
17
|
+
`CREATE INDEX "IDX_389395798bdc01f66af7f579a9" ON "ScheduledMaintenanceTemplate" ("slug") `,
|
|
18
|
+
);
|
|
19
|
+
await queryRunner.query(
|
|
20
|
+
`CREATE INDEX "IDX_aea47be8b8af9673e9639e7dae" ON "ScheduledMaintenanceTemplate" ("currentScheduledMaintenanceStateId") `,
|
|
21
|
+
);
|
|
22
|
+
await queryRunner.query(
|
|
23
|
+
`CREATE INDEX "IDX_4cc8c23853c501e97775da6ed3" ON "ScheduledMaintenanceTemplate" ("changeMonitorStatusToId") `,
|
|
24
|
+
);
|
|
25
|
+
await queryRunner.query(
|
|
26
|
+
`CREATE TABLE "ScheduledMaintenanceTemplateOwnerTeam" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP, "version" integer NOT NULL, "projectId" uuid NOT NULL, "teamId" uuid NOT NULL, "scheduledMaintenanceTemplateId" uuid NOT NULL, "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_b24970c6b2650f20d7b49f8ecaa" PRIMARY KEY ("_id"))`,
|
|
27
|
+
);
|
|
28
|
+
await queryRunner.query(
|
|
29
|
+
`CREATE INDEX "IDX_5f1e2a1690bb206db8e347e3a1" ON "ScheduledMaintenanceTemplateOwnerTeam" ("projectId") `,
|
|
30
|
+
);
|
|
31
|
+
await queryRunner.query(
|
|
32
|
+
`CREATE INDEX "IDX_b036b7ebd2dac47873ec747569" ON "ScheduledMaintenanceTemplateOwnerTeam" ("teamId") `,
|
|
33
|
+
);
|
|
34
|
+
await queryRunner.query(
|
|
35
|
+
`CREATE INDEX "IDX_aaa6f86f8051e665c5f89e2d50" ON "ScheduledMaintenanceTemplateOwnerTeam" ("scheduledMaintenanceTemplateId") `,
|
|
36
|
+
);
|
|
37
|
+
await queryRunner.query(
|
|
38
|
+
`CREATE TABLE "ScheduledMaintenanceTemplateOwnerUser" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP, "version" integer NOT NULL, "projectId" uuid NOT NULL, "userId" uuid NOT NULL, "scheduledMaintenanceTemplateId" uuid NOT NULL, "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_5fcc3e2c12a767272df3c5b5bcf" PRIMARY KEY ("_id"))`,
|
|
39
|
+
);
|
|
40
|
+
await queryRunner.query(
|
|
41
|
+
`CREATE INDEX "IDX_140d75c5e19b78bb8ae501e13c" ON "ScheduledMaintenanceTemplateOwnerUser" ("projectId") `,
|
|
42
|
+
);
|
|
43
|
+
await queryRunner.query(
|
|
44
|
+
`CREATE INDEX "IDX_fdb90f1cfbc8e93f112cdb6d7f" ON "ScheduledMaintenanceTemplateOwnerUser" ("userId") `,
|
|
45
|
+
);
|
|
46
|
+
await queryRunner.query(
|
|
47
|
+
`CREATE INDEX "IDX_f6f33a193e706fd33bf73a082d" ON "ScheduledMaintenanceTemplateOwnerUser" ("scheduledMaintenanceTemplateId") `,
|
|
48
|
+
);
|
|
49
|
+
await queryRunner.query(
|
|
50
|
+
`CREATE TABLE "ScheduledMaintenanceTemplateMonitor" ("scheduledMaintenanceTemplateId" uuid NOT NULL, "monitorId" uuid NOT NULL, CONSTRAINT "PK_02a4a6de799fb67ef398fa4a3c3" PRIMARY KEY ("scheduledMaintenanceTemplateId", "monitorId"))`,
|
|
51
|
+
);
|
|
52
|
+
await queryRunner.query(
|
|
53
|
+
`CREATE INDEX "IDX_0eda8905ca25a3eec57cb19fab" ON "ScheduledMaintenanceTemplateMonitor" ("scheduledMaintenanceTemplateId") `,
|
|
54
|
+
);
|
|
55
|
+
await queryRunner.query(
|
|
56
|
+
`CREATE INDEX "IDX_db24c4717822cde914200b7c85" ON "ScheduledMaintenanceTemplateMonitor" ("monitorId") `,
|
|
57
|
+
);
|
|
58
|
+
await queryRunner.query(
|
|
59
|
+
`CREATE TABLE "ScheduledMaintenanceTemplateStatusPage" ("scheduledMaintenanceTemplateId" uuid NOT NULL, "statusPageId" uuid NOT NULL, CONSTRAINT "PK_4e794eaefae58b86e93a53d8706" PRIMARY KEY ("scheduledMaintenanceTemplateId", "statusPageId"))`,
|
|
60
|
+
);
|
|
61
|
+
await queryRunner.query(
|
|
62
|
+
`CREATE INDEX "IDX_b57f8cba41ee1e45fe68132565" ON "ScheduledMaintenanceTemplateStatusPage" ("scheduledMaintenanceTemplateId") `,
|
|
63
|
+
);
|
|
64
|
+
await queryRunner.query(
|
|
65
|
+
`CREATE INDEX "IDX_f64b739e4faa9a5d049fbd9188" ON "ScheduledMaintenanceTemplateStatusPage" ("statusPageId") `,
|
|
66
|
+
);
|
|
67
|
+
await queryRunner.query(
|
|
68
|
+
`CREATE TABLE "ScheduledMaintenanceTemplateLabel" ("scheduledMaintenanceTemplateId" uuid NOT NULL, "labelId" uuid NOT NULL, CONSTRAINT "PK_04b58817e7f5914ee51715c8010" PRIMARY KEY ("scheduledMaintenanceTemplateId", "labelId"))`,
|
|
69
|
+
);
|
|
70
|
+
await queryRunner.query(
|
|
71
|
+
`CREATE INDEX "IDX_fce937b99d63f0a489b94725af" ON "ScheduledMaintenanceTemplateLabel" ("scheduledMaintenanceTemplateId") `,
|
|
72
|
+
);
|
|
73
|
+
await queryRunner.query(
|
|
74
|
+
`CREATE INDEX "IDX_ac1b6389a147d1556e38de4bff" ON "ScheduledMaintenanceTemplateLabel" ("labelId") `,
|
|
75
|
+
);
|
|
76
|
+
await queryRunner.query(
|
|
77
|
+
`ALTER TABLE "ScheduledMaintenanceTemplate" ADD CONSTRAINT "FK_4bc0497469ba2ff3f0529b559bf" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
78
|
+
);
|
|
79
|
+
await queryRunner.query(
|
|
80
|
+
`ALTER TABLE "ScheduledMaintenanceTemplate" ADD CONSTRAINT "FK_f4c80315f60dcc694fd21777787" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
81
|
+
);
|
|
82
|
+
await queryRunner.query(
|
|
83
|
+
`ALTER TABLE "ScheduledMaintenanceTemplate" ADD CONSTRAINT "FK_ee916416bbbc5f73761cbee3d22" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
84
|
+
);
|
|
85
|
+
await queryRunner.query(
|
|
86
|
+
`ALTER TABLE "ScheduledMaintenanceTemplate" ADD CONSTRAINT "FK_aea47be8b8af9673e9639e7dae3" FOREIGN KEY ("currentScheduledMaintenanceStateId") REFERENCES "ScheduledMaintenanceState"("_id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
|
|
87
|
+
);
|
|
88
|
+
await queryRunner.query(
|
|
89
|
+
`ALTER TABLE "ScheduledMaintenanceTemplate" ADD CONSTRAINT "FK_4cc8c23853c501e97775da6ed31" FOREIGN KEY ("changeMonitorStatusToId") REFERENCES "MonitorStatus"("_id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
|
|
90
|
+
);
|
|
91
|
+
await queryRunner.query(
|
|
92
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateOwnerTeam" ADD CONSTRAINT "FK_5f1e2a1690bb206db8e347e3a11" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
93
|
+
);
|
|
94
|
+
await queryRunner.query(
|
|
95
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateOwnerTeam" ADD CONSTRAINT "FK_b036b7ebd2dac47873ec7475694" FOREIGN KEY ("teamId") REFERENCES "Team"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
96
|
+
);
|
|
97
|
+
await queryRunner.query(
|
|
98
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateOwnerTeam" ADD CONSTRAINT "FK_aaa6f86f8051e665c5f89e2d50f" FOREIGN KEY ("scheduledMaintenanceTemplateId") REFERENCES "ScheduledMaintenanceTemplate"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
99
|
+
);
|
|
100
|
+
await queryRunner.query(
|
|
101
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateOwnerTeam" ADD CONSTRAINT "FK_b49e225394926114327cc3ad7ca" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
102
|
+
);
|
|
103
|
+
await queryRunner.query(
|
|
104
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateOwnerTeam" ADD CONSTRAINT "FK_0c26675c50ec4624c10255a85c9" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
105
|
+
);
|
|
106
|
+
await queryRunner.query(
|
|
107
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateOwnerUser" ADD CONSTRAINT "FK_140d75c5e19b78bb8ae501e13cb" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
108
|
+
);
|
|
109
|
+
await queryRunner.query(
|
|
110
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateOwnerUser" ADD CONSTRAINT "FK_fdb90f1cfbc8e93f112cdb6d7f6" FOREIGN KEY ("userId") REFERENCES "User"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
111
|
+
);
|
|
112
|
+
await queryRunner.query(
|
|
113
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateOwnerUser" ADD CONSTRAINT "FK_f6f33a193e706fd33bf73a082d7" FOREIGN KEY ("scheduledMaintenanceTemplateId") REFERENCES "ScheduledMaintenanceTemplate"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
114
|
+
);
|
|
115
|
+
await queryRunner.query(
|
|
116
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateOwnerUser" ADD CONSTRAINT "FK_1c3750c2c2128cf912fa580a45f" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
117
|
+
);
|
|
118
|
+
await queryRunner.query(
|
|
119
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateOwnerUser" ADD CONSTRAINT "FK_64da70a3e70ddc728b6b15659ca" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
|
|
120
|
+
);
|
|
121
|
+
await queryRunner.query(
|
|
122
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateMonitor" ADD CONSTRAINT "FK_0eda8905ca25a3eec57cb19fab5" FOREIGN KEY ("scheduledMaintenanceTemplateId") REFERENCES "ScheduledMaintenanceTemplate"("_id") ON DELETE CASCADE ON UPDATE CASCADE`,
|
|
123
|
+
);
|
|
124
|
+
await queryRunner.query(
|
|
125
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateMonitor" ADD CONSTRAINT "FK_db24c4717822cde914200b7c85d" FOREIGN KEY ("monitorId") REFERENCES "Monitor"("_id") ON DELETE CASCADE ON UPDATE CASCADE`,
|
|
126
|
+
);
|
|
127
|
+
await queryRunner.query(
|
|
128
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateStatusPage" ADD CONSTRAINT "FK_b57f8cba41ee1e45fe681325652" FOREIGN KEY ("scheduledMaintenanceTemplateId") REFERENCES "ScheduledMaintenanceTemplate"("_id") ON DELETE CASCADE ON UPDATE CASCADE`,
|
|
129
|
+
);
|
|
130
|
+
await queryRunner.query(
|
|
131
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateStatusPage" ADD CONSTRAINT "FK_f64b739e4faa9a5d049fbd91880" FOREIGN KEY ("statusPageId") REFERENCES "StatusPage"("_id") ON DELETE CASCADE ON UPDATE CASCADE`,
|
|
132
|
+
);
|
|
133
|
+
await queryRunner.query(
|
|
134
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateLabel" ADD CONSTRAINT "FK_fce937b99d63f0a489b94725af8" FOREIGN KEY ("scheduledMaintenanceTemplateId") REFERENCES "ScheduledMaintenanceTemplate"("_id") ON DELETE CASCADE ON UPDATE CASCADE`,
|
|
135
|
+
);
|
|
136
|
+
await queryRunner.query(
|
|
137
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateLabel" ADD CONSTRAINT "FK_ac1b6389a147d1556e38de4bff2" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`,
|
|
138
|
+
);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
142
|
+
await queryRunner.query(
|
|
143
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateLabel" DROP CONSTRAINT "FK_ac1b6389a147d1556e38de4bff2"`,
|
|
144
|
+
);
|
|
145
|
+
await queryRunner.query(
|
|
146
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateLabel" DROP CONSTRAINT "FK_fce937b99d63f0a489b94725af8"`,
|
|
147
|
+
);
|
|
148
|
+
await queryRunner.query(
|
|
149
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateStatusPage" DROP CONSTRAINT "FK_f64b739e4faa9a5d049fbd91880"`,
|
|
150
|
+
);
|
|
151
|
+
await queryRunner.query(
|
|
152
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateStatusPage" DROP CONSTRAINT "FK_b57f8cba41ee1e45fe681325652"`,
|
|
153
|
+
);
|
|
154
|
+
await queryRunner.query(
|
|
155
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateMonitor" DROP CONSTRAINT "FK_db24c4717822cde914200b7c85d"`,
|
|
156
|
+
);
|
|
157
|
+
await queryRunner.query(
|
|
158
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateMonitor" DROP CONSTRAINT "FK_0eda8905ca25a3eec57cb19fab5"`,
|
|
159
|
+
);
|
|
160
|
+
await queryRunner.query(
|
|
161
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateOwnerUser" DROP CONSTRAINT "FK_64da70a3e70ddc728b6b15659ca"`,
|
|
162
|
+
);
|
|
163
|
+
await queryRunner.query(
|
|
164
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateOwnerUser" DROP CONSTRAINT "FK_1c3750c2c2128cf912fa580a45f"`,
|
|
165
|
+
);
|
|
166
|
+
await queryRunner.query(
|
|
167
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateOwnerUser" DROP CONSTRAINT "FK_f6f33a193e706fd33bf73a082d7"`,
|
|
168
|
+
);
|
|
169
|
+
await queryRunner.query(
|
|
170
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateOwnerUser" DROP CONSTRAINT "FK_fdb90f1cfbc8e93f112cdb6d7f6"`,
|
|
171
|
+
);
|
|
172
|
+
await queryRunner.query(
|
|
173
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateOwnerUser" DROP CONSTRAINT "FK_140d75c5e19b78bb8ae501e13cb"`,
|
|
174
|
+
);
|
|
175
|
+
await queryRunner.query(
|
|
176
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateOwnerTeam" DROP CONSTRAINT "FK_0c26675c50ec4624c10255a85c9"`,
|
|
177
|
+
);
|
|
178
|
+
await queryRunner.query(
|
|
179
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateOwnerTeam" DROP CONSTRAINT "FK_b49e225394926114327cc3ad7ca"`,
|
|
180
|
+
);
|
|
181
|
+
await queryRunner.query(
|
|
182
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateOwnerTeam" DROP CONSTRAINT "FK_aaa6f86f8051e665c5f89e2d50f"`,
|
|
183
|
+
);
|
|
184
|
+
await queryRunner.query(
|
|
185
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateOwnerTeam" DROP CONSTRAINT "FK_b036b7ebd2dac47873ec7475694"`,
|
|
186
|
+
);
|
|
187
|
+
await queryRunner.query(
|
|
188
|
+
`ALTER TABLE "ScheduledMaintenanceTemplateOwnerTeam" DROP CONSTRAINT "FK_5f1e2a1690bb206db8e347e3a11"`,
|
|
189
|
+
);
|
|
190
|
+
await queryRunner.query(
|
|
191
|
+
`ALTER TABLE "ScheduledMaintenanceTemplate" DROP CONSTRAINT "FK_4cc8c23853c501e97775da6ed31"`,
|
|
192
|
+
);
|
|
193
|
+
await queryRunner.query(
|
|
194
|
+
`ALTER TABLE "ScheduledMaintenanceTemplate" DROP CONSTRAINT "FK_aea47be8b8af9673e9639e7dae3"`,
|
|
195
|
+
);
|
|
196
|
+
await queryRunner.query(
|
|
197
|
+
`ALTER TABLE "ScheduledMaintenanceTemplate" DROP CONSTRAINT "FK_ee916416bbbc5f73761cbee3d22"`,
|
|
198
|
+
);
|
|
199
|
+
await queryRunner.query(
|
|
200
|
+
`ALTER TABLE "ScheduledMaintenanceTemplate" DROP CONSTRAINT "FK_f4c80315f60dcc694fd21777787"`,
|
|
201
|
+
);
|
|
202
|
+
await queryRunner.query(
|
|
203
|
+
`ALTER TABLE "ScheduledMaintenanceTemplate" DROP CONSTRAINT "FK_4bc0497469ba2ff3f0529b559bf"`,
|
|
204
|
+
);
|
|
205
|
+
await queryRunner.query(
|
|
206
|
+
`DROP INDEX "public"."IDX_ac1b6389a147d1556e38de4bff"`,
|
|
207
|
+
);
|
|
208
|
+
await queryRunner.query(
|
|
209
|
+
`DROP INDEX "public"."IDX_fce937b99d63f0a489b94725af"`,
|
|
210
|
+
);
|
|
211
|
+
await queryRunner.query(`DROP TABLE "ScheduledMaintenanceTemplateLabel"`);
|
|
212
|
+
await queryRunner.query(
|
|
213
|
+
`DROP INDEX "public"."IDX_f64b739e4faa9a5d049fbd9188"`,
|
|
214
|
+
);
|
|
215
|
+
await queryRunner.query(
|
|
216
|
+
`DROP INDEX "public"."IDX_b57f8cba41ee1e45fe68132565"`,
|
|
217
|
+
);
|
|
218
|
+
await queryRunner.query(
|
|
219
|
+
`DROP TABLE "ScheduledMaintenanceTemplateStatusPage"`,
|
|
220
|
+
);
|
|
221
|
+
await queryRunner.query(
|
|
222
|
+
`DROP INDEX "public"."IDX_db24c4717822cde914200b7c85"`,
|
|
223
|
+
);
|
|
224
|
+
await queryRunner.query(
|
|
225
|
+
`DROP INDEX "public"."IDX_0eda8905ca25a3eec57cb19fab"`,
|
|
226
|
+
);
|
|
227
|
+
await queryRunner.query(`DROP TABLE "ScheduledMaintenanceTemplateMonitor"`);
|
|
228
|
+
await queryRunner.query(
|
|
229
|
+
`DROP INDEX "public"."IDX_f6f33a193e706fd33bf73a082d"`,
|
|
230
|
+
);
|
|
231
|
+
await queryRunner.query(
|
|
232
|
+
`DROP INDEX "public"."IDX_fdb90f1cfbc8e93f112cdb6d7f"`,
|
|
233
|
+
);
|
|
234
|
+
await queryRunner.query(
|
|
235
|
+
`DROP INDEX "public"."IDX_140d75c5e19b78bb8ae501e13c"`,
|
|
236
|
+
);
|
|
237
|
+
await queryRunner.query(
|
|
238
|
+
`DROP TABLE "ScheduledMaintenanceTemplateOwnerUser"`,
|
|
239
|
+
);
|
|
240
|
+
await queryRunner.query(
|
|
241
|
+
`DROP INDEX "public"."IDX_aaa6f86f8051e665c5f89e2d50"`,
|
|
242
|
+
);
|
|
243
|
+
await queryRunner.query(
|
|
244
|
+
`DROP INDEX "public"."IDX_b036b7ebd2dac47873ec747569"`,
|
|
245
|
+
);
|
|
246
|
+
await queryRunner.query(
|
|
247
|
+
`DROP INDEX "public"."IDX_5f1e2a1690bb206db8e347e3a1"`,
|
|
248
|
+
);
|
|
249
|
+
await queryRunner.query(
|
|
250
|
+
`DROP TABLE "ScheduledMaintenanceTemplateOwnerTeam"`,
|
|
251
|
+
);
|
|
252
|
+
await queryRunner.query(
|
|
253
|
+
`DROP INDEX "public"."IDX_4cc8c23853c501e97775da6ed3"`,
|
|
254
|
+
);
|
|
255
|
+
await queryRunner.query(
|
|
256
|
+
`DROP INDEX "public"."IDX_aea47be8b8af9673e9639e7dae"`,
|
|
257
|
+
);
|
|
258
|
+
await queryRunner.query(
|
|
259
|
+
`DROP INDEX "public"."IDX_389395798bdc01f66af7f579a9"`,
|
|
260
|
+
);
|
|
261
|
+
await queryRunner.query(
|
|
262
|
+
`DROP INDEX "public"."IDX_80207298923fc3ab7f81dd894e"`,
|
|
263
|
+
);
|
|
264
|
+
await queryRunner.query(
|
|
265
|
+
`DROP INDEX "public"."IDX_4bc0497469ba2ff3f0529b559b"`,
|
|
266
|
+
);
|
|
267
|
+
await queryRunner.query(`DROP TABLE "ScheduledMaintenanceTemplate"`);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner } from "typeorm";
|
|
2
|
+
|
|
3
|
+
export class MigrationName1725881099935 implements MigrationInterface {
|
|
4
|
+
public name = "MigrationName1725881099935";
|
|
5
|
+
|
|
6
|
+
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
7
|
+
await queryRunner.query(
|
|
8
|
+
`ALTER TABLE "ScheduledMaintenanceTemplate" ADD "recurringInterval" jsonb`,
|
|
9
|
+
);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
13
|
+
await queryRunner.query(
|
|
14
|
+
`ALTER TABLE "ScheduledMaintenanceTemplate" DROP COLUMN "recurringInterval"`,
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
}
|