@oneuptime/common 11.1.2 → 11.2.0

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 (146) hide show
  1. package/Models/DatabaseModels/Alert.ts +55 -0
  2. package/Models/DatabaseModels/Incident.ts +55 -0
  3. package/Models/DatabaseModels/Index.ts +12 -0
  4. package/Models/DatabaseModels/IoTDevice.ts +690 -0
  5. package/Models/DatabaseModels/IoTFleet.ts +862 -0
  6. package/Models/DatabaseModels/IoTFleetLabelRule.ts +514 -0
  7. package/Models/DatabaseModels/IoTFleetOwnerRule.ts +596 -0
  8. package/Models/DatabaseModels/IoTFleetOwnerTeam.ts +485 -0
  9. package/Models/DatabaseModels/IoTFleetOwnerUser.ts +484 -0
  10. package/Models/DatabaseModels/ScheduledMaintenance.ts +55 -0
  11. package/Server/API/IoTDeviceAPI.ts +128 -0
  12. package/Server/API/TelemetryAPI.ts +104 -35
  13. package/Server/Infrastructure/Postgres/SchemaMigrations/1782900000000-AddIoTFleetAndDeviceTables.ts +399 -0
  14. package/Server/Infrastructure/Postgres/SchemaMigrations/1783000000000-AddIoTFleetActivityJoinTables.ts +97 -0
  15. package/Server/Infrastructure/Postgres/SchemaMigrations/1783010000000-MigrationName.ts +979 -0
  16. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
  17. package/Server/Services/IoTDeviceService.ts +356 -0
  18. package/Server/Services/IoTFleetLabelRuleEngineService.ts +198 -0
  19. package/Server/Services/IoTFleetLabelRuleService.ts +14 -0
  20. package/Server/Services/IoTFleetOwnerRuleEngineService.ts +216 -0
  21. package/Server/Services/IoTFleetOwnerRuleService.ts +14 -0
  22. package/Server/Services/IoTFleetOwnerTeamService.ts +10 -0
  23. package/Server/Services/IoTFleetOwnerUserService.ts +10 -0
  24. package/Server/Services/IoTFleetService.ts +376 -0
  25. package/Server/Services/OpenTelemetryIngestService.ts +16 -0
  26. package/Server/Services/StatusPageService.ts +69 -26
  27. package/Server/Services/StatusPageSubscriberNotificationTemplateService.ts +36 -0
  28. package/Server/Services/TelemetryUsageBillingService.ts +18 -0
  29. package/Server/Services/TraceAggregationService.ts +174 -0
  30. package/Server/Utils/Monitor/MonitorAlert.ts +24 -4
  31. package/Server/Utils/Monitor/MonitorClusterContext.ts +26 -2
  32. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +4 -2
  33. package/Server/Utils/Monitor/MonitorIncident.ts +39 -5
  34. package/Server/Utils/Monitor/MonitorMaintenanceSuppression.ts +14 -0
  35. package/Server/Utils/Monitor/SeriesResourceLabels.ts +22 -0
  36. package/Server/Utils/Telemetry/IoTSnapshotScan.ts +408 -0
  37. package/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.ts +36 -0
  38. package/Types/Icon/IconProp.ts +1 -0
  39. package/Types/Monitor/IotAlertTemplates.ts +593 -0
  40. package/Types/Monitor/IotMetricCatalog.ts +146 -0
  41. package/Types/Monitor/MonitorStep.ts +31 -0
  42. package/Types/Monitor/MonitorStepIoTMonitor.ts +65 -0
  43. package/Types/Monitor/MonitorType.ts +12 -1
  44. package/Types/Permission.ts +230 -0
  45. package/Types/StatusPage/StatusPageSubscriberNotificationEventType.ts +3 -0
  46. package/Types/Telemetry/ServiceType.ts +1 -0
  47. package/UI/Components/Charts/ChartGroup/ChartGroup.tsx +5 -5
  48. package/UI/Components/Icon/Icon.tsx +18 -2
  49. package/UI/Components/Page/Page.tsx +1 -2
  50. package/build/dist/Models/DatabaseModels/Alert.js +54 -0
  51. package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
  52. package/build/dist/Models/DatabaseModels/Incident.js +54 -0
  53. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  54. package/build/dist/Models/DatabaseModels/Index.js +12 -0
  55. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  56. package/build/dist/Models/DatabaseModels/IoTDevice.js +722 -0
  57. package/build/dist/Models/DatabaseModels/IoTDevice.js.map +1 -0
  58. package/build/dist/Models/DatabaseModels/IoTFleet.js +882 -0
  59. package/build/dist/Models/DatabaseModels/IoTFleet.js.map +1 -0
  60. package/build/dist/Models/DatabaseModels/IoTFleetLabelRule.js +522 -0
  61. package/build/dist/Models/DatabaseModels/IoTFleetLabelRule.js.map +1 -0
  62. package/build/dist/Models/DatabaseModels/IoTFleetOwnerRule.js +603 -0
  63. package/build/dist/Models/DatabaseModels/IoTFleetOwnerRule.js.map +1 -0
  64. package/build/dist/Models/DatabaseModels/IoTFleetOwnerTeam.js +503 -0
  65. package/build/dist/Models/DatabaseModels/IoTFleetOwnerTeam.js.map +1 -0
  66. package/build/dist/Models/DatabaseModels/IoTFleetOwnerUser.js +502 -0
  67. package/build/dist/Models/DatabaseModels/IoTFleetOwnerUser.js.map +1 -0
  68. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +54 -0
  69. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
  70. package/build/dist/Server/API/IoTDeviceAPI.js +92 -0
  71. package/build/dist/Server/API/IoTDeviceAPI.js.map +1 -0
  72. package/build/dist/Server/API/TelemetryAPI.js +76 -27
  73. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  74. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1782900000000-AddIoTFleetAndDeviceTables.js +187 -0
  75. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1782900000000-AddIoTFleetAndDeviceTables.js.map +1 -0
  76. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783000000000-AddIoTFleetActivityJoinTables.js +48 -0
  77. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783000000000-AddIoTFleetActivityJoinTables.js.map +1 -0
  78. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783010000000-MigrationName.js +340 -0
  79. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783010000000-MigrationName.js.map +1 -0
  80. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
  81. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  82. package/build/dist/Server/Services/IoTDeviceService.js +249 -0
  83. package/build/dist/Server/Services/IoTDeviceService.js.map +1 -0
  84. package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js +166 -0
  85. package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js.map +1 -0
  86. package/build/dist/Server/Services/IoTFleetLabelRuleService.js +13 -0
  87. package/build/dist/Server/Services/IoTFleetLabelRuleService.js.map +1 -0
  88. package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js +186 -0
  89. package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js.map +1 -0
  90. package/build/dist/Server/Services/IoTFleetOwnerRuleService.js +13 -0
  91. package/build/dist/Server/Services/IoTFleetOwnerRuleService.js.map +1 -0
  92. package/build/dist/Server/Services/IoTFleetOwnerTeamService.js +9 -0
  93. package/build/dist/Server/Services/IoTFleetOwnerTeamService.js.map +1 -0
  94. package/build/dist/Server/Services/IoTFleetOwnerUserService.js +9 -0
  95. package/build/dist/Server/Services/IoTFleetOwnerUserService.js.map +1 -0
  96. package/build/dist/Server/Services/IoTFleetService.js +340 -0
  97. package/build/dist/Server/Services/IoTFleetService.js.map +1 -0
  98. package/build/dist/Server/Services/OpenTelemetryIngestService.js +26 -11
  99. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  100. package/build/dist/Server/Services/StatusPageService.js +57 -23
  101. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  102. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js +34 -0
  103. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js.map +1 -1
  104. package/build/dist/Server/Services/TelemetryUsageBillingService.js +13 -0
  105. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  106. package/build/dist/Server/Services/TraceAggregationService.js +136 -0
  107. package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
  108. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +37 -19
  109. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  110. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js +27 -4
  111. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js.map +1 -1
  112. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +4 -2
  113. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  114. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +39 -11
  115. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  116. package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js +8 -0
  117. package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js.map +1 -1
  118. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +17 -0
  119. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js.map +1 -1
  120. package/build/dist/Server/Utils/Telemetry/IoTSnapshotScan.js +300 -0
  121. package/build/dist/Server/Utils/Telemetry/IoTSnapshotScan.js.map +1 -0
  122. package/build/dist/Types/Icon/IconProp.js +1 -0
  123. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  124. package/build/dist/Types/Monitor/IotAlertTemplates.js +467 -0
  125. package/build/dist/Types/Monitor/IotAlertTemplates.js.map +1 -0
  126. package/build/dist/Types/Monitor/IotMetricCatalog.js +108 -0
  127. package/build/dist/Types/Monitor/IotMetricCatalog.js.map +1 -0
  128. package/build/dist/Types/Monitor/MonitorStep.js +23 -0
  129. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  130. package/build/dist/Types/Monitor/MonitorStepIoTMonitor.js +32 -0
  131. package/build/dist/Types/Monitor/MonitorStepIoTMonitor.js.map +1 -0
  132. package/build/dist/Types/Monitor/MonitorType.js +11 -1
  133. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  134. package/build/dist/Types/Permission.js +204 -0
  135. package/build/dist/Types/Permission.js.map +1 -1
  136. package/build/dist/Types/StatusPage/StatusPageSubscriberNotificationEventType.js +2 -0
  137. package/build/dist/Types/StatusPage/StatusPageSubscriberNotificationEventType.js.map +1 -1
  138. package/build/dist/Types/Telemetry/ServiceType.js +1 -0
  139. package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
  140. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js +3 -3
  141. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js.map +1 -1
  142. package/build/dist/UI/Components/Icon/Icon.js +12 -2
  143. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  144. package/build/dist/UI/Components/Page/Page.js +1 -2
  145. package/build/dist/UI/Components/Page/Page.js.map +1 -1
  146. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TelemetryAPI.js","sourceRoot":"","sources":["../../../../Server/API/TelemetryAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TelemetryAPI.js","sourceRoot":"","sources":["../../../../Server/API/TelemetryAPI.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,187 @@
1
+ /*
2
+ * IoT monitoring product (cloned from the Proxmox infra product):
3
+ * one parent fleet table plus a child device-inventory table. A row per
4
+ * monitored IoTFleet, auto-discovered at OTel ingest from the
5
+ * `iot.fleet.name` resource attribute (the `name` column is the join key —
6
+ * like ProxmoxCluster there is no separate identifier column) or manually
7
+ * registered. IoTDevice rows are written by the metrics-ingest snapshot scan
8
+ * under isRoot and are read-only to users.
9
+ *
10
+ * Unlike the historical two-migration Proxmox split (table create + V2
11
+ * hardening), everything ships in this one migration: the IoTFleet table
12
+ * carries the DB-level UNIQUE(projectId, name) race-defense index from the
13
+ * start, alongside the owner/label rule engine tables, the owner join
14
+ * models, and the IoTDevice inventory table with its unique identity index.
15
+ *
16
+ * Columns/indexes/FKs are derived from the model decorators in
17
+ * Common/Models/DatabaseModels/{IoTFleet,IoTDevice,IoTFleetOwnerTeam,
18
+ * IoTFleetOwnerUser,IoTFleetOwnerRule,IoTFleetLabelRule}.ts.
19
+ *
20
+ * Abbreviations to stay under Postgres's 63-char identifier limit:
21
+ * ifor = IoTFleetOwnerRule, iflr = IoTFleetLabelRule.
22
+ */
23
+ export class AddIoTFleetAndDeviceTables1782900000000 {
24
+ constructor() {
25
+ this.name = "AddIoTFleetAndDeviceTables1782900000000";
26
+ }
27
+ async up(queryRunner) {
28
+ // IoT fleet table.
29
+ await queryRunner.query(`CREATE TABLE "IoTFleet" ("_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, "name" character varying(100) NOT NULL, "slug" character varying(100) NOT NULL, "description" character varying(500), "otelCollectorStatus" character varying(100) DEFAULT 'disconnected', "agentVersion" character varying(100), "lastSeenAt" TIMESTAMP WITH TIME ZONE, "deviceCount" integer DEFAULT '0', "onlineDeviceCount" integer DEFAULT '0', "isArchived" boolean NOT NULL DEFAULT false, "archivedAt" TIMESTAMP WITH TIME ZONE, "archivedByUserId" uuid, "retainTelemetryDataForDays" integer, "telemetryRetentionConfig" jsonb, "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_iot_fleet_id" PRIMARY KEY ("_id"))`);
30
+ await queryRunner.query(`CREATE INDEX "IDX_iot_fleet_projectId" ON "IoTFleet" ("projectId")`);
31
+ await queryRunner.query(`CREATE INDEX "IDX_iot_fleet_name" ON "IoTFleet" ("name")`);
32
+ await queryRunner.query(`CREATE UNIQUE INDEX "IDX_iot_fleet_slug" ON "IoTFleet" ("slug")`);
33
+ await queryRunner.query(`CREATE INDEX "IDX_iot_fleet_isArchived" ON "IoTFleet" ("projectId", "isArchived")`);
34
+ await queryRunner.query(`CREATE UNIQUE INDEX "IDX_iot_fleet_projectId_name" ON "IoTFleet" ("projectId", "name")`);
35
+ await queryRunner.query(`ALTER TABLE "IoTFleet" ADD CONSTRAINT "FK_iot_fleet_projectId" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
36
+ await queryRunner.query(`ALTER TABLE "IoTFleet" ADD CONSTRAINT "FK_iot_fleet_archivedByUserId" FOREIGN KEY ("archivedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
37
+ await queryRunner.query(`ALTER TABLE "IoTFleet" ADD CONSTRAINT "FK_iot_fleet_createdByUserId" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
38
+ await queryRunner.query(`ALTER TABLE "IoTFleet" ADD CONSTRAINT "FK_iot_fleet_deletedByUserId" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
39
+ // IoT fleet label join table.
40
+ await queryRunner.query(`CREATE TABLE "IoTFleetLabel" ("iotFleetId" uuid NOT NULL, "labelId" uuid NOT NULL, CONSTRAINT "PK_iot_fleet_label" PRIMARY KEY ("iotFleetId", "labelId"))`);
41
+ await queryRunner.query(`CREATE INDEX "IDX_iot_fleet_label_iotFleetId" ON "IoTFleetLabel" ("iotFleetId")`);
42
+ await queryRunner.query(`CREATE INDEX "IDX_iot_fleet_label_labelId" ON "IoTFleetLabel" ("labelId")`);
43
+ await queryRunner.query(`ALTER TABLE "IoTFleetLabel" ADD CONSTRAINT "FK_iot_fleet_label_iotFleetId" FOREIGN KEY ("iotFleetId") REFERENCES "IoTFleet"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
44
+ await queryRunner.query(`ALTER TABLE "IoTFleetLabel" ADD CONSTRAINT "FK_iot_fleet_label_labelId" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
45
+ /*
46
+ * ------------------------------------------------------------------
47
+ * Owner/label rule engine tables.
48
+ * ------------------------------------------------------------------
49
+ */
50
+ // IoTFleetOwnerRule
51
+ await queryRunner.query(`CREATE TABLE "IoTFleetOwnerRule" ("_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, "name" character varying(100) NOT NULL, "description" character varying(500), "isEnabled" boolean NOT NULL DEFAULT true, "notifyOwners" boolean NOT NULL DEFAULT true, "iotFleetNamePattern" character varying(500), "iotFleetDescriptionPattern" character varying(500), "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_iot_fleet_owner_rule" PRIMARY KEY ("_id"))`);
52
+ await queryRunner.query(`CREATE INDEX "IDX_iot_fleet_owner_rule_projectId" ON "IoTFleetOwnerRule" ("projectId")`);
53
+ await queryRunner.query(`CREATE INDEX "IDX_iot_fleet_owner_rule_name" ON "IoTFleetOwnerRule" ("name")`);
54
+ await queryRunner.query(`CREATE INDEX "IDX_iot_fleet_owner_rule_isEnabled" ON "IoTFleetOwnerRule" ("isEnabled")`);
55
+ await queryRunner.query(`ALTER TABLE "IoTFleetOwnerRule" ADD CONSTRAINT "FK_iot_fleet_owner_rule_projectId" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
56
+ await queryRunner.query(`ALTER TABLE "IoTFleetOwnerRule" ADD CONSTRAINT "FK_iot_fleet_owner_rule_createdByUserId" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
57
+ await queryRunner.query(`ALTER TABLE "IoTFleetOwnerRule" ADD CONSTRAINT "FK_iot_fleet_owner_rule_deletedByUserId" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
58
+ // IoTFleetLabelRule
59
+ await queryRunner.query(`CREATE TABLE "IoTFleetLabelRule" ("_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, "name" character varying(100) NOT NULL, "description" character varying(500), "isEnabled" boolean NOT NULL DEFAULT true, "iotFleetNamePattern" character varying(500), "iotFleetDescriptionPattern" character varying(500), "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_iot_fleet_label_rule" PRIMARY KEY ("_id"))`);
60
+ await queryRunner.query(`CREATE INDEX "IDX_iot_fleet_label_rule_projectId" ON "IoTFleetLabelRule" ("projectId")`);
61
+ await queryRunner.query(`CREATE INDEX "IDX_iot_fleet_label_rule_name" ON "IoTFleetLabelRule" ("name")`);
62
+ await queryRunner.query(`CREATE INDEX "IDX_iot_fleet_label_rule_isEnabled" ON "IoTFleetLabelRule" ("isEnabled")`);
63
+ await queryRunner.query(`ALTER TABLE "IoTFleetLabelRule" ADD CONSTRAINT "FK_iot_fleet_label_rule_projectId" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
64
+ await queryRunner.query(`ALTER TABLE "IoTFleetLabelRule" ADD CONSTRAINT "FK_iot_fleet_label_rule_createdByUserId" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
65
+ await queryRunner.query(`ALTER TABLE "IoTFleetLabelRule" ADD CONSTRAINT "FK_iot_fleet_label_rule_deletedByUserId" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
66
+ /*
67
+ * ------------------------------------------------------------------
68
+ * Rule matcher/action join tables.
69
+ * Abbreviations: ifor = IoTFleetOwnerRule, iflr = IoTFleetLabelRule.
70
+ * ------------------------------------------------------------------
71
+ */
72
+ // IoTFleetOwnerRuleIoTFleetLabel (matcher labels)
73
+ await queryRunner.query(`CREATE TABLE "IoTFleetOwnerRuleIoTFleetLabel" ("iotFleetOwnerRuleId" uuid NOT NULL, "labelId" uuid NOT NULL, CONSTRAINT "PK_ifor_fleet_label" PRIMARY KEY ("iotFleetOwnerRuleId", "labelId"))`);
74
+ await queryRunner.query(`CREATE INDEX "IDX_ifor_fleet_label_ruleId" ON "IoTFleetOwnerRuleIoTFleetLabel" ("iotFleetOwnerRuleId")`);
75
+ await queryRunner.query(`CREATE INDEX "IDX_ifor_fleet_label_labelId" ON "IoTFleetOwnerRuleIoTFleetLabel" ("labelId")`);
76
+ await queryRunner.query(`ALTER TABLE "IoTFleetOwnerRuleIoTFleetLabel" ADD CONSTRAINT "FK_ifor_fleet_label_ruleId" FOREIGN KEY ("iotFleetOwnerRuleId") REFERENCES "IoTFleetOwnerRule"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
77
+ await queryRunner.query(`ALTER TABLE "IoTFleetOwnerRuleIoTFleetLabel" ADD CONSTRAINT "FK_ifor_fleet_label_labelId" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
78
+ // IoTFleetOwnerRuleOwnerUser
79
+ await queryRunner.query(`CREATE TABLE "IoTFleetOwnerRuleOwnerUser" ("iotFleetOwnerRuleId" uuid NOT NULL, "userId" uuid NOT NULL, CONSTRAINT "PK_ifor_owner_user" PRIMARY KEY ("iotFleetOwnerRuleId", "userId"))`);
80
+ await queryRunner.query(`CREATE INDEX "IDX_ifor_owner_user_ruleId" ON "IoTFleetOwnerRuleOwnerUser" ("iotFleetOwnerRuleId")`);
81
+ await queryRunner.query(`CREATE INDEX "IDX_ifor_owner_user_userId" ON "IoTFleetOwnerRuleOwnerUser" ("userId")`);
82
+ await queryRunner.query(`ALTER TABLE "IoTFleetOwnerRuleOwnerUser" ADD CONSTRAINT "FK_ifor_owner_user_ruleId" FOREIGN KEY ("iotFleetOwnerRuleId") REFERENCES "IoTFleetOwnerRule"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
83
+ await queryRunner.query(`ALTER TABLE "IoTFleetOwnerRuleOwnerUser" ADD CONSTRAINT "FK_ifor_owner_user_userId" FOREIGN KEY ("userId") REFERENCES "User"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
84
+ // IoTFleetOwnerRuleOwnerTeam
85
+ await queryRunner.query(`CREATE TABLE "IoTFleetOwnerRuleOwnerTeam" ("iotFleetOwnerRuleId" uuid NOT NULL, "teamId" uuid NOT NULL, CONSTRAINT "PK_ifor_owner_team" PRIMARY KEY ("iotFleetOwnerRuleId", "teamId"))`);
86
+ await queryRunner.query(`CREATE INDEX "IDX_ifor_owner_team_ruleId" ON "IoTFleetOwnerRuleOwnerTeam" ("iotFleetOwnerRuleId")`);
87
+ await queryRunner.query(`CREATE INDEX "IDX_ifor_owner_team_teamId" ON "IoTFleetOwnerRuleOwnerTeam" ("teamId")`);
88
+ await queryRunner.query(`ALTER TABLE "IoTFleetOwnerRuleOwnerTeam" ADD CONSTRAINT "FK_ifor_owner_team_ruleId" FOREIGN KEY ("iotFleetOwnerRuleId") REFERENCES "IoTFleetOwnerRule"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
89
+ await queryRunner.query(`ALTER TABLE "IoTFleetOwnerRuleOwnerTeam" ADD CONSTRAINT "FK_ifor_owner_team_teamId" FOREIGN KEY ("teamId") REFERENCES "Team"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
90
+ // IoTFleetLabelRuleIoTFleetLabel (matcher labels)
91
+ await queryRunner.query(`CREATE TABLE "IoTFleetLabelRuleIoTFleetLabel" ("iotFleetLabelRuleId" uuid NOT NULL, "labelId" uuid NOT NULL, CONSTRAINT "PK_iflr_fleet_label" PRIMARY KEY ("iotFleetLabelRuleId", "labelId"))`);
92
+ await queryRunner.query(`CREATE INDEX "IDX_iflr_fleet_label_ruleId" ON "IoTFleetLabelRuleIoTFleetLabel" ("iotFleetLabelRuleId")`);
93
+ await queryRunner.query(`CREATE INDEX "IDX_iflr_fleet_label_labelId" ON "IoTFleetLabelRuleIoTFleetLabel" ("labelId")`);
94
+ await queryRunner.query(`ALTER TABLE "IoTFleetLabelRuleIoTFleetLabel" ADD CONSTRAINT "FK_iflr_fleet_label_ruleId" FOREIGN KEY ("iotFleetLabelRuleId") REFERENCES "IoTFleetLabelRule"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
95
+ await queryRunner.query(`ALTER TABLE "IoTFleetLabelRuleIoTFleetLabel" ADD CONSTRAINT "FK_iflr_fleet_label_labelId" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
96
+ // IoTFleetLabelRuleLabelToAdd (action labels)
97
+ await queryRunner.query(`CREATE TABLE "IoTFleetLabelRuleLabelToAdd" ("iotFleetLabelRuleId" uuid NOT NULL, "labelId" uuid NOT NULL, CONSTRAINT "PK_iflr_label_to_add" PRIMARY KEY ("iotFleetLabelRuleId", "labelId"))`);
98
+ await queryRunner.query(`CREATE INDEX "IDX_iflr_label_to_add_ruleId" ON "IoTFleetLabelRuleLabelToAdd" ("iotFleetLabelRuleId")`);
99
+ await queryRunner.query(`CREATE INDEX "IDX_iflr_label_to_add_labelId" ON "IoTFleetLabelRuleLabelToAdd" ("labelId")`);
100
+ await queryRunner.query(`ALTER TABLE "IoTFleetLabelRuleLabelToAdd" ADD CONSTRAINT "FK_iflr_label_to_add_ruleId" FOREIGN KEY ("iotFleetLabelRuleId") REFERENCES "IoTFleetLabelRule"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
101
+ await queryRunner.query(`ALTER TABLE "IoTFleetLabelRuleLabelToAdd" ADD CONSTRAINT "FK_iflr_label_to_add_labelId" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
102
+ /*
103
+ * ------------------------------------------------------------------
104
+ * Owner join models (the prerequisite for the Owners page and
105
+ * useResourceOwners facets).
106
+ * ------------------------------------------------------------------
107
+ */
108
+ // IoTFleetOwnerUser
109
+ await queryRunner.query(`CREATE TABLE "IoTFleetOwnerUser" ("_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, "userId" uuid NOT NULL, "iotFleetId" uuid NOT NULL, "createdByUserId" uuid, "deletedByUserId" uuid, "isOwnerNotified" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_iot_fleet_owner_user" PRIMARY KEY ("_id"))`);
110
+ await queryRunner.query(`CREATE INDEX "IDX_iot_fleet_owner_user_projectId" ON "IoTFleetOwnerUser" ("projectId")`);
111
+ await queryRunner.query(`CREATE INDEX "IDX_iot_fleet_owner_user_userId" ON "IoTFleetOwnerUser" ("userId")`);
112
+ await queryRunner.query(`CREATE INDEX "IDX_iot_fleet_owner_user_iotFleetId" ON "IoTFleetOwnerUser" ("iotFleetId")`);
113
+ await queryRunner.query(`CREATE INDEX "IDX_iot_fleet_owner_user_isOwnerNotified" ON "IoTFleetOwnerUser" ("isOwnerNotified")`);
114
+ await queryRunner.query(`ALTER TABLE "IoTFleetOwnerUser" ADD CONSTRAINT "FK_iot_fleet_owner_user_projectId" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
115
+ await queryRunner.query(`ALTER TABLE "IoTFleetOwnerUser" ADD CONSTRAINT "FK_iot_fleet_owner_user_userId" FOREIGN KEY ("userId") REFERENCES "User"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
116
+ await queryRunner.query(`ALTER TABLE "IoTFleetOwnerUser" ADD CONSTRAINT "FK_iot_fleet_owner_user_iotFleetId" FOREIGN KEY ("iotFleetId") REFERENCES "IoTFleet"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
117
+ await queryRunner.query(`ALTER TABLE "IoTFleetOwnerUser" ADD CONSTRAINT "FK_iot_fleet_owner_user_createdByUserId" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
118
+ await queryRunner.query(`ALTER TABLE "IoTFleetOwnerUser" ADD CONSTRAINT "FK_iot_fleet_owner_user_deletedByUserId" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
119
+ // IoTFleetOwnerTeam
120
+ await queryRunner.query(`CREATE TABLE "IoTFleetOwnerTeam" ("_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, "teamId" uuid NOT NULL, "iotFleetId" uuid NOT NULL, "createdByUserId" uuid, "deletedByUserId" uuid, "isOwnerNotified" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_iot_fleet_owner_team" PRIMARY KEY ("_id"))`);
121
+ await queryRunner.query(`CREATE INDEX "IDX_iot_fleet_owner_team_projectId" ON "IoTFleetOwnerTeam" ("projectId")`);
122
+ await queryRunner.query(`CREATE INDEX "IDX_iot_fleet_owner_team_teamId" ON "IoTFleetOwnerTeam" ("teamId")`);
123
+ await queryRunner.query(`CREATE INDEX "IDX_iot_fleet_owner_team_iotFleetId" ON "IoTFleetOwnerTeam" ("iotFleetId")`);
124
+ await queryRunner.query(`CREATE INDEX "IDX_iot_fleet_owner_team_isOwnerNotified" ON "IoTFleetOwnerTeam" ("isOwnerNotified")`);
125
+ await queryRunner.query(`ALTER TABLE "IoTFleetOwnerTeam" ADD CONSTRAINT "FK_iot_fleet_owner_team_projectId" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
126
+ await queryRunner.query(`ALTER TABLE "IoTFleetOwnerTeam" ADD CONSTRAINT "FK_iot_fleet_owner_team_teamId" FOREIGN KEY ("teamId") REFERENCES "Team"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
127
+ await queryRunner.query(`ALTER TABLE "IoTFleetOwnerTeam" ADD CONSTRAINT "FK_iot_fleet_owner_team_iotFleetId" FOREIGN KEY ("iotFleetId") REFERENCES "IoTFleet"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
128
+ await queryRunner.query(`ALTER TABLE "IoTFleetOwnerTeam" ADD CONSTRAINT "FK_iot_fleet_owner_team_createdByUserId" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
129
+ await queryRunner.query(`ALTER TABLE "IoTFleetOwnerTeam" ADD CONSTRAINT "FK_iot_fleet_owner_team_deletedByUserId" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
130
+ /*
131
+ * ------------------------------------------------------------------
132
+ * IoT device inventory table (read-only to users, written by the
133
+ * metrics-ingest snapshot scan under isRoot). externalId is the
134
+ * `device.id` datapoint label; kind is the device class.
135
+ * ------------------------------------------------------------------
136
+ */
137
+ await queryRunner.query(`CREATE TABLE "IoTDevice" ("_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, "iotFleetId" uuid NOT NULL, "kind" character varying(100) NOT NULL, "externalId" character varying(100) NOT NULL, "name" character varying(100), "deviceType" character varying(100), "firmwareVersion" character varying(100), "isUp" boolean, "uptimeSeconds" integer, "latestCpuPercent" numeric, "latestMemoryBytes" bigint, "maxMemoryBytes" bigint, "latestMemoryPercent" numeric, "latestBatteryPercent" numeric, "latestSignalStrengthDbm" numeric, "latestTemperatureCelsius" numeric, "metricsUpdatedAt" TIMESTAMP WITH TIME ZONE, "lastSeenAt" TIMESTAMP WITH TIME ZONE NOT NULL, "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_iot_device_id" PRIMARY KEY ("_id"))`);
138
+ await queryRunner.query(`CREATE INDEX "IDX_iot_device_projectId" ON "IoTDevice" ("projectId")`);
139
+ await queryRunner.query(`CREATE INDEX "IDX_iot_device_iotFleetId" ON "IoTDevice" ("iotFleetId")`);
140
+ await queryRunner.query(`CREATE UNIQUE INDEX "IDX_iot_device_identity" ON "IoTDevice" ("projectId", "iotFleetId", "kind", "externalId")`);
141
+ await queryRunner.query(`ALTER TABLE "IoTDevice" ADD CONSTRAINT "FK_iot_device_projectId" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
142
+ await queryRunner.query(`ALTER TABLE "IoTDevice" ADD CONSTRAINT "FK_iot_device_iotFleetId" FOREIGN KEY ("iotFleetId") REFERENCES "IoTFleet"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
143
+ await queryRunner.query(`ALTER TABLE "IoTDevice" ADD CONSTRAINT "FK_iot_device_createdByUserId" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
144
+ await queryRunner.query(`ALTER TABLE "IoTDevice" ADD CONSTRAINT "FK_iot_device_deletedByUserId" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
145
+ }
146
+ async down(queryRunner) {
147
+ // IoT device inventory table.
148
+ await queryRunner.query(`ALTER TABLE "IoTDevice" DROP CONSTRAINT "FK_iot_device_deletedByUserId"`);
149
+ await queryRunner.query(`ALTER TABLE "IoTDevice" DROP CONSTRAINT "FK_iot_device_createdByUserId"`);
150
+ await queryRunner.query(`ALTER TABLE "IoTDevice" DROP CONSTRAINT "FK_iot_device_iotFleetId"`);
151
+ await queryRunner.query(`ALTER TABLE "IoTDevice" DROP CONSTRAINT "FK_iot_device_projectId"`);
152
+ await queryRunner.query(`DROP INDEX "public"."IDX_iot_device_identity"`);
153
+ await queryRunner.query(`DROP INDEX "public"."IDX_iot_device_iotFleetId"`);
154
+ await queryRunner.query(`DROP INDEX "public"."IDX_iot_device_projectId"`);
155
+ await queryRunner.query(`DROP TABLE "IoTDevice"`);
156
+ // Owner join models.
157
+ await queryRunner.query(`DROP TABLE "IoTFleetOwnerTeam"`);
158
+ await queryRunner.query(`DROP TABLE "IoTFleetOwnerUser"`);
159
+ // Rule matcher/action join tables.
160
+ await queryRunner.query(`DROP TABLE "IoTFleetLabelRuleLabelToAdd"`);
161
+ await queryRunner.query(`DROP TABLE "IoTFleetLabelRuleIoTFleetLabel"`);
162
+ await queryRunner.query(`DROP TABLE "IoTFleetOwnerRuleOwnerTeam"`);
163
+ await queryRunner.query(`DROP TABLE "IoTFleetOwnerRuleOwnerUser"`);
164
+ await queryRunner.query(`DROP TABLE "IoTFleetOwnerRuleIoTFleetLabel"`);
165
+ // Rule tables.
166
+ await queryRunner.query(`DROP TABLE "IoTFleetLabelRule"`);
167
+ await queryRunner.query(`DROP TABLE "IoTFleetOwnerRule"`);
168
+ // IoT fleet label join table.
169
+ await queryRunner.query(`ALTER TABLE "IoTFleetLabel" DROP CONSTRAINT "FK_iot_fleet_label_labelId"`);
170
+ await queryRunner.query(`ALTER TABLE "IoTFleetLabel" DROP CONSTRAINT "FK_iot_fleet_label_iotFleetId"`);
171
+ await queryRunner.query(`DROP INDEX "public"."IDX_iot_fleet_label_labelId"`);
172
+ await queryRunner.query(`DROP INDEX "public"."IDX_iot_fleet_label_iotFleetId"`);
173
+ await queryRunner.query(`DROP TABLE "IoTFleetLabel"`);
174
+ // IoT fleet table.
175
+ await queryRunner.query(`ALTER TABLE "IoTFleet" DROP CONSTRAINT "FK_iot_fleet_deletedByUserId"`);
176
+ await queryRunner.query(`ALTER TABLE "IoTFleet" DROP CONSTRAINT "FK_iot_fleet_createdByUserId"`);
177
+ await queryRunner.query(`ALTER TABLE "IoTFleet" DROP CONSTRAINT "FK_iot_fleet_archivedByUserId"`);
178
+ await queryRunner.query(`ALTER TABLE "IoTFleet" DROP CONSTRAINT "FK_iot_fleet_projectId"`);
179
+ await queryRunner.query(`DROP INDEX "public"."IDX_iot_fleet_projectId_name"`);
180
+ await queryRunner.query(`DROP INDEX "public"."IDX_iot_fleet_isArchived"`);
181
+ await queryRunner.query(`DROP INDEX "public"."IDX_iot_fleet_slug"`);
182
+ await queryRunner.query(`DROP INDEX "public"."IDX_iot_fleet_name"`);
183
+ await queryRunner.query(`DROP INDEX "public"."IDX_iot_fleet_projectId"`);
184
+ await queryRunner.query(`DROP TABLE "IoTFleet"`);
185
+ }
186
+ }
187
+ //# sourceMappingURL=1782900000000-AddIoTFleetAndDeviceTables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1782900000000-AddIoTFleetAndDeviceTables.js","sourceRoot":"","sources":["../../../../../../Server/Infrastructure/Postgres/SchemaMigrations/1782900000000-AddIoTFleetAndDeviceTables.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /*
2
+ * IoT activity wiring — iotFleets ManyToMany join tables on Alert,
3
+ * Incident and ScheduledMaintenance (cloned from the
4
+ * AlertProxmoxCluster / IncidentProxmoxCluster shape in
5
+ * 1781600000001-AddProxmoxCephActivityAndRules). Lets the per-fleet
6
+ * Activity pages and SideMenu badge counts query `iotFleets` on
7
+ * Incident / Alert / ScheduledMaintenance.
8
+ *
9
+ * Columns/indexes/FKs are derived from the model decorators in
10
+ * Common/Models/DatabaseModels/.
11
+ */
12
+ export class AddIoTFleetActivityJoinTables1783000000000 {
13
+ constructor() {
14
+ this.name = "AddIoTFleetActivityJoinTables1783000000000";
15
+ }
16
+ async up(queryRunner) {
17
+ // AlertIoTFleet
18
+ await queryRunner.query(`CREATE TABLE "AlertIoTFleet" ("alertId" uuid NOT NULL, "iotFleetId" uuid NOT NULL, CONSTRAINT "PK_alert_iot_fleet" PRIMARY KEY ("alertId", "iotFleetId"))`);
19
+ await queryRunner.query(`CREATE INDEX "IDX_alert_iot_fleet_alertId" ON "AlertIoTFleet" ("alertId")`);
20
+ await queryRunner.query(`CREATE INDEX "IDX_alert_iot_fleet_iotFleetId" ON "AlertIoTFleet" ("iotFleetId")`);
21
+ await queryRunner.query(`ALTER TABLE "AlertIoTFleet" ADD CONSTRAINT "FK_alert_iot_fleet_alertId" FOREIGN KEY ("alertId") REFERENCES "Alert"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
22
+ await queryRunner.query(`ALTER TABLE "AlertIoTFleet" ADD CONSTRAINT "FK_alert_iot_fleet_iotFleetId" FOREIGN KEY ("iotFleetId") REFERENCES "IoTFleet"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
23
+ // IncidentIoTFleet
24
+ await queryRunner.query(`CREATE TABLE "IncidentIoTFleet" ("incidentId" uuid NOT NULL, "iotFleetId" uuid NOT NULL, CONSTRAINT "PK_incident_iot_fleet" PRIMARY KEY ("incidentId", "iotFleetId"))`);
25
+ await queryRunner.query(`CREATE INDEX "IDX_incident_iot_fleet_incidentId" ON "IncidentIoTFleet" ("incidentId")`);
26
+ await queryRunner.query(`CREATE INDEX "IDX_incident_iot_fleet_iotFleetId" ON "IncidentIoTFleet" ("iotFleetId")`);
27
+ await queryRunner.query(`ALTER TABLE "IncidentIoTFleet" ADD CONSTRAINT "FK_incident_iot_fleet_incidentId" FOREIGN KEY ("incidentId") REFERENCES "Incident"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
28
+ await queryRunner.query(`ALTER TABLE "IncidentIoTFleet" ADD CONSTRAINT "FK_incident_iot_fleet_iotFleetId" FOREIGN KEY ("iotFleetId") REFERENCES "IoTFleet"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
29
+ // ScheduledMaintenanceIoTFleet
30
+ await queryRunner.query(`CREATE TABLE "ScheduledMaintenanceIoTFleet" ("scheduledMaintenanceId" uuid NOT NULL, "iotFleetId" uuid NOT NULL, CONSTRAINT "PK_scheduled_maintenance_iot_fleet" PRIMARY KEY ("scheduledMaintenanceId", "iotFleetId"))`);
31
+ await queryRunner.query(`CREATE INDEX "IDX_scheduled_maintenance_iot_fleet_scheduledMaintenanceId" ON "ScheduledMaintenanceIoTFleet" ("scheduledMaintenanceId")`);
32
+ await queryRunner.query(`CREATE INDEX "IDX_scheduled_maintenance_iot_fleet_iotFleetId" ON "ScheduledMaintenanceIoTFleet" ("iotFleetId")`);
33
+ await queryRunner.query(`ALTER TABLE "ScheduledMaintenanceIoTFleet" ADD CONSTRAINT "FK_scheduled_maintenance_iot_fleet_scheduledMaintenanceId" FOREIGN KEY ("scheduledMaintenanceId") REFERENCES "ScheduledMaintenance"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
34
+ await queryRunner.query(`ALTER TABLE "ScheduledMaintenanceIoTFleet" ADD CONSTRAINT "FK_scheduled_maintenance_iot_fleet_iotFleetId" FOREIGN KEY ("iotFleetId") REFERENCES "IoTFleet"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
35
+ }
36
+ async down(queryRunner) {
37
+ await queryRunner.query(`ALTER TABLE "ScheduledMaintenanceIoTFleet" DROP CONSTRAINT "FK_scheduled_maintenance_iot_fleet_iotFleetId"`);
38
+ await queryRunner.query(`ALTER TABLE "ScheduledMaintenanceIoTFleet" DROP CONSTRAINT "FK_scheduled_maintenance_iot_fleet_scheduledMaintenanceId"`);
39
+ await queryRunner.query(`DROP TABLE "ScheduledMaintenanceIoTFleet"`);
40
+ await queryRunner.query(`ALTER TABLE "IncidentIoTFleet" DROP CONSTRAINT "FK_incident_iot_fleet_iotFleetId"`);
41
+ await queryRunner.query(`ALTER TABLE "IncidentIoTFleet" DROP CONSTRAINT "FK_incident_iot_fleet_incidentId"`);
42
+ await queryRunner.query(`DROP TABLE "IncidentIoTFleet"`);
43
+ await queryRunner.query(`ALTER TABLE "AlertIoTFleet" DROP CONSTRAINT "FK_alert_iot_fleet_iotFleetId"`);
44
+ await queryRunner.query(`ALTER TABLE "AlertIoTFleet" DROP CONSTRAINT "FK_alert_iot_fleet_alertId"`);
45
+ await queryRunner.query(`DROP TABLE "AlertIoTFleet"`);
46
+ }
47
+ }
48
+ //# sourceMappingURL=1783000000000-AddIoTFleetActivityJoinTables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1783000000000-AddIoTFleetActivityJoinTables.js","sourceRoot":"","sources":["../../../../../../Server/Infrastructure/Postgres/SchemaMigrations/1783000000000-AddIoTFleetActivityJoinTables.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,OAAO,0CAA0C;IAAvD;QAGS,SAAI,GAAG,4CAA4C,CAAC;IAgF7D,CAAC;IA9EQ,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,gBAAgB;QAChB,MAAM,WAAW,CAAC,KAAK,CACrB,2JAA2J,CAC5J,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,2EAA2E,CAC5E,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,iFAAiF,CAClF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,+JAA+J,CAChK,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,wKAAwK,CACzK,CAAC;QAEF,mBAAmB;QACnB,MAAM,WAAW,CAAC,KAAK,CACrB,uKAAuK,CACxK,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,uFAAuF,CACxF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,uFAAuF,CACxF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,8KAA8K,CAC/K,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,8KAA8K,CAC/K,CAAC;QAEF,+BAA+B;QAC/B,MAAM,WAAW,CAAC,KAAK,CACrB,wNAAwN,CACzN,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,wIAAwI,CACzI,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,gHAAgH,CACjH,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,2OAA2O,CAC5O,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,uMAAuM,CACxM,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,WAAW,CAAC,KAAK,CACrB,4GAA4G,CAC7G,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,wHAAwH,CACzH,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAErE,MAAM,WAAW,CAAC,KAAK,CACrB,mFAAmF,CACpF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,mFAAmF,CACpF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAEzD,MAAM,WAAW,CAAC,KAAK,CACrB,6EAA6E,CAC9E,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,0EAA0E,CAC3E,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACxD,CAAC;CACF"}