@oneuptime/common 11.0.12 → 11.0.14

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 (47) hide show
  1. package/Models/DatabaseModels/DockerResource.ts +6 -6
  2. package/Models/DatabaseModels/StatusPage.ts +0 -42
  3. package/Server/Infrastructure/Postgres/SchemaMigrations/1782700000000-RemoveDeprecatedEnableSubscribersFromStatusPage.ts +35 -0
  4. package/Server/Infrastructure/Postgres/SchemaMigrations/1782800000000-WidenDockerResourceImageColumns.ts +45 -0
  5. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +4 -0
  6. package/Server/Infrastructure/Queue.ts +122 -0
  7. package/Server/Services/IncidentService.ts +19 -1
  8. package/Server/Types/Markdown.ts +103 -0
  9. package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +4 -1
  10. package/Server/Utils/CodeRepository/CodeRepository.ts +78 -0
  11. package/Server/Utils/Execute.ts +6 -0
  12. package/Server/Utils/Logger.ts +66 -0
  13. package/Server/Utils/Monitor/MonitorIncident.ts +64 -14
  14. package/Server/Utils/Monitor/MonitorResource.ts +40 -10
  15. package/Server/Utils/Monitor/MonitorStatusTimeline.ts +32 -6
  16. package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +75 -0
  17. package/build/dist/Models/DatabaseModels/DockerResource.js +6 -6
  18. package/build/dist/Models/DatabaseModels/DockerResource.js.map +1 -1
  19. package/build/dist/Models/DatabaseModels/StatusPage.js +0 -44
  20. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
  21. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1782700000000-RemoveDeprecatedEnableSubscribersFromStatusPage.js +28 -0
  22. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1782700000000-RemoveDeprecatedEnableSubscribersFromStatusPage.js.map +1 -0
  23. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1782800000000-WidenDockerResourceImageColumns.js +30 -0
  24. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1782800000000-WidenDockerResourceImageColumns.js.map +1 -0
  25. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +4 -0
  26. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  27. package/build/dist/Server/Infrastructure/Queue.js +63 -0
  28. package/build/dist/Server/Infrastructure/Queue.js.map +1 -1
  29. package/build/dist/Server/Services/IncidentService.js +17 -1
  30. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  31. package/build/dist/Server/Types/Markdown.js +87 -0
  32. package/build/dist/Server/Types/Markdown.js.map +1 -1
  33. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +3 -0
  34. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  35. package/build/dist/Server/Utils/CodeRepository/CodeRepository.js +60 -0
  36. package/build/dist/Server/Utils/CodeRepository/CodeRepository.js.map +1 -1
  37. package/build/dist/Server/Utils/Execute.js +1 -3
  38. package/build/dist/Server/Utils/Execute.js.map +1 -1
  39. package/build/dist/Server/Utils/Logger.js +49 -1
  40. package/build/dist/Server/Utils/Logger.js.map +1 -1
  41. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +70 -27
  42. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  43. package/build/dist/Server/Utils/Monitor/MonitorResource.js +36 -8
  44. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  45. package/build/dist/Server/Utils/Monitor/MonitorStatusTimeline.js +29 -7
  46. package/build/dist/Server/Utils/Monitor/MonitorStatusTimeline.js.map +1 -1
  47. package/package.json +1 -1
@@ -8,6 +8,12 @@ import ConfigLogLevel from "../Types/ConfigLogLevel";
8
8
 
9
9
  export type LogBody = string | JSONObject | Exception | Error | unknown;
10
10
 
11
+ export interface RecentLogEntry {
12
+ time: string;
13
+ level: string;
14
+ message: string;
15
+ }
16
+
11
17
  export interface LogAttributes {
12
18
  userId?: string | undefined;
13
19
  projectId?: string | undefined;
@@ -50,6 +56,56 @@ export function getLogAttributesFromRequest(
50
56
  }
51
57
 
52
58
  export default class logger {
59
+ /*
60
+ * In-memory ring buffer of the most recent log lines this process emitted.
61
+ * The app writes logs to stdout only (no on-disk file), so this is the one
62
+ * way the master-admin support bundle / health dashboard can surface this
63
+ * instance's own recent logs for debugging — there is no path to the
64
+ * container's stdout or to other containers' logs from inside the process.
65
+ */
66
+ private static recentLogs: Array<RecentLogEntry> = [];
67
+ private static readonly maxRecentLogs: number = 1000;
68
+ private static readonly recentLogTrimSlack: number = 256;
69
+ private static readonly maxRecentLogMessageLength: number = 4000;
70
+
71
+ private static record(level: string, body: LogBody): void {
72
+ try {
73
+ const message: string = this.serializeLogBody(body);
74
+
75
+ this.recentLogs.push({
76
+ time: new Date().toISOString(),
77
+ level: level,
78
+ message:
79
+ message.length > this.maxRecentLogMessageLength
80
+ ? `${message.substring(0, this.maxRecentLogMessageLength)}… (truncated)`
81
+ : message,
82
+ });
83
+
84
+ /*
85
+ * Trim in batches rather than on every push so this stays O(1) amortised
86
+ * on the logging hot path: only re-slice once we have grown past a soft
87
+ * ceiling above the target size.
88
+ */
89
+ if (
90
+ this.recentLogs.length >
91
+ this.maxRecentLogs + this.recentLogTrimSlack
92
+ ) {
93
+ this.recentLogs = this.recentLogs.slice(-this.maxRecentLogs);
94
+ }
95
+ } catch {
96
+ // Never let log capture break the app.
97
+ }
98
+ }
99
+
100
+ // Newest-last snapshot of the recent-log ring buffer (optionally the last N).
101
+ public static getRecentLogs(limit?: number): Array<RecentLogEntry> {
102
+ if (!limit || limit >= this.recentLogs.length) {
103
+ return [...this.recentLogs];
104
+ }
105
+
106
+ return this.recentLogs.slice(this.recentLogs.length - limit);
107
+ }
108
+
53
109
  public static getLogLevel(): ConfigLogLevel {
54
110
  if (!LogLevel) {
55
111
  return ConfigLogLevel.INFO;
@@ -98,6 +154,8 @@ export default class logger {
98
154
  // eslint-disable-next-line no-console
99
155
  console.info(message);
100
156
 
157
+ this.record("INFO", message);
158
+
101
159
  this.emit({
102
160
  body: message,
103
161
  severityNumber: SeverityNumber.INFO,
@@ -118,6 +176,8 @@ export default class logger {
118
176
  // eslint-disable-next-line no-console
119
177
  console.error(message);
120
178
 
179
+ this.record("ERROR", message);
180
+
121
181
  this.emit({
122
182
  body: message,
123
183
  severityNumber: SeverityNumber.ERROR,
@@ -137,6 +197,8 @@ export default class logger {
137
197
  // eslint-disable-next-line no-console
138
198
  console.warn(message);
139
199
 
200
+ this.record("WARN", message);
201
+
140
202
  this.emit({
141
203
  body: message,
142
204
  severityNumber: SeverityNumber.WARN,
@@ -152,6 +214,8 @@ export default class logger {
152
214
  // eslint-disable-next-line no-console
153
215
  console.debug(message);
154
216
 
217
+ this.record("DEBUG", message);
218
+
155
219
  this.emit({
156
220
  body: message,
157
221
  severityNumber: SeverityNumber.DEBUG,
@@ -203,6 +267,8 @@ export default class logger {
203
267
  // eslint-disable-next-line no-console
204
268
  console.trace(message);
205
269
 
270
+ this.record("TRACE", message);
271
+
206
272
  this.emit({
207
273
  body: message,
208
274
  severityNumber: SeverityNumber.DEBUG,
@@ -341,8 +341,18 @@ export default class MonitorIncident {
341
341
  storageMap,
342
342
  });
343
343
 
344
- if (!criteriaIncident.incidentSeverityId) {
345
- // pick the critical criteria.
344
+ /*
345
+ * Resolve the incident severity. `criteriaIncident.incidentSeverityId`
346
+ * can be a truthy-but-EMPTY ObjectID (id === "") — a stored
347
+ * `{"_type":"ObjectID","value":""}` deserializes to `new ObjectID("")`,
348
+ * which is an object so `!incidentSeverityId` is false. That empty id
349
+ * serializes to "" for the `uuid` (not-null) column and lands as NULL,
350
+ * throwing 23502 inside the probe-ingest worker and retrying forever.
351
+ * Use `?.toString()` truthiness so an empty/blank ObjectID is treated
352
+ * the same as "missing" and falls through to the project-default lookup.
353
+ */
354
+ if (!criteriaIncident.incidentSeverityId?.toString()) {
355
+ // pick the critical (first/lowest-order root) severity.
346
356
 
347
357
  const severity: IncidentSeverity | null =
348
358
  await IncidentSeverityService.findOneBy({
@@ -360,15 +370,33 @@ export default class MonitorIncident {
360
370
  },
361
371
  });
362
372
 
363
- if (!severity) {
364
- throw new BadDataException(
365
- "Project does not have incident severity",
373
+ if (!severity?.id?.toString()) {
374
+ /*
375
+ * The project has no incident severity configured. Throwing here
376
+ * would fail the entire probe/telemetry ingest job, which then
377
+ * retries forever for a misconfiguration the worker cannot fix.
378
+ * Skip incident creation gracefully and log instead.
379
+ */
380
+ logger.error(
381
+ `${input.monitor.id?.toString()} - Cannot create incident: project ${input.monitor.projectId?.toString()} has no incident severity configured. Skipping incident creation for criteria "${
382
+ input.criteriaInstance.data?.name
383
+ }".`,
366
384
  );
367
- } else {
368
- incident.incidentSeverityId = severity.id!;
385
+
386
+ input.evaluationSummary?.events.push({
387
+ type: "incident-skipped",
388
+ title: "Incident creation skipped",
389
+ message:
390
+ "Skipped creating an incident because the project has no incident severity configured.",
391
+ relatedCriteriaId: input.criteriaInstance.data?.id,
392
+ at: OneUptimeDate.getCurrentDate(),
393
+ });
394
+ continue;
369
395
  }
396
+
397
+ incident.incidentSeverityId = severity.id!;
370
398
  } else {
371
- incident.incidentSeverityId = criteriaIncident.incidentSeverityId!;
399
+ incident.incidentSeverityId = criteriaIncident.incidentSeverityId;
372
400
  }
373
401
 
374
402
  incident.monitors = [input.monitor];
@@ -882,12 +910,34 @@ export default class MonitorIncident {
882
910
  );
883
911
  }
884
912
 
885
- await IncidentStateTimelineService.create({
886
- data: incidentStateTimeline,
887
- props: {
888
- isRoot: true,
889
- },
890
- });
913
+ try {
914
+ await IncidentStateTimelineService.create({
915
+ data: incidentStateTimeline,
916
+ props: {
917
+ isRoot: true,
918
+ },
919
+ });
920
+ } catch (err) {
921
+ /*
922
+ * Idempotent concurrency race: two probe/ingest results for the same monitor
923
+ * can both decide to auto-resolve the same open incident near-simultaneously.
924
+ * The loser's IncidentStateTimelineService.onBeforeCreate dedupe check throws
925
+ * this exact BadDataException (incident is already in the resolved state).
926
+ * Treat as a no-op at debug level instead of failing the job and logging a
927
+ * full ERROR stack. Match the exact message so unrelated BadDataExceptions
928
+ * (e.g. state-order validation) still propagate.
929
+ */
930
+ if (
931
+ err instanceof BadDataException &&
932
+ err.message === "Incident state cannot be same as previous state."
933
+ ) {
934
+ logger.debug(
935
+ `${input.openIncident.id?.toString()} - Incident already in resolved state; skipping duplicate state timeline (concurrent race).`,
936
+ );
937
+ } else {
938
+ throw err;
939
+ }
940
+ }
891
941
  }
892
942
 
893
943
  private static shouldCloseIncident(input: {
@@ -402,9 +402,18 @@ export default class MonitorResourceUtil {
402
402
  `${dataToProcess.monitorId.toString()} - Monitor metrics saved`,
403
403
  );
404
404
 
405
- const monitorSteps: MonitorSteps = monitor.monitorSteps!;
405
+ /*
406
+ * `monitorSteps` is optional on the model. When a monitor has none
407
+ * configured, `monitor.monitorSteps` is undefined and the previous
408
+ * non-null assertion (`!`) was a lie — `monitorSteps.data` then threw
409
+ * "Cannot read properties of null (reading 'data')" inside the probe
410
+ * ingest worker. Guard the value itself and take the existing
411
+ * "no monitoring steps" early return.
412
+ */
413
+ const monitorSteps: MonitorSteps | undefined = monitor.monitorSteps;
406
414
 
407
415
  if (
416
+ !monitorSteps ||
408
417
  !monitorSteps.data?.monitorStepsInstanceArray ||
409
418
  monitorSteps.data?.monitorStepsInstanceArray.length === 0
410
419
  ) {
@@ -856,15 +865,36 @@ export default class MonitorResourceUtil {
856
865
  monitorStatusTimeline.rootCause =
857
866
  "No monitoring criteria met. Change to default status. ";
858
867
 
859
- await MonitorStatusTimelineService.create({
860
- data: monitorStatusTimeline,
861
- props: {
862
- isRoot: true,
863
- },
864
- });
865
- logger.debug(
866
- `${dataToProcess.monitorId.toString()} - Monitor status updated to default.`,
867
- );
868
+ try {
869
+ await MonitorStatusTimelineService.create({
870
+ data: monitorStatusTimeline,
871
+ props: {
872
+ isRoot: true,
873
+ },
874
+ });
875
+ logger.debug(
876
+ `${dataToProcess.monitorId.toString()} - Monitor status updated to default.`,
877
+ );
878
+ } catch (err) {
879
+ /*
880
+ * Idempotent concurrency race (see MonitorStatusTimeline.ts): a
881
+ * concurrent result already moved the monitor to this default status,
882
+ * so onBeforeCreate's dedupe check throws this exact BadDataException.
883
+ * Treat as a no-op at debug level rather than failing the job. Match the
884
+ * exact message so unrelated BadDataExceptions still propagate.
885
+ */
886
+ if (
887
+ err instanceof BadDataException &&
888
+ err.message ===
889
+ "Monitor Status cannot be same as previous status."
890
+ ) {
891
+ logger.debug(
892
+ `${dataToProcess.monitorId.toString()} - Monitor status already at default; skipping duplicate status timeline (concurrent race).`,
893
+ );
894
+ } else {
895
+ throw err;
896
+ }
897
+ }
868
898
 
869
899
  const defaultStatusName: string | null = await getMonitorStatusName(
870
900
  monitorSteps.data.defaultMonitorStatusId,
@@ -114,12 +114,38 @@ export default class MonitorStatusTimelineUtil {
114
114
  );
115
115
  monitorStatusTimeline.rootCause = input.rootCause;
116
116
 
117
- return await MonitorStatusTimelineService.create({
118
- data: monitorStatusTimeline,
119
- props: {
120
- isRoot: true,
121
- },
122
- });
117
+ try {
118
+ return await MonitorStatusTimelineService.create({
119
+ data: monitorStatusTimeline,
120
+ props: {
121
+ isRoot: true,
122
+ },
123
+ });
124
+ } catch (err) {
125
+ /*
126
+ * Concurrency race: two probe/ingest results for the same monitor can be
127
+ * processed near-simultaneously (the per-monitor mutexes in
128
+ * MonitorResourceUtil.monitorResource and MonitorStatusTimeline.create can
129
+ * time out under load and fall through unlocked). Both see the same prior
130
+ * status and both try to write the same new status row. The
131
+ * MonitorStatusTimelineService.onBeforeCreate dedupe check then throws this
132
+ * exact BadDataException for the loser of the race. This is an idempotent
133
+ * no-op (the desired status is already the current status), so swallow it at
134
+ * debug level instead of failing the job and logging a full ERROR stack.
135
+ * Match the exact message so unrelated BadDataExceptions still propagate.
136
+ */
137
+ if (
138
+ err instanceof BadDataException &&
139
+ err.message === "Monitor Status cannot be same as previous status."
140
+ ) {
141
+ logger.debug(
142
+ `${input.monitor.id?.toString()} - Monitor status already equals desired status; skipping duplicate status timeline (concurrent race).`,
143
+ );
144
+ return null;
145
+ }
146
+
147
+ throw err;
148
+ }
123
149
  }
124
150
 
125
151
  return null;
@@ -636,6 +636,81 @@ describe("StatementGenerator", () => {
636
636
  });
637
637
  });
638
638
 
639
+ describe("toCreateStatement", () => {
640
+ /*
641
+ * Regression test for the escapeStringLiteral undefined/null guard.
642
+ * An ArrayText (Array(String)) column whose value array carried
643
+ * undefined/null members at runtime used to throw
644
+ * "TypeError: Cannot read properties of undefined (reading 'replace')"
645
+ * inside escapeStringLiteral while building the INSERT. The member is
646
+ * now rendered as the empty string literal '' so the statement still
647
+ * serializes to a valid ClickHouse Array(String).
648
+ */
649
+ class ArrayTextModel extends AnalyticsBaseModel {
650
+ public constructor() {
651
+ super({
652
+ tableName: "<array-create-table>",
653
+ singularName: "<singular>",
654
+ pluralName: "<plural>",
655
+ tableColumns: [
656
+ new AnalyticsTableColumn({
657
+ key: "_id",
658
+ title: "<title>",
659
+ description: "<description>",
660
+ required: true,
661
+ type: TableColumnType.ObjectID,
662
+ }),
663
+ new AnalyticsTableColumn({
664
+ key: "entityKeys",
665
+ title: "<title>",
666
+ description: "<description>",
667
+ required: true,
668
+ defaultValue: [],
669
+ type: TableColumnType.ArrayText,
670
+ }),
671
+ ],
672
+ crudApiPath: new Route("route"),
673
+ primaryKeys: ["_id"],
674
+ sortKeys: ["_id"],
675
+ partitionKey: "_id",
676
+ tableEngine: AnalyticsTableEngine.MergeTree,
677
+ });
678
+ }
679
+ }
680
+
681
+ let arrayTextGenerator: StatementGenerator<ArrayTextModel>;
682
+ beforeEach(() => {
683
+ arrayTextGenerator = new StatementGenerator<ArrayTextModel>({
684
+ modelType: ArrayTextModel,
685
+ database: ClickhouseAppInstance,
686
+ });
687
+ });
688
+
689
+ test("renders undefined/null ArrayText elements as '' instead of throwing", () => {
690
+ const item: ArrayTextModel = new ArrayTextModel();
691
+ item.setColumnValue("_id", "210dac24142f1baa");
692
+ /*
693
+ * Simulate runtime data where the Array(String) column carries
694
+ * undefined/null members. The type system models the column as
695
+ * string[], hence the cast — this is exactly what crashed before
696
+ * the guard was added.
697
+ */
698
+ item.setColumnValue("entityKeys", [
699
+ "alpha",
700
+ undefined,
701
+ null,
702
+ "beta",
703
+ ] as unknown as Array<string>);
704
+
705
+ let statement: string = "";
706
+ expect(() => {
707
+ statement = arrayTextGenerator.toCreateStatement({ item: [item] });
708
+ }).not.toThrow();
709
+
710
+ expect(statement).toContain("['alpha', '', '', 'beta']");
711
+ });
712
+ });
713
+
639
714
  describe("toSelectStatement", () => {
640
715
  test("should return the contents of a SELECT statement", () => {
641
716
  const { statement, columns } = generator.toSelectStatement({
@@ -197,15 +197,15 @@ __decorate([
197
197
  }),
198
198
  TableColumn({
199
199
  required: true,
200
- type: TableColumnType.ShortText,
200
+ type: TableColumnType.LongText,
201
201
  canReadOnRelationQuery: true,
202
202
  title: "Name",
203
203
  description: "Docker resource name. Container.name for containers, full image reference for images.",
204
204
  }),
205
205
  Column({
206
206
  nullable: false,
207
- type: ColumnType.ShortText,
208
- length: ColumnLength.ShortText,
207
+ type: ColumnType.LongText,
208
+ length: ColumnLength.LongText,
209
209
  }),
210
210
  __metadata("design:type", String)
211
211
  ], DockerResource.prototype, "name", void 0);
@@ -237,15 +237,15 @@ __decorate([
237
237
  }),
238
238
  TableColumn({
239
239
  required: false,
240
- type: TableColumnType.ShortText,
240
+ type: TableColumnType.LongText,
241
241
  canReadOnRelationQuery: true,
242
242
  title: "Image Name",
243
243
  description: "Image reference for the container (e.g. nginx:1.27). Null for non-Container kinds.",
244
244
  }),
245
245
  Column({
246
246
  nullable: true,
247
- type: ColumnType.ShortText,
248
- length: ColumnLength.ShortText,
247
+ type: ColumnType.LongText,
248
+ length: ColumnLength.LongText,
249
249
  }),
250
250
  __metadata("design:type", String)
251
251
  ], DockerResource.prototype, "imageName", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"DockerResource.js","sourceRoot":"","sources":["../../../../Models/DatabaseModels/DockerResource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DockerResource.js","sourceRoot":"","sources":["../../../../Models/DatabaseModels/DockerResource.ts"],"names":[],"mappings":"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"}
@@ -75,8 +75,6 @@ let StatusPage = class StatusPage extends BaseModel {
75
75
  this.masterPassword = undefined;
76
76
  this.showIncidentLabelsOnStatusPage = undefined;
77
77
  this.showScheduledEventLabelsOnStatusPage = undefined;
78
- // This column is Deprectaed.
79
- this.enableSubscribers = undefined;
80
78
  this.enableEmailSubscribers = undefined;
81
79
  this.allowSubscribersToChooseResources = undefined;
82
80
  this.allowSubscribersToChooseEventTypes = undefined;
@@ -1257,48 +1255,6 @@ __decorate([
1257
1255
  }),
1258
1256
  __metadata("design:type", Boolean)
1259
1257
  ], StatusPage.prototype, "showScheduledEventLabelsOnStatusPage", void 0);
1260
- __decorate([
1261
- ColumnAccessControl({
1262
- create: [
1263
- Permission.ProjectOwner,
1264
- Permission.ProjectAdmin,
1265
- Permission.ProjectMember,
1266
- Permission.StatusPageAdmin,
1267
- Permission.StatusPageMember,
1268
- Permission.CreateProjectStatusPage,
1269
- ],
1270
- read: [
1271
- Permission.ProjectOwner,
1272
- Permission.ProjectAdmin,
1273
- Permission.ProjectMember,
1274
- Permission.Viewer,
1275
- Permission.StatusPageAdmin,
1276
- Permission.StatusPageMember,
1277
- Permission.StatusPageViewer,
1278
- Permission.ReadProjectStatusPage,
1279
- ],
1280
- update: [
1281
- Permission.ProjectOwner,
1282
- Permission.ProjectAdmin,
1283
- Permission.ProjectMember,
1284
- Permission.StatusPageAdmin,
1285
- Permission.StatusPageMember,
1286
- Permission.EditProjectStatusPage,
1287
- ],
1288
- }),
1289
- TableColumn({
1290
- isDefaultValueColumn: true,
1291
- type: TableColumnType.Boolean,
1292
- title: "Enable Subscribers",
1293
- description: "Can subscribers subscribe to this Status Page?",
1294
- defaultValue: true,
1295
- }),
1296
- Column({
1297
- type: ColumnType.Boolean,
1298
- default: true,
1299
- }),
1300
- __metadata("design:type", Boolean)
1301
- ], StatusPage.prototype, "enableSubscribers", void 0);
1302
1258
  __decorate([
1303
1259
  ColumnAccessControl({
1304
1260
  create: [