@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.
- package/Models/DatabaseModels/Alert.ts +55 -0
- package/Models/DatabaseModels/Incident.ts +55 -0
- package/Models/DatabaseModels/Index.ts +12 -0
- package/Models/DatabaseModels/IoTDevice.ts +690 -0
- package/Models/DatabaseModels/IoTFleet.ts +862 -0
- package/Models/DatabaseModels/IoTFleetLabelRule.ts +514 -0
- package/Models/DatabaseModels/IoTFleetOwnerRule.ts +596 -0
- package/Models/DatabaseModels/IoTFleetOwnerTeam.ts +485 -0
- package/Models/DatabaseModels/IoTFleetOwnerUser.ts +484 -0
- package/Models/DatabaseModels/ScheduledMaintenance.ts +55 -0
- package/Server/API/IoTDeviceAPI.ts +128 -0
- package/Server/API/TelemetryAPI.ts +104 -35
- package/Server/Infrastructure/Postgres/SchemaMigrations/1782900000000-AddIoTFleetAndDeviceTables.ts +399 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1783000000000-AddIoTFleetActivityJoinTables.ts +97 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1783010000000-MigrationName.ts +979 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
- package/Server/Services/IoTDeviceService.ts +356 -0
- package/Server/Services/IoTFleetLabelRuleEngineService.ts +198 -0
- package/Server/Services/IoTFleetLabelRuleService.ts +14 -0
- package/Server/Services/IoTFleetOwnerRuleEngineService.ts +216 -0
- package/Server/Services/IoTFleetOwnerRuleService.ts +14 -0
- package/Server/Services/IoTFleetOwnerTeamService.ts +10 -0
- package/Server/Services/IoTFleetOwnerUserService.ts +10 -0
- package/Server/Services/IoTFleetService.ts +376 -0
- package/Server/Services/OpenTelemetryIngestService.ts +16 -0
- package/Server/Services/StatusPageService.ts +69 -26
- package/Server/Services/StatusPageSubscriberNotificationTemplateService.ts +36 -0
- package/Server/Services/TelemetryUsageBillingService.ts +18 -0
- package/Server/Services/TraceAggregationService.ts +174 -0
- package/Server/Utils/Monitor/MonitorAlert.ts +24 -4
- package/Server/Utils/Monitor/MonitorClusterContext.ts +26 -2
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +4 -2
- package/Server/Utils/Monitor/MonitorIncident.ts +39 -5
- package/Server/Utils/Monitor/MonitorMaintenanceSuppression.ts +14 -0
- package/Server/Utils/Monitor/SeriesResourceLabels.ts +22 -0
- package/Server/Utils/Telemetry/IoTSnapshotScan.ts +408 -0
- package/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.ts +36 -0
- package/Types/Icon/IconProp.ts +1 -0
- package/Types/Monitor/IotAlertTemplates.ts +593 -0
- package/Types/Monitor/IotMetricCatalog.ts +146 -0
- package/Types/Monitor/MonitorStep.ts +31 -0
- package/Types/Monitor/MonitorStepIoTMonitor.ts +65 -0
- package/Types/Monitor/MonitorType.ts +12 -1
- package/Types/Permission.ts +230 -0
- package/Types/StatusPage/StatusPageSubscriberNotificationEventType.ts +3 -0
- package/Types/Telemetry/ServiceType.ts +1 -0
- package/UI/Components/Charts/ChartGroup/ChartGroup.tsx +5 -5
- package/UI/Components/Icon/Icon.tsx +18 -2
- package/UI/Components/Page/Page.tsx +1 -2
- package/build/dist/Models/DatabaseModels/Alert.js +54 -0
- package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Incident.js +54 -0
- package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +12 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IoTDevice.js +722 -0
- package/build/dist/Models/DatabaseModels/IoTDevice.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IoTFleet.js +882 -0
- package/build/dist/Models/DatabaseModels/IoTFleet.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IoTFleetLabelRule.js +522 -0
- package/build/dist/Models/DatabaseModels/IoTFleetLabelRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IoTFleetOwnerRule.js +603 -0
- package/build/dist/Models/DatabaseModels/IoTFleetOwnerRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IoTFleetOwnerTeam.js +503 -0
- package/build/dist/Models/DatabaseModels/IoTFleetOwnerTeam.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IoTFleetOwnerUser.js +502 -0
- package/build/dist/Models/DatabaseModels/IoTFleetOwnerUser.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +54 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
- package/build/dist/Server/API/IoTDeviceAPI.js +92 -0
- package/build/dist/Server/API/IoTDeviceAPI.js.map +1 -0
- package/build/dist/Server/API/TelemetryAPI.js +76 -27
- package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1782900000000-AddIoTFleetAndDeviceTables.js +187 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1782900000000-AddIoTFleetAndDeviceTables.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783000000000-AddIoTFleetActivityJoinTables.js +48 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783000000000-AddIoTFleetActivityJoinTables.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783010000000-MigrationName.js +340 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783010000000-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/IoTDeviceService.js +249 -0
- package/build/dist/Server/Services/IoTDeviceService.js.map +1 -0
- package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js +166 -0
- package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js.map +1 -0
- package/build/dist/Server/Services/IoTFleetLabelRuleService.js +13 -0
- package/build/dist/Server/Services/IoTFleetLabelRuleService.js.map +1 -0
- package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js +186 -0
- package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js.map +1 -0
- package/build/dist/Server/Services/IoTFleetOwnerRuleService.js +13 -0
- package/build/dist/Server/Services/IoTFleetOwnerRuleService.js.map +1 -0
- package/build/dist/Server/Services/IoTFleetOwnerTeamService.js +9 -0
- package/build/dist/Server/Services/IoTFleetOwnerTeamService.js.map +1 -0
- package/build/dist/Server/Services/IoTFleetOwnerUserService.js +9 -0
- package/build/dist/Server/Services/IoTFleetOwnerUserService.js.map +1 -0
- package/build/dist/Server/Services/IoTFleetService.js +340 -0
- package/build/dist/Server/Services/IoTFleetService.js.map +1 -0
- package/build/dist/Server/Services/OpenTelemetryIngestService.js +26 -11
- package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageService.js +57 -23
- package/build/dist/Server/Services/StatusPageService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js +34 -0
- package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryUsageBillingService.js +13 -0
- package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
- package/build/dist/Server/Services/TraceAggregationService.js +136 -0
- package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +37 -19
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js +27 -4
- package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +4 -2
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +39 -11
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js +8 -0
- package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +17 -0
- package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/IoTSnapshotScan.js +300 -0
- package/build/dist/Server/Utils/Telemetry/IoTSnapshotScan.js.map +1 -0
- package/build/dist/Types/Icon/IconProp.js +1 -0
- package/build/dist/Types/Icon/IconProp.js.map +1 -1
- package/build/dist/Types/Monitor/IotAlertTemplates.js +467 -0
- package/build/dist/Types/Monitor/IotAlertTemplates.js.map +1 -0
- package/build/dist/Types/Monitor/IotMetricCatalog.js +108 -0
- package/build/dist/Types/Monitor/IotMetricCatalog.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorStep.js +23 -0
- package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepIoTMonitor.js +32 -0
- package/build/dist/Types/Monitor/MonitorStepIoTMonitor.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorType.js +11 -1
- package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
- package/build/dist/Types/Permission.js +204 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/StatusPage/StatusPageSubscriberNotificationEventType.js +2 -0
- package/build/dist/Types/StatusPage/StatusPageSubscriberNotificationEventType.js.map +1 -1
- package/build/dist/Types/Telemetry/ServiceType.js +1 -0
- package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js +3 -3
- package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js.map +1 -1
- package/build/dist/UI/Components/Icon/Icon.js +12 -2
- package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
- package/build/dist/UI/Components/Page/Page.js +1 -2
- package/build/dist/UI/Components/Page/Page.js.map +1 -1
- 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"}
|