From c1efcf578f251d6c029cf373b546bcdd7e3034d2 Mon Sep 17 00:00:00 2001 From: Nawaz Dhandala Date: Fri, 9 Jan 2026 19:36:10 +0000 Subject: [PATCH] feat(migration): Refactor MigrationName1767979448478 for improved readability and structure - Updated migration script to enhance code clarity and maintainability. - Reformatted SQL queries for better readability. - Added comments to clarify migration steps. - Ensured consistent use of async/await syntax. - Updated index file to include the new migration. - Adjusted TelemetryUsageBillingService and other components for better code style and consistency. --- .../TaskHandlers/FixExceptionTaskHandler.ts | 18 +- .../1767979055522-MigrationName.ts | 987 +++++++++++++----- .../1767979448478-MigrationName.ts | 205 ++-- .../Postgres/SchemaMigrations/Index.ts | 2 +- .../Services/TelemetryUsageBillingService.ts | 32 +- Common/Server/Utils/Telemetry/Telemetry.ts | 7 +- .../UI/Components/LogsViewer/LogsViewer.tsx | 31 +- .../LogsViewer/components/LogsTable.tsx | 3 +- .../Components/Exceptions/ExceptionDetail.tsx | 4 +- .../Components/Exceptions/ExceptionsTable.tsx | 4 +- .../Components/Form/Monitor/MonitorStep.tsx | 49 +- Dashboard/src/Components/Logs/LogsViewer.tsx | 7 +- .../src/Components/Metrics/MetricsTable.tsx | 15 +- .../Monitor/MonitorSteps/MonitorStep.tsx | 97 +- .../src/Components/Traces/TraceExplorer.tsx | 18 +- .../src/Components/Traces/TraceTable.tsx | 63 +- Dashboard/src/Pages/Settings/UsageHistory.tsx | 8 +- .../Telemetry/Services/View/Metrics/Index.tsx | 47 +- 18 files changed, 1049 insertions(+), 548 deletions(-) diff --git a/AIAgent/TaskHandlers/FixExceptionTaskHandler.ts b/AIAgent/TaskHandlers/FixExceptionTaskHandler.ts index e23970ed26..e6570942fa 100644 --- a/AIAgent/TaskHandlers/FixExceptionTaskHandler.ts +++ b/AIAgent/TaskHandlers/FixExceptionTaskHandler.ts @@ -74,25 +74,17 @@ export default class FixExceptionTaskHandler extends BaseTaskHandler { - await queryRunner.query(`ALTER TABLE "Service" DROP CONSTRAINT "FK_e712ff4cf5c1a865a5baa242e2e"`); - await queryRunner.query(`ALTER TABLE "Service" DROP CONSTRAINT "FK_b8d64daaf462acd6f694ca47dad"`); - await queryRunner.query(`ALTER TABLE "Service" DROP CONSTRAINT "FK_42f81942e36f5f42a5dce8e606d"`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerTeam" DROP CONSTRAINT "FK_726241162b0a853b29d85e28c4c"`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerTeam" DROP CONSTRAINT "FK_e3090773a4106e0c4375897993f"`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerTeam" DROP CONSTRAINT "FK_c015513688ebd42e5569b4d6ac6"`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerTeam" DROP CONSTRAINT "FK_9afb156569266f66a2301eb09ff"`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerTeam" DROP CONSTRAINT "FK_0e93a638ddc94aaad4ad33789d7"`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerUser" DROP CONSTRAINT "FK_51c375fe9f6ffb0372d3425d999"`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerUser" DROP CONSTRAINT "FK_f6abd337058906d7912164ae12e"`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerUser" DROP CONSTRAINT "FK_27a396dd77fb8c0d5d6cb892165"`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerUser" DROP CONSTRAINT "FK_2d2c21db8da169b5b2d2bee3111"`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerUser" DROP CONSTRAINT "FK_d61607e823057b6516f05e8f1cd"`); - await queryRunner.query(`ALTER TABLE "ServiceCodeRepository" DROP CONSTRAINT "FK_41a90624dfbb954e3b50c93dfc1"`); - await queryRunner.query(`ALTER TABLE "ServiceCodeRepository" DROP CONSTRAINT "FK_4638e464dc7cab644c7926674b8"`); - await queryRunner.query(`ALTER TABLE "ServiceCodeRepository" DROP CONSTRAINT "FK_05b6c65746b28329def0accba94"`); - await queryRunner.query(`ALTER TABLE "ServiceCodeRepository" DROP CONSTRAINT "FK_c838ecb46958f5de7a699f50c53"`); - await queryRunner.query(`ALTER TABLE "ServiceCodeRepository" DROP CONSTRAINT "FK_1aae6b3a023a36f7c004749afe4"`); - await queryRunner.query(`ALTER TABLE "ServiceDependency" DROP CONSTRAINT "FK_5d213c12854b956ed3c7f5f82f5"`); - await queryRunner.query(`ALTER TABLE "ServiceDependency" DROP CONSTRAINT "FK_bd2b648fe0cd2955d73286f3f90"`); - await queryRunner.query(`ALTER TABLE "ServiceDependency" DROP CONSTRAINT "FK_84855f72c816f5fa05c76365810"`); - await queryRunner.query(`ALTER TABLE "ServiceDependency" DROP CONSTRAINT "FK_3741c2e3d35cb739451e50fcac2"`); - await queryRunner.query(`ALTER TABLE "ServiceDependency" DROP CONSTRAINT "FK_a4e505f3feab672e2dbbb3a58a1"`); - await queryRunner.query(`ALTER TABLE "ServiceMonitor" DROP CONSTRAINT "FK_4ea52669c01c5ec8920d5d4b6da"`); - await queryRunner.query(`ALTER TABLE "ServiceMonitor" DROP CONSTRAINT "FK_8becc4dbab47d9c6cbdcdcd4dc9"`); - await queryRunner.query(`ALTER TABLE "ServiceMonitor" DROP CONSTRAINT "FK_b3cdff92c6b8c874e3406b2add5"`); - await queryRunner.query(`ALTER TABLE "ServiceMonitor" DROP CONSTRAINT "FK_e8e03c07999471753b9f6093a67"`); - await queryRunner.query(`ALTER TABLE "ServiceMonitor" DROP CONSTRAINT "FK_1783ec2972d9cbf2f91fced5be3"`); - await queryRunner.query(`ALTER TABLE "ServiceTelemetryService" DROP CONSTRAINT "FK_8193db094ffae0498ed3425e36a"`); - await queryRunner.query(`ALTER TABLE "ServiceTelemetryService" DROP CONSTRAINT "FK_d8010d867aee38375f92dcf5a02"`); - await queryRunner.query(`ALTER TABLE "ServiceTelemetryService" DROP CONSTRAINT "FK_0e147801744032a9b33ee879829"`); - await queryRunner.query(`ALTER TABLE "ServiceTelemetryService" DROP CONSTRAINT "FK_64a7908ff27c562a2d7f5532e2a"`); - await queryRunner.query(`ALTER TABLE "ServiceTelemetryService" DROP CONSTRAINT "FK_b0419b3b36e6606a404eb97a98a"`); - await queryRunner.query(`ALTER TABLE "TelemetryServiceLabel" DROP CONSTRAINT "FK_94d495f938d819dab20480c5f80"`); - await queryRunner.query(`ALTER TABLE "TelemetryServiceLabel" DROP CONSTRAINT "FK_7711266422ebad1188c4879d669"`); - await queryRunner.query(`ALTER TABLE "ServiceLabel" DROP CONSTRAINT "FK_98e9d83b6ff61003a29590f3987"`); - await queryRunner.query(`ALTER TABLE "ServiceLabel" DROP CONSTRAINT "FK_701f84e45404bdddcffdcaaba20"`); - await queryRunner.query(`DROP INDEX "public"."IDX_e712ff4cf5c1a865a5baa242e2"`); - await queryRunner.query(`DROP INDEX "public"."IDX_726241162b0a853b29d85e28c4"`); - await queryRunner.query(`DROP INDEX "public"."IDX_e3090773a4106e0c4375897993"`); - await queryRunner.query(`DROP INDEX "public"."IDX_c015513688ebd42e5569b4d6ac"`); - await queryRunner.query(`DROP INDEX "public"."IDX_51c375fe9f6ffb0372d3425d99"`); - await queryRunner.query(`DROP INDEX "public"."IDX_f6abd337058906d7912164ae12"`); - await queryRunner.query(`DROP INDEX "public"."IDX_27a396dd77fb8c0d5d6cb89216"`); - await queryRunner.query(`DROP INDEX "public"."IDX_41a90624dfbb954e3b50c93dfc"`); - await queryRunner.query(`DROP INDEX "public"."IDX_4638e464dc7cab644c7926674b"`); - await queryRunner.query(`DROP INDEX "public"."IDX_05b6c65746b28329def0accba9"`); - await queryRunner.query(`DROP INDEX "public"."IDX_5d213c12854b956ed3c7f5f82f"`); - await queryRunner.query(`DROP INDEX "public"."IDX_bd2b648fe0cd2955d73286f3f9"`); - await queryRunner.query(`DROP INDEX "public"."IDX_84855f72c816f5fa05c7636581"`); - await queryRunner.query(`DROP INDEX "public"."IDX_4ea52669c01c5ec8920d5d4b6d"`); - await queryRunner.query(`DROP INDEX "public"."IDX_8becc4dbab47d9c6cbdcdcd4dc"`); - await queryRunner.query(`DROP INDEX "public"."IDX_b3cdff92c6b8c874e3406b2add"`); - await queryRunner.query(`DROP INDEX "public"."IDX_8193db094ffae0498ed3425e36"`); - await queryRunner.query(`DROP INDEX "public"."IDX_d8010d867aee38375f92dcf5a0"`); - await queryRunner.query(`DROP INDEX "public"."IDX_0e147801744032a9b33ee87982"`); - await queryRunner.query(`DROP INDEX "public"."IDX_94d495f938d819dab20480c5f8"`); - await queryRunner.query(`DROP INDEX "public"."IDX_7711266422ebad1188c4879d66"`); - await queryRunner.query(`DROP INDEX "public"."IDX_98e9d83b6ff61003a29590f398"`); - await queryRunner.query(`DROP INDEX "public"."IDX_701f84e45404bdddcffdcaaba2"`); - await queryRunner.query(`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "rotation" SET DEFAULT '{"_type":"Recurring","value":{"intervalType":"Day","intervalCount":{"_type":"PositiveNumber","value":1}}}'`); - await queryRunner.query(`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "restrictionTimes" SET DEFAULT '{"_type":"RestrictionTimes","value":{"restictionType":"None","dayRestrictionTimes":null,"weeklyRestrictionTimes":[]}}'`); - await queryRunner.query(`CREATE INDEX "IDX_ff1320357cbe3d5a1dc7f1e268" ON "Service" ("projectId") `); - await queryRunner.query(`CREATE INDEX "IDX_f9ce25f74e41b13aa630f536eb" ON "ServiceOwnerTeam" ("projectId") `); - await queryRunner.query(`CREATE INDEX "IDX_592b88007d58c6a3710c42201a" ON "ServiceOwnerTeam" ("teamId") `); - await queryRunner.query(`CREATE INDEX "IDX_e9a1186a29ab1b4c23a3927470" ON "ServiceOwnerTeam" ("serviceId") `); - await queryRunner.query(`CREATE INDEX "IDX_b9c710b4ebbb1ef3617310756a" ON "ServiceOwnerUser" ("projectId") `); - await queryRunner.query(`CREATE INDEX "IDX_70f78ff146220713c5ddbfbc50" ON "ServiceOwnerUser" ("userId") `); - await queryRunner.query(`CREATE INDEX "IDX_961199ad1e45039ed116b7c642" ON "ServiceOwnerUser" ("serviceId") `); - await queryRunner.query(`CREATE INDEX "IDX_3497e882e1590e6f9abca00ac4" ON "ServiceCodeRepository" ("projectId") `); - await queryRunner.query(`CREATE INDEX "IDX_46327fbb53a5a2f04f1747716c" ON "ServiceCodeRepository" ("serviceId") `); - await queryRunner.query(`CREATE INDEX "IDX_0e2f7235264b77ac7214178da7" ON "ServiceCodeRepository" ("codeRepositoryId") `); - await queryRunner.query(`CREATE INDEX "IDX_3e2a1ef7e8795a46c2e2e9955c" ON "ServiceDependency" ("projectId") `); - await queryRunner.query(`CREATE INDEX "IDX_3af01e69f3e28ae56a968bbd81" ON "ServiceDependency" ("serviceId") `); - await queryRunner.query(`CREATE INDEX "IDX_c2562045902370ec46091924fc" ON "ServiceDependency" ("dependencyServiceId") `); - await queryRunner.query(`CREATE INDEX "IDX_f3afc9f2012eb60fd6c92427ad" ON "ServiceMonitor" ("projectId") `); - await queryRunner.query(`CREATE INDEX "IDX_dbbd6f4b17276c887a67016373" ON "ServiceMonitor" ("serviceId") `); - await queryRunner.query(`CREATE INDEX "IDX_c34cac2fa25193f64be3ef22ef" ON "ServiceMonitor" ("monitorId") `); - await queryRunner.query(`CREATE INDEX "IDX_27a8afc848b9f8aa39303622f6" ON "ServiceTelemetryService" ("projectId") `); - await queryRunner.query(`CREATE INDEX "IDX_0aed874674616c15b0c5a6551e" ON "ServiceTelemetryService" ("serviceId") `); - await queryRunner.query(`CREATE INDEX "IDX_7e94e4b22003ed6ee0409a68d3" ON "ServiceTelemetryService" ("telemetryServiceId") `); - await queryRunner.query(`CREATE INDEX "IDX_ebf708a8d435442c8cb229eb4a" ON "TelemetryServiceLabel" ("telemetryServiceId") `); - await queryRunner.query(`CREATE INDEX "IDX_a697535be0dc0dfbbbf6a671ee" ON "TelemetryServiceLabel" ("labelId") `); - await queryRunner.query(`CREATE INDEX "IDX_d6d8507cd94721f63f2ba6f7b2" ON "ServiceLabel" ("serviceId") `); - await queryRunner.query(`CREATE INDEX "IDX_7711266422ebad1188c4879d66" ON "ServiceLabel" ("labelId") `); - await queryRunner.query(`ALTER TABLE "Service" ADD CONSTRAINT "FK_ff1320357cbe3d5a1dc7f1e2688" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "Service" ADD CONSTRAINT "FK_73d0dda0cfa1edb9ae4fa2edb65" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "Service" ADD CONSTRAINT "FK_bb4eb18e4568cbeacc194c5c977" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerTeam" ADD CONSTRAINT "FK_f9ce25f74e41b13aa630f536ebb" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerTeam" ADD CONSTRAINT "FK_592b88007d58c6a3710c42201a7" FOREIGN KEY ("teamId") REFERENCES "Team"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerTeam" ADD CONSTRAINT "FK_e9a1186a29ab1b4c23a3927470e" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerTeam" ADD CONSTRAINT "FK_50d71c373bb442613139ffb4776" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerTeam" ADD CONSTRAINT "FK_f7afc098ab50af09b5264b87ed3" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerUser" ADD CONSTRAINT "FK_b9c710b4ebbb1ef3617310756a2" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerUser" ADD CONSTRAINT "FK_70f78ff146220713c5ddbfbc505" FOREIGN KEY ("userId") REFERENCES "User"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerUser" ADD CONSTRAINT "FK_961199ad1e45039ed116b7c642f" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerUser" ADD CONSTRAINT "FK_13458e8b37ec9b964cfebc46773" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerUser" ADD CONSTRAINT "FK_18d406f83326e42bda4873a58ac" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceCodeRepository" ADD CONSTRAINT "FK_3497e882e1590e6f9abca00ac4b" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceCodeRepository" ADD CONSTRAINT "FK_46327fbb53a5a2f04f1747716ca" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceCodeRepository" ADD CONSTRAINT "FK_0e2f7235264b77ac7214178da7b" FOREIGN KEY ("codeRepositoryId") REFERENCES "CodeRepository"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceCodeRepository" ADD CONSTRAINT "FK_53b00f5184ca7031f625ac5ebf8" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceCodeRepository" ADD CONSTRAINT "FK_32f46905c9550cee537d0ee47be" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceDependency" ADD CONSTRAINT "FK_3e2a1ef7e8795a46c2e2e9955c2" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceDependency" ADD CONSTRAINT "FK_3af01e69f3e28ae56a968bbd812" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceDependency" ADD CONSTRAINT "FK_c2562045902370ec46091924fc8" FOREIGN KEY ("dependencyServiceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceDependency" ADD CONSTRAINT "FK_cc8c8d41106bebab21d1c69e129" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceDependency" ADD CONSTRAINT "FK_feb830e4e4f8259a871105b16e8" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceMonitor" ADD CONSTRAINT "FK_f3afc9f2012eb60fd6c92427ad9" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceMonitor" ADD CONSTRAINT "FK_dbbd6f4b17276c887a67016373d" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceMonitor" ADD CONSTRAINT "FK_c34cac2fa25193f64be3ef22ef5" FOREIGN KEY ("monitorId") REFERENCES "Monitor"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceMonitor" ADD CONSTRAINT "FK_f3580993ebe0b2019cbb3d6a72e" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceMonitor" ADD CONSTRAINT "FK_fef89cf53740936f4c25d335892" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceTelemetryService" ADD CONSTRAINT "FK_27a8afc848b9f8aa39303622f67" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceTelemetryService" ADD CONSTRAINT "FK_0aed874674616c15b0c5a6551e1" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceTelemetryService" ADD CONSTRAINT "FK_7e94e4b22003ed6ee0409a68d36" FOREIGN KEY ("telemetryServiceId") REFERENCES "TelemetryService"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceTelemetryService" ADD CONSTRAINT "FK_07f09fe64f8909a0009a960d947" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceTelemetryService" ADD CONSTRAINT "FK_77d3dcf61abc9a4934df4f49640" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "TelemetryServiceLabel" ADD CONSTRAINT "FK_ebf708a8d435442c8cb229eb4a6" FOREIGN KEY ("telemetryServiceId") REFERENCES "TelemetryService"("_id") ON DELETE CASCADE ON UPDATE CASCADE`); - await queryRunner.query(`ALTER TABLE "TelemetryServiceLabel" ADD CONSTRAINT "FK_a697535be0dc0dfbbbf6a671eea" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`); - await queryRunner.query(`ALTER TABLE "ServiceLabel" ADD CONSTRAINT "FK_d6d8507cd94721f63f2ba6f7b2c" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE CASCADE`); - await queryRunner.query(`ALTER TABLE "ServiceLabel" ADD CONSTRAINT "FK_7711266422ebad1188c4879d669" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "ServiceLabel" DROP CONSTRAINT "FK_7711266422ebad1188c4879d669"`); - await queryRunner.query(`ALTER TABLE "ServiceLabel" DROP CONSTRAINT "FK_d6d8507cd94721f63f2ba6f7b2c"`); - await queryRunner.query(`ALTER TABLE "TelemetryServiceLabel" DROP CONSTRAINT "FK_a697535be0dc0dfbbbf6a671eea"`); - await queryRunner.query(`ALTER TABLE "TelemetryServiceLabel" DROP CONSTRAINT "FK_ebf708a8d435442c8cb229eb4a6"`); - await queryRunner.query(`ALTER TABLE "ServiceTelemetryService" DROP CONSTRAINT "FK_77d3dcf61abc9a4934df4f49640"`); - await queryRunner.query(`ALTER TABLE "ServiceTelemetryService" DROP CONSTRAINT "FK_07f09fe64f8909a0009a960d947"`); - await queryRunner.query(`ALTER TABLE "ServiceTelemetryService" DROP CONSTRAINT "FK_7e94e4b22003ed6ee0409a68d36"`); - await queryRunner.query(`ALTER TABLE "ServiceTelemetryService" DROP CONSTRAINT "FK_0aed874674616c15b0c5a6551e1"`); - await queryRunner.query(`ALTER TABLE "ServiceTelemetryService" DROP CONSTRAINT "FK_27a8afc848b9f8aa39303622f67"`); - await queryRunner.query(`ALTER TABLE "ServiceMonitor" DROP CONSTRAINT "FK_fef89cf53740936f4c25d335892"`); - await queryRunner.query(`ALTER TABLE "ServiceMonitor" DROP CONSTRAINT "FK_f3580993ebe0b2019cbb3d6a72e"`); - await queryRunner.query(`ALTER TABLE "ServiceMonitor" DROP CONSTRAINT "FK_c34cac2fa25193f64be3ef22ef5"`); - await queryRunner.query(`ALTER TABLE "ServiceMonitor" DROP CONSTRAINT "FK_dbbd6f4b17276c887a67016373d"`); - await queryRunner.query(`ALTER TABLE "ServiceMonitor" DROP CONSTRAINT "FK_f3afc9f2012eb60fd6c92427ad9"`); - await queryRunner.query(`ALTER TABLE "ServiceDependency" DROP CONSTRAINT "FK_feb830e4e4f8259a871105b16e8"`); - await queryRunner.query(`ALTER TABLE "ServiceDependency" DROP CONSTRAINT "FK_cc8c8d41106bebab21d1c69e129"`); - await queryRunner.query(`ALTER TABLE "ServiceDependency" DROP CONSTRAINT "FK_c2562045902370ec46091924fc8"`); - await queryRunner.query(`ALTER TABLE "ServiceDependency" DROP CONSTRAINT "FK_3af01e69f3e28ae56a968bbd812"`); - await queryRunner.query(`ALTER TABLE "ServiceDependency" DROP CONSTRAINT "FK_3e2a1ef7e8795a46c2e2e9955c2"`); - await queryRunner.query(`ALTER TABLE "ServiceCodeRepository" DROP CONSTRAINT "FK_32f46905c9550cee537d0ee47be"`); - await queryRunner.query(`ALTER TABLE "ServiceCodeRepository" DROP CONSTRAINT "FK_53b00f5184ca7031f625ac5ebf8"`); - await queryRunner.query(`ALTER TABLE "ServiceCodeRepository" DROP CONSTRAINT "FK_0e2f7235264b77ac7214178da7b"`); - await queryRunner.query(`ALTER TABLE "ServiceCodeRepository" DROP CONSTRAINT "FK_46327fbb53a5a2f04f1747716ca"`); - await queryRunner.query(`ALTER TABLE "ServiceCodeRepository" DROP CONSTRAINT "FK_3497e882e1590e6f9abca00ac4b"`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerUser" DROP CONSTRAINT "FK_18d406f83326e42bda4873a58ac"`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerUser" DROP CONSTRAINT "FK_13458e8b37ec9b964cfebc46773"`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerUser" DROP CONSTRAINT "FK_961199ad1e45039ed116b7c642f"`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerUser" DROP CONSTRAINT "FK_70f78ff146220713c5ddbfbc505"`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerUser" DROP CONSTRAINT "FK_b9c710b4ebbb1ef3617310756a2"`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerTeam" DROP CONSTRAINT "FK_f7afc098ab50af09b5264b87ed3"`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerTeam" DROP CONSTRAINT "FK_50d71c373bb442613139ffb4776"`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerTeam" DROP CONSTRAINT "FK_e9a1186a29ab1b4c23a3927470e"`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerTeam" DROP CONSTRAINT "FK_592b88007d58c6a3710c42201a7"`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerTeam" DROP CONSTRAINT "FK_f9ce25f74e41b13aa630f536ebb"`); - await queryRunner.query(`ALTER TABLE "Service" DROP CONSTRAINT "FK_bb4eb18e4568cbeacc194c5c977"`); - await queryRunner.query(`ALTER TABLE "Service" DROP CONSTRAINT "FK_73d0dda0cfa1edb9ae4fa2edb65"`); - await queryRunner.query(`ALTER TABLE "Service" DROP CONSTRAINT "FK_ff1320357cbe3d5a1dc7f1e2688"`); - await queryRunner.query(`DROP INDEX "public"."IDX_7711266422ebad1188c4879d66"`); - await queryRunner.query(`DROP INDEX "public"."IDX_d6d8507cd94721f63f2ba6f7b2"`); - await queryRunner.query(`DROP INDEX "public"."IDX_a697535be0dc0dfbbbf6a671ee"`); - await queryRunner.query(`DROP INDEX "public"."IDX_ebf708a8d435442c8cb229eb4a"`); - await queryRunner.query(`DROP INDEX "public"."IDX_7e94e4b22003ed6ee0409a68d3"`); - await queryRunner.query(`DROP INDEX "public"."IDX_0aed874674616c15b0c5a6551e"`); - await queryRunner.query(`DROP INDEX "public"."IDX_27a8afc848b9f8aa39303622f6"`); - await queryRunner.query(`DROP INDEX "public"."IDX_c34cac2fa25193f64be3ef22ef"`); - await queryRunner.query(`DROP INDEX "public"."IDX_dbbd6f4b17276c887a67016373"`); - await queryRunner.query(`DROP INDEX "public"."IDX_f3afc9f2012eb60fd6c92427ad"`); - await queryRunner.query(`DROP INDEX "public"."IDX_c2562045902370ec46091924fc"`); - await queryRunner.query(`DROP INDEX "public"."IDX_3af01e69f3e28ae56a968bbd81"`); - await queryRunner.query(`DROP INDEX "public"."IDX_3e2a1ef7e8795a46c2e2e9955c"`); - await queryRunner.query(`DROP INDEX "public"."IDX_0e2f7235264b77ac7214178da7"`); - await queryRunner.query(`DROP INDEX "public"."IDX_46327fbb53a5a2f04f1747716c"`); - await queryRunner.query(`DROP INDEX "public"."IDX_3497e882e1590e6f9abca00ac4"`); - await queryRunner.query(`DROP INDEX "public"."IDX_961199ad1e45039ed116b7c642"`); - await queryRunner.query(`DROP INDEX "public"."IDX_70f78ff146220713c5ddbfbc50"`); - await queryRunner.query(`DROP INDEX "public"."IDX_b9c710b4ebbb1ef3617310756a"`); - await queryRunner.query(`DROP INDEX "public"."IDX_e9a1186a29ab1b4c23a3927470"`); - await queryRunner.query(`DROP INDEX "public"."IDX_592b88007d58c6a3710c42201a"`); - await queryRunner.query(`DROP INDEX "public"."IDX_f9ce25f74e41b13aa630f536eb"`); - await queryRunner.query(`DROP INDEX "public"."IDX_ff1320357cbe3d5a1dc7f1e268"`); - await queryRunner.query(`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "restrictionTimes" SET DEFAULT '{"_type": "RestrictionTimes", "value": {"restictionType": "None", "dayRestrictionTimes": null, "weeklyRestrictionTimes": []}}'`); - await queryRunner.query(`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "rotation" SET DEFAULT '{"_type": "Recurring", "value": {"intervalType": "Day", "intervalCount": {"_type": "PositiveNumber", "value": 1}}}'`); - await queryRunner.query(`CREATE INDEX "IDX_701f84e45404bdddcffdcaaba2" ON "ServiceLabel" ("labelId") `); - await queryRunner.query(`CREATE INDEX "IDX_98e9d83b6ff61003a29590f398" ON "ServiceLabel" ("serviceId") `); - await queryRunner.query(`CREATE INDEX "IDX_7711266422ebad1188c4879d66" ON "TelemetryServiceLabel" ("labelId") `); - await queryRunner.query(`CREATE INDEX "IDX_94d495f938d819dab20480c5f8" ON "TelemetryServiceLabel" ("telemetryServiceId") `); - await queryRunner.query(`CREATE INDEX "IDX_0e147801744032a9b33ee87982" ON "ServiceTelemetryService" ("telemetryServiceId") `); - await queryRunner.query(`CREATE INDEX "IDX_d8010d867aee38375f92dcf5a0" ON "ServiceTelemetryService" ("serviceId") `); - await queryRunner.query(`CREATE INDEX "IDX_8193db094ffae0498ed3425e36" ON "ServiceTelemetryService" ("projectId") `); - await queryRunner.query(`CREATE INDEX "IDX_b3cdff92c6b8c874e3406b2add" ON "ServiceMonitor" ("monitorId") `); - await queryRunner.query(`CREATE INDEX "IDX_8becc4dbab47d9c6cbdcdcd4dc" ON "ServiceMonitor" ("serviceId") `); - await queryRunner.query(`CREATE INDEX "IDX_4ea52669c01c5ec8920d5d4b6d" ON "ServiceMonitor" ("projectId") `); - await queryRunner.query(`CREATE INDEX "IDX_84855f72c816f5fa05c7636581" ON "ServiceDependency" ("dependencyServiceId") `); - await queryRunner.query(`CREATE INDEX "IDX_bd2b648fe0cd2955d73286f3f9" ON "ServiceDependency" ("serviceId") `); - await queryRunner.query(`CREATE INDEX "IDX_5d213c12854b956ed3c7f5f82f" ON "ServiceDependency" ("projectId") `); - await queryRunner.query(`CREATE INDEX "IDX_05b6c65746b28329def0accba9" ON "ServiceCodeRepository" ("codeRepositoryId") `); - await queryRunner.query(`CREATE INDEX "IDX_4638e464dc7cab644c7926674b" ON "ServiceCodeRepository" ("serviceId") `); - await queryRunner.query(`CREATE INDEX "IDX_41a90624dfbb954e3b50c93dfc" ON "ServiceCodeRepository" ("projectId") `); - await queryRunner.query(`CREATE INDEX "IDX_27a396dd77fb8c0d5d6cb89216" ON "ServiceOwnerUser" ("serviceId") `); - await queryRunner.query(`CREATE INDEX "IDX_f6abd337058906d7912164ae12" ON "ServiceOwnerUser" ("userId") `); - await queryRunner.query(`CREATE INDEX "IDX_51c375fe9f6ffb0372d3425d99" ON "ServiceOwnerUser" ("projectId") `); - await queryRunner.query(`CREATE INDEX "IDX_c015513688ebd42e5569b4d6ac" ON "ServiceOwnerTeam" ("serviceId") `); - await queryRunner.query(`CREATE INDEX "IDX_e3090773a4106e0c4375897993" ON "ServiceOwnerTeam" ("teamId") `); - await queryRunner.query(`CREATE INDEX "IDX_726241162b0a853b29d85e28c4" ON "ServiceOwnerTeam" ("projectId") `); - await queryRunner.query(`CREATE INDEX "IDX_e712ff4cf5c1a865a5baa242e2" ON "Service" ("projectId") `); - await queryRunner.query(`ALTER TABLE "ServiceLabel" ADD CONSTRAINT "FK_701f84e45404bdddcffdcaaba20" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`); - await queryRunner.query(`ALTER TABLE "ServiceLabel" ADD CONSTRAINT "FK_98e9d83b6ff61003a29590f3987" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE CASCADE`); - await queryRunner.query(`ALTER TABLE "TelemetryServiceLabel" ADD CONSTRAINT "FK_7711266422ebad1188c4879d669" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`); - await queryRunner.query(`ALTER TABLE "TelemetryServiceLabel" ADD CONSTRAINT "FK_94d495f938d819dab20480c5f80" FOREIGN KEY ("telemetryServiceId") REFERENCES "TelemetryService"("_id") ON DELETE CASCADE ON UPDATE CASCADE`); - await queryRunner.query(`ALTER TABLE "ServiceTelemetryService" ADD CONSTRAINT "FK_b0419b3b36e6606a404eb97a98a" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceTelemetryService" ADD CONSTRAINT "FK_64a7908ff27c562a2d7f5532e2a" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceTelemetryService" ADD CONSTRAINT "FK_0e147801744032a9b33ee879829" FOREIGN KEY ("telemetryServiceId") REFERENCES "TelemetryService"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceTelemetryService" ADD CONSTRAINT "FK_d8010d867aee38375f92dcf5a02" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceTelemetryService" ADD CONSTRAINT "FK_8193db094ffae0498ed3425e36a" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceMonitor" ADD CONSTRAINT "FK_1783ec2972d9cbf2f91fced5be3" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceMonitor" ADD CONSTRAINT "FK_e8e03c07999471753b9f6093a67" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceMonitor" ADD CONSTRAINT "FK_b3cdff92c6b8c874e3406b2add5" FOREIGN KEY ("monitorId") REFERENCES "Monitor"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceMonitor" ADD CONSTRAINT "FK_8becc4dbab47d9c6cbdcdcd4dc9" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceMonitor" ADD CONSTRAINT "FK_4ea52669c01c5ec8920d5d4b6da" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceDependency" ADD CONSTRAINT "FK_a4e505f3feab672e2dbbb3a58a1" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceDependency" ADD CONSTRAINT "FK_3741c2e3d35cb739451e50fcac2" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceDependency" ADD CONSTRAINT "FK_84855f72c816f5fa05c76365810" FOREIGN KEY ("dependencyServiceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceDependency" ADD CONSTRAINT "FK_bd2b648fe0cd2955d73286f3f90" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceDependency" ADD CONSTRAINT "FK_5d213c12854b956ed3c7f5f82f5" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceCodeRepository" ADD CONSTRAINT "FK_1aae6b3a023a36f7c004749afe4" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceCodeRepository" ADD CONSTRAINT "FK_c838ecb46958f5de7a699f50c53" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceCodeRepository" ADD CONSTRAINT "FK_05b6c65746b28329def0accba94" FOREIGN KEY ("codeRepositoryId") REFERENCES "CodeRepository"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceCodeRepository" ADD CONSTRAINT "FK_4638e464dc7cab644c7926674b8" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceCodeRepository" ADD CONSTRAINT "FK_41a90624dfbb954e3b50c93dfc1" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerUser" ADD CONSTRAINT "FK_d61607e823057b6516f05e8f1cd" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerUser" ADD CONSTRAINT "FK_2d2c21db8da169b5b2d2bee3111" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerUser" ADD CONSTRAINT "FK_27a396dd77fb8c0d5d6cb892165" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerUser" ADD CONSTRAINT "FK_f6abd337058906d7912164ae12e" FOREIGN KEY ("userId") REFERENCES "User"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerUser" ADD CONSTRAINT "FK_51c375fe9f6ffb0372d3425d999" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerTeam" ADD CONSTRAINT "FK_0e93a638ddc94aaad4ad33789d7" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerTeam" ADD CONSTRAINT "FK_9afb156569266f66a2301eb09ff" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerTeam" ADD CONSTRAINT "FK_c015513688ebd42e5569b4d6ac6" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerTeam" ADD CONSTRAINT "FK_e3090773a4106e0c4375897993f" FOREIGN KEY ("teamId") REFERENCES "Team"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "ServiceOwnerTeam" ADD CONSTRAINT "FK_726241162b0a853b29d85e28c4c" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "Service" ADD CONSTRAINT "FK_42f81942e36f5f42a5dce8e606d" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "Service" ADD CONSTRAINT "FK_b8d64daaf462acd6f694ca47dad" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "Service" ADD CONSTRAINT "FK_e712ff4cf5c1a865a5baa242e2e" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - } + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TABLE "Service" DROP CONSTRAINT "FK_e712ff4cf5c1a865a5baa242e2e"`, + ); + await queryRunner.query( + `ALTER TABLE "Service" DROP CONSTRAINT "FK_b8d64daaf462acd6f694ca47dad"`, + ); + await queryRunner.query( + `ALTER TABLE "Service" DROP CONSTRAINT "FK_42f81942e36f5f42a5dce8e606d"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerTeam" DROP CONSTRAINT "FK_726241162b0a853b29d85e28c4c"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerTeam" DROP CONSTRAINT "FK_e3090773a4106e0c4375897993f"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerTeam" DROP CONSTRAINT "FK_c015513688ebd42e5569b4d6ac6"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerTeam" DROP CONSTRAINT "FK_9afb156569266f66a2301eb09ff"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerTeam" DROP CONSTRAINT "FK_0e93a638ddc94aaad4ad33789d7"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerUser" DROP CONSTRAINT "FK_51c375fe9f6ffb0372d3425d999"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerUser" DROP CONSTRAINT "FK_f6abd337058906d7912164ae12e"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerUser" DROP CONSTRAINT "FK_27a396dd77fb8c0d5d6cb892165"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerUser" DROP CONSTRAINT "FK_2d2c21db8da169b5b2d2bee3111"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerUser" DROP CONSTRAINT "FK_d61607e823057b6516f05e8f1cd"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceCodeRepository" DROP CONSTRAINT "FK_41a90624dfbb954e3b50c93dfc1"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceCodeRepository" DROP CONSTRAINT "FK_4638e464dc7cab644c7926674b8"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceCodeRepository" DROP CONSTRAINT "FK_05b6c65746b28329def0accba94"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceCodeRepository" DROP CONSTRAINT "FK_c838ecb46958f5de7a699f50c53"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceCodeRepository" DROP CONSTRAINT "FK_1aae6b3a023a36f7c004749afe4"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceDependency" DROP CONSTRAINT "FK_5d213c12854b956ed3c7f5f82f5"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceDependency" DROP CONSTRAINT "FK_bd2b648fe0cd2955d73286f3f90"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceDependency" DROP CONSTRAINT "FK_84855f72c816f5fa05c76365810"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceDependency" DROP CONSTRAINT "FK_3741c2e3d35cb739451e50fcac2"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceDependency" DROP CONSTRAINT "FK_a4e505f3feab672e2dbbb3a58a1"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceMonitor" DROP CONSTRAINT "FK_4ea52669c01c5ec8920d5d4b6da"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceMonitor" DROP CONSTRAINT "FK_8becc4dbab47d9c6cbdcdcd4dc9"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceMonitor" DROP CONSTRAINT "FK_b3cdff92c6b8c874e3406b2add5"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceMonitor" DROP CONSTRAINT "FK_e8e03c07999471753b9f6093a67"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceMonitor" DROP CONSTRAINT "FK_1783ec2972d9cbf2f91fced5be3"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceTelemetryService" DROP CONSTRAINT "FK_8193db094ffae0498ed3425e36a"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceTelemetryService" DROP CONSTRAINT "FK_d8010d867aee38375f92dcf5a02"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceTelemetryService" DROP CONSTRAINT "FK_0e147801744032a9b33ee879829"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceTelemetryService" DROP CONSTRAINT "FK_64a7908ff27c562a2d7f5532e2a"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceTelemetryService" DROP CONSTRAINT "FK_b0419b3b36e6606a404eb97a98a"`, + ); + await queryRunner.query( + `ALTER TABLE "TelemetryServiceLabel" DROP CONSTRAINT "FK_94d495f938d819dab20480c5f80"`, + ); + await queryRunner.query( + `ALTER TABLE "TelemetryServiceLabel" DROP CONSTRAINT "FK_7711266422ebad1188c4879d669"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceLabel" DROP CONSTRAINT "FK_98e9d83b6ff61003a29590f3987"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceLabel" DROP CONSTRAINT "FK_701f84e45404bdddcffdcaaba20"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_e712ff4cf5c1a865a5baa242e2"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_726241162b0a853b29d85e28c4"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_e3090773a4106e0c4375897993"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_c015513688ebd42e5569b4d6ac"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_51c375fe9f6ffb0372d3425d99"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_f6abd337058906d7912164ae12"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_27a396dd77fb8c0d5d6cb89216"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_41a90624dfbb954e3b50c93dfc"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_4638e464dc7cab644c7926674b"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_05b6c65746b28329def0accba9"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_5d213c12854b956ed3c7f5f82f"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_bd2b648fe0cd2955d73286f3f9"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_84855f72c816f5fa05c7636581"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_4ea52669c01c5ec8920d5d4b6d"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_8becc4dbab47d9c6cbdcdcd4dc"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_b3cdff92c6b8c874e3406b2add"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_8193db094ffae0498ed3425e36"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_d8010d867aee38375f92dcf5a0"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_0e147801744032a9b33ee87982"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_94d495f938d819dab20480c5f8"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_7711266422ebad1188c4879d66"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_98e9d83b6ff61003a29590f398"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_701f84e45404bdddcffdcaaba2"`, + ); + await queryRunner.query( + `ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "rotation" SET DEFAULT '{"_type":"Recurring","value":{"intervalType":"Day","intervalCount":{"_type":"PositiveNumber","value":1}}}'`, + ); + await queryRunner.query( + `ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "restrictionTimes" SET DEFAULT '{"_type":"RestrictionTimes","value":{"restictionType":"None","dayRestrictionTimes":null,"weeklyRestrictionTimes":[]}}'`, + ); + await queryRunner.query( + `CREATE INDEX "IDX_ff1320357cbe3d5a1dc7f1e268" ON "Service" ("projectId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_f9ce25f74e41b13aa630f536eb" ON "ServiceOwnerTeam" ("projectId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_592b88007d58c6a3710c42201a" ON "ServiceOwnerTeam" ("teamId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_e9a1186a29ab1b4c23a3927470" ON "ServiceOwnerTeam" ("serviceId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_b9c710b4ebbb1ef3617310756a" ON "ServiceOwnerUser" ("projectId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_70f78ff146220713c5ddbfbc50" ON "ServiceOwnerUser" ("userId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_961199ad1e45039ed116b7c642" ON "ServiceOwnerUser" ("serviceId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_3497e882e1590e6f9abca00ac4" ON "ServiceCodeRepository" ("projectId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_46327fbb53a5a2f04f1747716c" ON "ServiceCodeRepository" ("serviceId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_0e2f7235264b77ac7214178da7" ON "ServiceCodeRepository" ("codeRepositoryId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_3e2a1ef7e8795a46c2e2e9955c" ON "ServiceDependency" ("projectId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_3af01e69f3e28ae56a968bbd81" ON "ServiceDependency" ("serviceId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_c2562045902370ec46091924fc" ON "ServiceDependency" ("dependencyServiceId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_f3afc9f2012eb60fd6c92427ad" ON "ServiceMonitor" ("projectId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_dbbd6f4b17276c887a67016373" ON "ServiceMonitor" ("serviceId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_c34cac2fa25193f64be3ef22ef" ON "ServiceMonitor" ("monitorId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_27a8afc848b9f8aa39303622f6" ON "ServiceTelemetryService" ("projectId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_0aed874674616c15b0c5a6551e" ON "ServiceTelemetryService" ("serviceId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_7e94e4b22003ed6ee0409a68d3" ON "ServiceTelemetryService" ("telemetryServiceId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_ebf708a8d435442c8cb229eb4a" ON "TelemetryServiceLabel" ("telemetryServiceId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_a697535be0dc0dfbbbf6a671ee" ON "TelemetryServiceLabel" ("labelId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_d6d8507cd94721f63f2ba6f7b2" ON "ServiceLabel" ("serviceId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_7711266422ebad1188c4879d66" ON "ServiceLabel" ("labelId") `, + ); + await queryRunner.query( + `ALTER TABLE "Service" ADD CONSTRAINT "FK_ff1320357cbe3d5a1dc7f1e2688" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "Service" ADD CONSTRAINT "FK_73d0dda0cfa1edb9ae4fa2edb65" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "Service" ADD CONSTRAINT "FK_bb4eb18e4568cbeacc194c5c977" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerTeam" ADD CONSTRAINT "FK_f9ce25f74e41b13aa630f536ebb" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerTeam" ADD CONSTRAINT "FK_592b88007d58c6a3710c42201a7" FOREIGN KEY ("teamId") REFERENCES "Team"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerTeam" ADD CONSTRAINT "FK_e9a1186a29ab1b4c23a3927470e" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerTeam" ADD CONSTRAINT "FK_50d71c373bb442613139ffb4776" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerTeam" ADD CONSTRAINT "FK_f7afc098ab50af09b5264b87ed3" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerUser" ADD CONSTRAINT "FK_b9c710b4ebbb1ef3617310756a2" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerUser" ADD CONSTRAINT "FK_70f78ff146220713c5ddbfbc505" FOREIGN KEY ("userId") REFERENCES "User"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerUser" ADD CONSTRAINT "FK_961199ad1e45039ed116b7c642f" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerUser" ADD CONSTRAINT "FK_13458e8b37ec9b964cfebc46773" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerUser" ADD CONSTRAINT "FK_18d406f83326e42bda4873a58ac" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceCodeRepository" ADD CONSTRAINT "FK_3497e882e1590e6f9abca00ac4b" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceCodeRepository" ADD CONSTRAINT "FK_46327fbb53a5a2f04f1747716ca" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceCodeRepository" ADD CONSTRAINT "FK_0e2f7235264b77ac7214178da7b" FOREIGN KEY ("codeRepositoryId") REFERENCES "CodeRepository"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceCodeRepository" ADD CONSTRAINT "FK_53b00f5184ca7031f625ac5ebf8" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceCodeRepository" ADD CONSTRAINT "FK_32f46905c9550cee537d0ee47be" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceDependency" ADD CONSTRAINT "FK_3e2a1ef7e8795a46c2e2e9955c2" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceDependency" ADD CONSTRAINT "FK_3af01e69f3e28ae56a968bbd812" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceDependency" ADD CONSTRAINT "FK_c2562045902370ec46091924fc8" FOREIGN KEY ("dependencyServiceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceDependency" ADD CONSTRAINT "FK_cc8c8d41106bebab21d1c69e129" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceDependency" ADD CONSTRAINT "FK_feb830e4e4f8259a871105b16e8" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceMonitor" ADD CONSTRAINT "FK_f3afc9f2012eb60fd6c92427ad9" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceMonitor" ADD CONSTRAINT "FK_dbbd6f4b17276c887a67016373d" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceMonitor" ADD CONSTRAINT "FK_c34cac2fa25193f64be3ef22ef5" FOREIGN KEY ("monitorId") REFERENCES "Monitor"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceMonitor" ADD CONSTRAINT "FK_f3580993ebe0b2019cbb3d6a72e" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceMonitor" ADD CONSTRAINT "FK_fef89cf53740936f4c25d335892" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceTelemetryService" ADD CONSTRAINT "FK_27a8afc848b9f8aa39303622f67" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceTelemetryService" ADD CONSTRAINT "FK_0aed874674616c15b0c5a6551e1" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceTelemetryService" ADD CONSTRAINT "FK_7e94e4b22003ed6ee0409a68d36" FOREIGN KEY ("telemetryServiceId") REFERENCES "TelemetryService"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceTelemetryService" ADD CONSTRAINT "FK_07f09fe64f8909a0009a960d947" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceTelemetryService" ADD CONSTRAINT "FK_77d3dcf61abc9a4934df4f49640" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "TelemetryServiceLabel" ADD CONSTRAINT "FK_ebf708a8d435442c8cb229eb4a6" FOREIGN KEY ("telemetryServiceId") REFERENCES "TelemetryService"("_id") ON DELETE CASCADE ON UPDATE CASCADE`, + ); + await queryRunner.query( + `ALTER TABLE "TelemetryServiceLabel" ADD CONSTRAINT "FK_a697535be0dc0dfbbbf6a671eea" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceLabel" ADD CONSTRAINT "FK_d6d8507cd94721f63f2ba6f7b2c" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE CASCADE`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceLabel" ADD CONSTRAINT "FK_7711266422ebad1188c4879d669" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`, + ); + } + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TABLE "ServiceLabel" DROP CONSTRAINT "FK_7711266422ebad1188c4879d669"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceLabel" DROP CONSTRAINT "FK_d6d8507cd94721f63f2ba6f7b2c"`, + ); + await queryRunner.query( + `ALTER TABLE "TelemetryServiceLabel" DROP CONSTRAINT "FK_a697535be0dc0dfbbbf6a671eea"`, + ); + await queryRunner.query( + `ALTER TABLE "TelemetryServiceLabel" DROP CONSTRAINT "FK_ebf708a8d435442c8cb229eb4a6"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceTelemetryService" DROP CONSTRAINT "FK_77d3dcf61abc9a4934df4f49640"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceTelemetryService" DROP CONSTRAINT "FK_07f09fe64f8909a0009a960d947"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceTelemetryService" DROP CONSTRAINT "FK_7e94e4b22003ed6ee0409a68d36"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceTelemetryService" DROP CONSTRAINT "FK_0aed874674616c15b0c5a6551e1"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceTelemetryService" DROP CONSTRAINT "FK_27a8afc848b9f8aa39303622f67"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceMonitor" DROP CONSTRAINT "FK_fef89cf53740936f4c25d335892"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceMonitor" DROP CONSTRAINT "FK_f3580993ebe0b2019cbb3d6a72e"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceMonitor" DROP CONSTRAINT "FK_c34cac2fa25193f64be3ef22ef5"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceMonitor" DROP CONSTRAINT "FK_dbbd6f4b17276c887a67016373d"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceMonitor" DROP CONSTRAINT "FK_f3afc9f2012eb60fd6c92427ad9"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceDependency" DROP CONSTRAINT "FK_feb830e4e4f8259a871105b16e8"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceDependency" DROP CONSTRAINT "FK_cc8c8d41106bebab21d1c69e129"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceDependency" DROP CONSTRAINT "FK_c2562045902370ec46091924fc8"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceDependency" DROP CONSTRAINT "FK_3af01e69f3e28ae56a968bbd812"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceDependency" DROP CONSTRAINT "FK_3e2a1ef7e8795a46c2e2e9955c2"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceCodeRepository" DROP CONSTRAINT "FK_32f46905c9550cee537d0ee47be"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceCodeRepository" DROP CONSTRAINT "FK_53b00f5184ca7031f625ac5ebf8"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceCodeRepository" DROP CONSTRAINT "FK_0e2f7235264b77ac7214178da7b"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceCodeRepository" DROP CONSTRAINT "FK_46327fbb53a5a2f04f1747716ca"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceCodeRepository" DROP CONSTRAINT "FK_3497e882e1590e6f9abca00ac4b"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerUser" DROP CONSTRAINT "FK_18d406f83326e42bda4873a58ac"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerUser" DROP CONSTRAINT "FK_13458e8b37ec9b964cfebc46773"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerUser" DROP CONSTRAINT "FK_961199ad1e45039ed116b7c642f"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerUser" DROP CONSTRAINT "FK_70f78ff146220713c5ddbfbc505"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerUser" DROP CONSTRAINT "FK_b9c710b4ebbb1ef3617310756a2"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerTeam" DROP CONSTRAINT "FK_f7afc098ab50af09b5264b87ed3"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerTeam" DROP CONSTRAINT "FK_50d71c373bb442613139ffb4776"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerTeam" DROP CONSTRAINT "FK_e9a1186a29ab1b4c23a3927470e"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerTeam" DROP CONSTRAINT "FK_592b88007d58c6a3710c42201a7"`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerTeam" DROP CONSTRAINT "FK_f9ce25f74e41b13aa630f536ebb"`, + ); + await queryRunner.query( + `ALTER TABLE "Service" DROP CONSTRAINT "FK_bb4eb18e4568cbeacc194c5c977"`, + ); + await queryRunner.query( + `ALTER TABLE "Service" DROP CONSTRAINT "FK_73d0dda0cfa1edb9ae4fa2edb65"`, + ); + await queryRunner.query( + `ALTER TABLE "Service" DROP CONSTRAINT "FK_ff1320357cbe3d5a1dc7f1e2688"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_7711266422ebad1188c4879d66"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_d6d8507cd94721f63f2ba6f7b2"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_a697535be0dc0dfbbbf6a671ee"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_ebf708a8d435442c8cb229eb4a"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_7e94e4b22003ed6ee0409a68d3"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_0aed874674616c15b0c5a6551e"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_27a8afc848b9f8aa39303622f6"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_c34cac2fa25193f64be3ef22ef"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_dbbd6f4b17276c887a67016373"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_f3afc9f2012eb60fd6c92427ad"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_c2562045902370ec46091924fc"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_3af01e69f3e28ae56a968bbd81"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_3e2a1ef7e8795a46c2e2e9955c"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_0e2f7235264b77ac7214178da7"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_46327fbb53a5a2f04f1747716c"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_3497e882e1590e6f9abca00ac4"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_961199ad1e45039ed116b7c642"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_70f78ff146220713c5ddbfbc50"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_b9c710b4ebbb1ef3617310756a"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_e9a1186a29ab1b4c23a3927470"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_592b88007d58c6a3710c42201a"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_f9ce25f74e41b13aa630f536eb"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_ff1320357cbe3d5a1dc7f1e268"`, + ); + await queryRunner.query( + `ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "restrictionTimes" SET DEFAULT '{"_type": "RestrictionTimes", "value": {"restictionType": "None", "dayRestrictionTimes": null, "weeklyRestrictionTimes": []}}'`, + ); + await queryRunner.query( + `ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "rotation" SET DEFAULT '{"_type": "Recurring", "value": {"intervalType": "Day", "intervalCount": {"_type": "PositiveNumber", "value": 1}}}'`, + ); + await queryRunner.query( + `CREATE INDEX "IDX_701f84e45404bdddcffdcaaba2" ON "ServiceLabel" ("labelId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_98e9d83b6ff61003a29590f398" ON "ServiceLabel" ("serviceId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_7711266422ebad1188c4879d66" ON "TelemetryServiceLabel" ("labelId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_94d495f938d819dab20480c5f8" ON "TelemetryServiceLabel" ("telemetryServiceId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_0e147801744032a9b33ee87982" ON "ServiceTelemetryService" ("telemetryServiceId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_d8010d867aee38375f92dcf5a0" ON "ServiceTelemetryService" ("serviceId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_8193db094ffae0498ed3425e36" ON "ServiceTelemetryService" ("projectId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_b3cdff92c6b8c874e3406b2add" ON "ServiceMonitor" ("monitorId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_8becc4dbab47d9c6cbdcdcd4dc" ON "ServiceMonitor" ("serviceId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_4ea52669c01c5ec8920d5d4b6d" ON "ServiceMonitor" ("projectId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_84855f72c816f5fa05c7636581" ON "ServiceDependency" ("dependencyServiceId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_bd2b648fe0cd2955d73286f3f9" ON "ServiceDependency" ("serviceId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_5d213c12854b956ed3c7f5f82f" ON "ServiceDependency" ("projectId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_05b6c65746b28329def0accba9" ON "ServiceCodeRepository" ("codeRepositoryId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_4638e464dc7cab644c7926674b" ON "ServiceCodeRepository" ("serviceId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_41a90624dfbb954e3b50c93dfc" ON "ServiceCodeRepository" ("projectId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_27a396dd77fb8c0d5d6cb89216" ON "ServiceOwnerUser" ("serviceId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_f6abd337058906d7912164ae12" ON "ServiceOwnerUser" ("userId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_51c375fe9f6ffb0372d3425d99" ON "ServiceOwnerUser" ("projectId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_c015513688ebd42e5569b4d6ac" ON "ServiceOwnerTeam" ("serviceId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_e3090773a4106e0c4375897993" ON "ServiceOwnerTeam" ("teamId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_726241162b0a853b29d85e28c4" ON "ServiceOwnerTeam" ("projectId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_e712ff4cf5c1a865a5baa242e2" ON "Service" ("projectId") `, + ); + await queryRunner.query( + `ALTER TABLE "ServiceLabel" ADD CONSTRAINT "FK_701f84e45404bdddcffdcaaba20" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceLabel" ADD CONSTRAINT "FK_98e9d83b6ff61003a29590f3987" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE CASCADE`, + ); + await queryRunner.query( + `ALTER TABLE "TelemetryServiceLabel" ADD CONSTRAINT "FK_7711266422ebad1188c4879d669" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`, + ); + await queryRunner.query( + `ALTER TABLE "TelemetryServiceLabel" ADD CONSTRAINT "FK_94d495f938d819dab20480c5f80" FOREIGN KEY ("telemetryServiceId") REFERENCES "TelemetryService"("_id") ON DELETE CASCADE ON UPDATE CASCADE`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceTelemetryService" ADD CONSTRAINT "FK_b0419b3b36e6606a404eb97a98a" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceTelemetryService" ADD CONSTRAINT "FK_64a7908ff27c562a2d7f5532e2a" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceTelemetryService" ADD CONSTRAINT "FK_0e147801744032a9b33ee879829" FOREIGN KEY ("telemetryServiceId") REFERENCES "TelemetryService"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceTelemetryService" ADD CONSTRAINT "FK_d8010d867aee38375f92dcf5a02" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceTelemetryService" ADD CONSTRAINT "FK_8193db094ffae0498ed3425e36a" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceMonitor" ADD CONSTRAINT "FK_1783ec2972d9cbf2f91fced5be3" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceMonitor" ADD CONSTRAINT "FK_e8e03c07999471753b9f6093a67" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceMonitor" ADD CONSTRAINT "FK_b3cdff92c6b8c874e3406b2add5" FOREIGN KEY ("monitorId") REFERENCES "Monitor"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceMonitor" ADD CONSTRAINT "FK_8becc4dbab47d9c6cbdcdcd4dc9" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceMonitor" ADD CONSTRAINT "FK_4ea52669c01c5ec8920d5d4b6da" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceDependency" ADD CONSTRAINT "FK_a4e505f3feab672e2dbbb3a58a1" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceDependency" ADD CONSTRAINT "FK_3741c2e3d35cb739451e50fcac2" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceDependency" ADD CONSTRAINT "FK_84855f72c816f5fa05c76365810" FOREIGN KEY ("dependencyServiceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceDependency" ADD CONSTRAINT "FK_bd2b648fe0cd2955d73286f3f90" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceDependency" ADD CONSTRAINT "FK_5d213c12854b956ed3c7f5f82f5" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceCodeRepository" ADD CONSTRAINT "FK_1aae6b3a023a36f7c004749afe4" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceCodeRepository" ADD CONSTRAINT "FK_c838ecb46958f5de7a699f50c53" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceCodeRepository" ADD CONSTRAINT "FK_05b6c65746b28329def0accba94" FOREIGN KEY ("codeRepositoryId") REFERENCES "CodeRepository"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceCodeRepository" ADD CONSTRAINT "FK_4638e464dc7cab644c7926674b8" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceCodeRepository" ADD CONSTRAINT "FK_41a90624dfbb954e3b50c93dfc1" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerUser" ADD CONSTRAINT "FK_d61607e823057b6516f05e8f1cd" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerUser" ADD CONSTRAINT "FK_2d2c21db8da169b5b2d2bee3111" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerUser" ADD CONSTRAINT "FK_27a396dd77fb8c0d5d6cb892165" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerUser" ADD CONSTRAINT "FK_f6abd337058906d7912164ae12e" FOREIGN KEY ("userId") REFERENCES "User"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerUser" ADD CONSTRAINT "FK_51c375fe9f6ffb0372d3425d999" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerTeam" ADD CONSTRAINT "FK_0e93a638ddc94aaad4ad33789d7" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerTeam" ADD CONSTRAINT "FK_9afb156569266f66a2301eb09ff" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerTeam" ADD CONSTRAINT "FK_c015513688ebd42e5569b4d6ac6" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerTeam" ADD CONSTRAINT "FK_e3090773a4106e0c4375897993f" FOREIGN KEY ("teamId") REFERENCES "Team"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "ServiceOwnerTeam" ADD CONSTRAINT "FK_726241162b0a853b29d85e28c4c" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "Service" ADD CONSTRAINT "FK_42f81942e36f5f42a5dce8e606d" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "Service" ADD CONSTRAINT "FK_b8d64daaf462acd6f694ca47dad" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "Service" ADD CONSTRAINT "FK_e712ff4cf5c1a865a5baa242e2e" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + } } diff --git a/Common/Server/Infrastructure/Postgres/SchemaMigrations/1767979448478-MigrationName.ts b/Common/Server/Infrastructure/Postgres/SchemaMigrations/1767979448478-MigrationName.ts index 612aaff4be..bfe38fed1a 100644 --- a/Common/Server/Infrastructure/Postgres/SchemaMigrations/1767979448478-MigrationName.ts +++ b/Common/Server/Infrastructure/Postgres/SchemaMigrations/1767979448478-MigrationName.ts @@ -2,23 +2,35 @@ import { MigrationInterface, QueryRunner } from "typeorm"; // Schema + Data migration: Move TelemetryService to Service table export class MigrationName1767979448478 implements MigrationInterface { - public name = 'MigrationName1767979448478' + public name = "MigrationName1767979448478"; - public async up(queryRunner: QueryRunner): Promise { - // Step 1: Drop old FK constraints (pointing to TelemetryService) - await queryRunner.query(`ALTER TABLE "TelemetryException" DROP CONSTRAINT IF EXISTS "FK_6470c69cb5f53c5899c0483df5f"`); - await queryRunner.query(`ALTER TABLE "TelemetryUsageBilling" DROP CONSTRAINT IF EXISTS "FK_91333210492e5d2f334231468a7"`); + public async up(queryRunner: QueryRunner): Promise { + // Step 1: Drop old FK constraints (pointing to TelemetryService) + await queryRunner.query( + `ALTER TABLE "TelemetryException" DROP CONSTRAINT IF EXISTS "FK_6470c69cb5f53c5899c0483df5f"`, + ); + await queryRunner.query( + `ALTER TABLE "TelemetryUsageBilling" DROP CONSTRAINT IF EXISTS "FK_91333210492e5d2f334231468a7"`, + ); - // Step 2: Drop old indexes - await queryRunner.query(`DROP INDEX IF EXISTS "public"."IDX_6470c69cb5f53c5899c0483df5"`); - await queryRunner.query(`DROP INDEX IF EXISTS "public"."IDX_91333210492e5d2f334231468a"`); + // Step 2: Drop old indexes + await queryRunner.query( + `DROP INDEX IF EXISTS "public"."IDX_6470c69cb5f53c5899c0483df5"`, + ); + await queryRunner.query( + `DROP INDEX IF EXISTS "public"."IDX_91333210492e5d2f334231468a"`, + ); - // Step 3: Add retainTelemetryDataForDays column to Service (needed before data migration) - await queryRunner.query(`ALTER TABLE "Service" ADD COLUMN IF NOT EXISTS "retainTelemetryDataForDays" integer DEFAULT '15'`); + // Step 3: Add retainTelemetryDataForDays column to Service (needed before data migration) + await queryRunner.query( + `ALTER TABLE "Service" ADD COLUMN IF NOT EXISTS "retainTelemetryDataForDays" integer DEFAULT '15'`, + ); - // Step 4: Migrate TelemetryService data to Service table (BEFORE renaming columns and adding FK) - // Preserve the same _id so existing references remain valid - const telemetryServiceTableExists = await queryRunner.query(` + /* + * Step 4: Migrate TelemetryService data to Service table (BEFORE renaming columns and adding FK) + * Preserve the same _id so existing references remain valid + */ + const telemetryServiceTableExists = await queryRunner.query(` SELECT EXISTS ( SELECT FROM information_schema.tables WHERE table_schema = 'public' @@ -26,8 +38,8 @@ export class MigrationName1767979448478 implements MigrationInterface { ) `); - if (telemetryServiceTableExists[0]?.exists) { - await queryRunner.query(` + if (telemetryServiceTableExists[0]?.exists) { + await queryRunner.query(` INSERT INTO "Service" ( "_id", "createdAt", @@ -60,10 +72,10 @@ export class MigrationName1767979448478 implements MigrationInterface { FROM "TelemetryService" ON CONFLICT ("_id") DO NOTHING `); - } + } - // Step 5: Migrate TelemetryServiceLabel to ServiceLabel - const telemetryServiceLabelExists = await queryRunner.query(` + // Step 5: Migrate TelemetryServiceLabel to ServiceLabel + const telemetryServiceLabelExists = await queryRunner.query(` SELECT EXISTS ( SELECT FROM information_schema.tables WHERE table_schema = 'public' @@ -71,26 +83,36 @@ export class MigrationName1767979448478 implements MigrationInterface { ) `); - if (telemetryServiceLabelExists[0]?.exists) { - await queryRunner.query(` + if (telemetryServiceLabelExists[0]?.exists) { + await queryRunner.query(` INSERT INTO "ServiceLabel" ("serviceId", "labelId") SELECT "telemetryServiceId", "labelId" FROM "TelemetryServiceLabel" ON CONFLICT DO NOTHING `); - } + } - // Step 6: Rename columns (telemetryServiceId -> serviceId) - await queryRunner.query(`ALTER TABLE "TelemetryException" RENAME COLUMN "telemetryServiceId" TO "serviceId"`); - await queryRunner.query(`ALTER TABLE "TelemetryUsageBilling" RENAME COLUMN "telemetryServiceId" TO "serviceId"`); + // Step 6: Rename columns (telemetryServiceId -> serviceId) + await queryRunner.query( + `ALTER TABLE "TelemetryException" RENAME COLUMN "telemetryServiceId" TO "serviceId"`, + ); + await queryRunner.query( + `ALTER TABLE "TelemetryUsageBilling" RENAME COLUMN "telemetryServiceId" TO "serviceId"`, + ); - // Step 7: Create MetricTypeService table - await queryRunner.query(`CREATE TABLE IF NOT EXISTS "MetricTypeService" ("metricTypeId" uuid NOT NULL, "serviceId" uuid NOT NULL, CONSTRAINT "PK_21b7a84eea5b71922ac5ccc92e9" PRIMARY KEY ("metricTypeId", "serviceId"))`); - await queryRunner.query(`CREATE INDEX IF NOT EXISTS "IDX_e6b6e365ad502b487cb63d2891" ON "MetricTypeService" ("metricTypeId") `); - await queryRunner.query(`CREATE INDEX IF NOT EXISTS "IDX_c67839207ff53f33eb22648b56" ON "MetricTypeService" ("serviceId") `); + // Step 7: Create MetricTypeService table + await queryRunner.query( + `CREATE TABLE IF NOT EXISTS "MetricTypeService" ("metricTypeId" uuid NOT NULL, "serviceId" uuid NOT NULL, CONSTRAINT "PK_21b7a84eea5b71922ac5ccc92e9" PRIMARY KEY ("metricTypeId", "serviceId"))`, + ); + await queryRunner.query( + `CREATE INDEX IF NOT EXISTS "IDX_e6b6e365ad502b487cb63d2891" ON "MetricTypeService" ("metricTypeId") `, + ); + await queryRunner.query( + `CREATE INDEX IF NOT EXISTS "IDX_c67839207ff53f33eb22648b56" ON "MetricTypeService" ("serviceId") `, + ); - // Step 8: Migrate MetricTypeTelemetryService to MetricTypeService - const metricTypeTelemetryServiceExists = await queryRunner.query(` + // Step 8: Migrate MetricTypeTelemetryService to MetricTypeService + const metricTypeTelemetryServiceExists = await queryRunner.query(` SELECT EXISTS ( SELECT FROM information_schema.tables WHERE table_schema = 'public' @@ -98,59 +120,102 @@ export class MigrationName1767979448478 implements MigrationInterface { ) `); - if (metricTypeTelemetryServiceExists[0]?.exists) { - await queryRunner.query(` + if (metricTypeTelemetryServiceExists[0]?.exists) { + await queryRunner.query(` INSERT INTO "MetricTypeService" ("metricTypeId", "serviceId") SELECT "metricTypeId", "telemetryServiceId" FROM "MetricTypeTelemetryService" ON CONFLICT DO NOTHING `); - } - - // Step 10: Create new indexes - await queryRunner.query(`CREATE INDEX IF NOT EXISTS "IDX_08a0cfa9f184257b1e57da4cf5" ON "TelemetryException" ("serviceId") `); - await queryRunner.query(`CREATE INDEX IF NOT EXISTS "IDX_b9f49cd8318a35757fc843ee90" ON "TelemetryUsageBilling" ("serviceId") `); - - // Step 11: Add new FK constraints (NOW safe because Service table has the migrated data) - await queryRunner.query(`ALTER TABLE "TelemetryException" ADD CONSTRAINT "FK_08a0cfa9f184257b1e57da4cf50" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "TelemetryUsageBilling" ADD CONSTRAINT "FK_b9f49cd8318a35757fc843ee900" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "MetricTypeService" ADD CONSTRAINT "FK_e6b6e365ad502b487cb63d28913" FOREIGN KEY ("metricTypeId") REFERENCES "MetricType"("_id") ON DELETE CASCADE ON UPDATE CASCADE`); - await queryRunner.query(`ALTER TABLE "MetricTypeService" ADD CONSTRAINT "FK_c67839207ff53f33eb22648b567" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE CASCADE`); } - public async down(queryRunner: QueryRunner): Promise { - // Drop new FK constraints - await queryRunner.query(`ALTER TABLE "MetricTypeService" DROP CONSTRAINT "FK_c67839207ff53f33eb22648b567"`); - await queryRunner.query(`ALTER TABLE "MetricTypeService" DROP CONSTRAINT "FK_e6b6e365ad502b487cb63d28913"`); - await queryRunner.query(`ALTER TABLE "TelemetryUsageBilling" DROP CONSTRAINT "FK_b9f49cd8318a35757fc843ee900"`); - await queryRunner.query(`ALTER TABLE "TelemetryException" DROP CONSTRAINT "FK_08a0cfa9f184257b1e57da4cf50"`); + // Step 10: Create new indexes + await queryRunner.query( + `CREATE INDEX IF NOT EXISTS "IDX_08a0cfa9f184257b1e57da4cf5" ON "TelemetryException" ("serviceId") `, + ); + await queryRunner.query( + `CREATE INDEX IF NOT EXISTS "IDX_b9f49cd8318a35757fc843ee90" ON "TelemetryUsageBilling" ("serviceId") `, + ); - // Drop new indexes - await queryRunner.query(`DROP INDEX "public"."IDX_b9f49cd8318a35757fc843ee90"`); - await queryRunner.query(`DROP INDEX "public"."IDX_08a0cfa9f184257b1e57da4cf5"`); + // Step 11: Add new FK constraints (NOW safe because Service table has the migrated data) + await queryRunner.query( + `ALTER TABLE "TelemetryException" ADD CONSTRAINT "FK_08a0cfa9f184257b1e57da4cf50" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "TelemetryUsageBilling" ADD CONSTRAINT "FK_b9f49cd8318a35757fc843ee900" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "MetricTypeService" ADD CONSTRAINT "FK_e6b6e365ad502b487cb63d28913" FOREIGN KEY ("metricTypeId") REFERENCES "MetricType"("_id") ON DELETE CASCADE ON UPDATE CASCADE`, + ); + await queryRunner.query( + `ALTER TABLE "MetricTypeService" ADD CONSTRAINT "FK_c67839207ff53f33eb22648b567" FOREIGN KEY ("serviceId") REFERENCES "Service"("_id") ON DELETE CASCADE ON UPDATE CASCADE`, + ); + } - // Drop retainTelemetryDataForDays column - await queryRunner.query(`ALTER TABLE "Service" DROP COLUMN "retainTelemetryDataForDays"`); + public async down(queryRunner: QueryRunner): Promise { + // Drop new FK constraints + await queryRunner.query( + `ALTER TABLE "MetricTypeService" DROP CONSTRAINT "FK_c67839207ff53f33eb22648b567"`, + ); + await queryRunner.query( + `ALTER TABLE "MetricTypeService" DROP CONSTRAINT "FK_e6b6e365ad502b487cb63d28913"`, + ); + await queryRunner.query( + `ALTER TABLE "TelemetryUsageBilling" DROP CONSTRAINT "FK_b9f49cd8318a35757fc843ee900"`, + ); + await queryRunner.query( + `ALTER TABLE "TelemetryException" DROP CONSTRAINT "FK_08a0cfa9f184257b1e57da4cf50"`, + ); - // Drop MetricTypeService table and indexes - await queryRunner.query(`DROP INDEX "public"."IDX_c67839207ff53f33eb22648b56"`); - await queryRunner.query(`DROP INDEX "public"."IDX_e6b6e365ad502b487cb63d2891"`); - await queryRunner.query(`DROP TABLE "MetricTypeService"`); + // Drop new indexes + await queryRunner.query( + `DROP INDEX "public"."IDX_b9f49cd8318a35757fc843ee90"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_08a0cfa9f184257b1e57da4cf5"`, + ); - // Rename columns back - await queryRunner.query(`ALTER TABLE "TelemetryUsageBilling" RENAME COLUMN "serviceId" TO "telemetryServiceId"`); - await queryRunner.query(`ALTER TABLE "TelemetryException" RENAME COLUMN "serviceId" TO "telemetryServiceId"`); + // Drop retainTelemetryDataForDays column + await queryRunner.query( + `ALTER TABLE "Service" DROP COLUMN "retainTelemetryDataForDays"`, + ); - // Recreate old indexes - await queryRunner.query(`CREATE INDEX "IDX_91333210492e5d2f334231468a" ON "TelemetryUsageBilling" ("telemetryServiceId") `); - await queryRunner.query(`CREATE INDEX "IDX_6470c69cb5f53c5899c0483df5" ON "TelemetryException" ("telemetryServiceId") `); + // Drop MetricTypeService table and indexes + await queryRunner.query( + `DROP INDEX "public"."IDX_c67839207ff53f33eb22648b56"`, + ); + await queryRunner.query( + `DROP INDEX "public"."IDX_e6b6e365ad502b487cb63d2891"`, + ); + await queryRunner.query(`DROP TABLE "MetricTypeService"`); - // Restore old FK constraints (pointing back to TelemetryService) - await queryRunner.query(`ALTER TABLE "TelemetryUsageBilling" ADD CONSTRAINT "FK_91333210492e5d2f334231468a7" FOREIGN KEY ("telemetryServiceId") REFERENCES "TelemetryService"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); - await queryRunner.query(`ALTER TABLE "TelemetryException" ADD CONSTRAINT "FK_6470c69cb5f53c5899c0483df5f" FOREIGN KEY ("telemetryServiceId") REFERENCES "TelemetryService"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`); + // Rename columns back + await queryRunner.query( + `ALTER TABLE "TelemetryUsageBilling" RENAME COLUMN "serviceId" TO "telemetryServiceId"`, + ); + await queryRunner.query( + `ALTER TABLE "TelemetryException" RENAME COLUMN "serviceId" TO "telemetryServiceId"`, + ); - // Note: We don't delete the migrated data from Service table in down migration - // as it could be dangerous if new Service records were created - } + // Recreate old indexes + await queryRunner.query( + `CREATE INDEX "IDX_91333210492e5d2f334231468a" ON "TelemetryUsageBilling" ("telemetryServiceId") `, + ); + await queryRunner.query( + `CREATE INDEX "IDX_6470c69cb5f53c5899c0483df5" ON "TelemetryException" ("telemetryServiceId") `, + ); + // Restore old FK constraints (pointing back to TelemetryService) + await queryRunner.query( + `ALTER TABLE "TelemetryUsageBilling" ADD CONSTRAINT "FK_91333210492e5d2f334231468a7" FOREIGN KEY ("telemetryServiceId") REFERENCES "TelemetryService"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE "TelemetryException" ADD CONSTRAINT "FK_6470c69cb5f53c5899c0483df5f" FOREIGN KEY ("telemetryServiceId") REFERENCES "TelemetryService"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + + /* + * Note: We don't delete the migrated data from Service table in down migration + * as it could be dangerous if new Service records were created + */ + } } diff --git a/Common/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts b/Common/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts index f7e46588d0..dfe551556e 100644 --- a/Common/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +++ b/Common/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts @@ -435,5 +435,5 @@ export default [ MigrationName1767009661768, RenameServiceCatalogToService1767966850199, MigrationName1767979055522, - MigrationName1767979448478 + MigrationName1767979448478, ]; diff --git a/Common/Server/Services/TelemetryUsageBillingService.ts b/Common/Server/Services/TelemetryUsageBillingService.ts index f58b905e66..36a8007e23 100644 --- a/Common/Server/Services/TelemetryUsageBillingService.ts +++ b/Common/Server/Services/TelemetryUsageBillingService.ts @@ -97,21 +97,20 @@ export class Service extends DatabaseService { const startOfDay: Date = OneUptimeDate.getStartOfDay(usageDate); const endOfDay: Date = OneUptimeDate.getEndOfDay(usageDate); - const services: Array = - await ServiceService.findBy({ - query: { - projectId: data.projectId, - }, - select: { - _id: true, - retainTelemetryDataForDays: true, - }, - skip: 0, - limit: LIMIT_MAX, - props: { - isRoot: true, - }, - }); + const services: Array = await ServiceService.findBy({ + query: { + projectId: data.projectId, + }, + select: { + _id: true, + retainTelemetryDataForDays: true, + }, + skip: 0, + limit: LIMIT_MAX, + props: { + isRoot: true, + }, + }); if (!services || services.length === 0) { return; @@ -244,8 +243,7 @@ export class Service extends DatabaseService { } const dataRetentionInDays: number = - service.retainTelemetryDataForDays || - DEFAULT_RETENTION_IN_DAYS; + service.retainTelemetryDataForDays || DEFAULT_RETENTION_IN_DAYS; await this.updateUsageBilling({ projectId: data.projectId, diff --git a/Common/Server/Utils/Telemetry/Telemetry.ts b/Common/Server/Utils/Telemetry/Telemetry.ts index 045ed8f6a5..19b9486e04 100644 --- a/Common/Server/Utils/Telemetry/Telemetry.ts +++ b/Common/Server/Utils/Telemetry/Telemetry.ts @@ -46,10 +46,11 @@ export default class TelemetryUtil { metricType.services = []; } - const serviceIds: Array = - metricType.services!.map((service: Service) => { + const serviceIds: Array = metricType.services!.map( + (service: Service) => { return service.id!; - }); + }, + ); let isSame: boolean = true; diff --git a/Common/UI/Components/LogsViewer/LogsViewer.tsx b/Common/UI/Components/LogsViewer/LogsViewer.tsx index 8375dcfa88..caab1873cc 100644 --- a/Common/UI/Components/LogsViewer/LogsViewer.tsx +++ b/Common/UI/Components/LogsViewer/LogsViewer.tsx @@ -99,9 +99,7 @@ const LogsViewer: FunctionComponent = ( const [isPageLoading, setIsPageLoading] = useState(true); const [pageError, setPageError] = useState(""); - const [serviceMap, setServiceMap] = useState>( - {}, - ); + const [serviceMap, setServiceMap] = useState>({}); const [selectedLogId, setSelectedLogId] = useState(null); @@ -243,20 +241,19 @@ const LogsViewer: FunctionComponent = ( setIsPageLoading(true); setPageError(""); - const telemetryServices: ListResult = - await ModelAPI.getList({ - modelType: Service, - query: {}, - select: { - name: true, - serviceColor: true, - }, - limit: LIMIT_PER_PROJECT, - skip: 0, - sort: { - name: SortOrder.Ascending, - }, - }); + const telemetryServices: ListResult = await ModelAPI.getList({ + modelType: Service, + query: {}, + select: { + name: true, + serviceColor: true, + }, + limit: LIMIT_PER_PROJECT, + skip: 0, + sort: { + name: SortOrder.Ascending, + }, + }); const services: Dictionary = {}; telemetryServices.data.forEach((service: Service) => { diff --git a/Common/UI/Components/LogsViewer/components/LogsTable.tsx b/Common/UI/Components/LogsViewer/components/LogsTable.tsx index 0d2e24db9b..47bc047c70 100644 --- a/Common/UI/Components/LogsViewer/components/LogsTable.tsx +++ b/Common/UI/Components/LogsViewer/components/LogsTable.tsx @@ -151,8 +151,7 @@ const LogsTable: FunctionComponent = ( {props.logs.map((log: Log, index: number) => { const rowId: string = resolveLogIdentifier(log, index); const serviceId: string = log.serviceId?.toString() || ""; - const service: Service | undefined = - props.serviceMap[serviceId]; + const service: Service | undefined = props.serviceMap[serviceId]; const serviceName: string = service?.name || serviceId || "Unknown"; const serviceColor: string = diff --git a/Dashboard/src/Components/Exceptions/ExceptionDetail.tsx b/Dashboard/src/Components/Exceptions/ExceptionDetail.tsx index 1a107db6dc..cc09ece4f6 100644 --- a/Dashboard/src/Components/Exceptions/ExceptionDetail.tsx +++ b/Dashboard/src/Components/Exceptions/ExceptionDetail.tsx @@ -103,9 +103,7 @@ const ExceptionDetail: FunctionComponent = ( description: "The service that this exception was received from.", fieldType: FieldType.Element, getElement: () => { - return ( - - ); + return ; }, }); } diff --git a/Dashboard/src/Components/Exceptions/ExceptionsTable.tsx b/Dashboard/src/Components/Exceptions/ExceptionsTable.tsx index 07173abbfb..ce684d73d5 100644 --- a/Dashboard/src/Components/Exceptions/ExceptionsTable.tsx +++ b/Dashboard/src/Components/Exceptions/ExceptionsTable.tsx @@ -59,9 +59,7 @@ const TelemetryExceptionTable: FunctionComponent = ( }} query={{ projectId: ProjectUtil.getCurrentProjectId()!, - serviceId: props.serviceId - ? props.serviceId - : undefined, + serviceId: props.serviceId ? props.serviceId : undefined, ...props.query, }} bulkActions={{ diff --git a/Dashboard/src/Components/Form/Monitor/MonitorStep.tsx b/Dashboard/src/Components/Form/Monitor/MonitorStep.tsx index 52146e445a..7f3cda15a7 100644 --- a/Dashboard/src/Components/Form/Monitor/MonitorStep.tsx +++ b/Dashboard/src/Components/Form/Monitor/MonitorStep.tsx @@ -100,9 +100,7 @@ const MonitorStepElement: FunctionComponent = ( setShowSyntheticMonitorAdvancedOptions, ] = useState(false); - const [telemetryServices, setServices] = useState< - Array - >([]); + const [telemetryServices, setServices] = useState>([]); const [attributeKeys, setAttributeKeys] = useState>([]); const [error, setError] = useState(""); const [isLoading, setIsLoading] = useState(true); @@ -151,31 +149,30 @@ const MonitorStepElement: FunctionComponent = ( } }; - const fetchServices: PromiseVoidFunction = - async (): Promise => { - const telemetryServicesResult: ListResult = - await ModelAPI.getList({ - modelType: Service, - query: { - projectId: ProjectUtil.getCurrentProjectId()!, - }, - limit: LIMIT_PER_PROJECT, - skip: 0, - select: { - _id: true, - name: true, - }, - sort: { - name: SortOrder.Ascending, - }, - }); + const fetchServices: PromiseVoidFunction = async (): Promise => { + const telemetryServicesResult: ListResult = + await ModelAPI.getList({ + modelType: Service, + query: { + projectId: ProjectUtil.getCurrentProjectId()!, + }, + limit: LIMIT_PER_PROJECT, + skip: 0, + select: { + _id: true, + name: true, + }, + sort: { + name: SortOrder.Ascending, + }, + }); - if (telemetryServicesResult instanceof HTTPErrorResponse) { - throw telemetryServicesResult; - } + if (telemetryServicesResult instanceof HTTPErrorResponse) { + throw telemetryServicesResult; + } - setServices(telemetryServicesResult.data); - }; + setServices(telemetryServicesResult.data); + }; const fetchServicesAndAttributes: PromiseVoidFunction = async (): Promise => { diff --git a/Dashboard/src/Components/Logs/LogsViewer.tsx b/Dashboard/src/Components/Logs/LogsViewer.tsx index 6a46dc44a2..03b87ea842 100644 --- a/Dashboard/src/Components/Logs/LogsViewer.tsx +++ b/Dashboard/src/Components/Logs/LogsViewer.tsx @@ -86,12 +86,7 @@ const DashboardLogsViewer: FunctionComponent = ( useEffect(() => { setFilterOptions(refreshQuery()); setPage(1); - }, [ - props.serviceIds, - props.traceIds, - props.spanIds, - props.logQuery, - ]); + }, [props.serviceIds, props.traceIds, props.spanIds, props.logQuery]); const select: Select = React.useMemo(() => { return { diff --git a/Dashboard/src/Components/Metrics/MetricsTable.tsx b/Dashboard/src/Components/Metrics/MetricsTable.tsx index 2d3b09fc8f..b344fc346f 100644 --- a/Dashboard/src/Components/Metrics/MetricsTable.tsx +++ b/Dashboard/src/Components/Metrics/MetricsTable.tsx @@ -22,8 +22,7 @@ export interface ComponentProps { const MetricsTable: FunctionComponent = ( props: ComponentProps, ): ReactElement => { - const serviceFilterIds: Array = - props.serviceIds || []; + const serviceFilterIds: Array = props.serviceIds || []; return ( @@ -60,11 +59,9 @@ const MetricsTable: FunctionComponent = ( const metricAttributes: Record = {}; if (serviceFilterIds.length === 1) { - const serviceId: ObjectID | undefined = - serviceFilterIds[0]; + const serviceId: ObjectID | undefined = serviceFilterIds[0]; - const serviceIdString: string | undefined = - serviceId?.toString(); + const serviceIdString: string | undefined = serviceId?.toString(); if (serviceIdString) { metricAttributes["oneuptime.service.id"] = serviceIdString; @@ -163,11 +160,7 @@ const MetricsTable: FunctionComponent = ( title: "Services", type: FieldType.Element, getElement: (item: MetricType): ReactElement => { - return ( - - ); + return ; }, }, ]} diff --git a/Dashboard/src/Components/Monitor/MonitorSteps/MonitorStep.tsx b/Dashboard/src/Components/Monitor/MonitorSteps/MonitorStep.tsx index e9a9537060..7afe1893f9 100644 --- a/Dashboard/src/Components/Monitor/MonitorSteps/MonitorStep.tsx +++ b/Dashboard/src/Components/Monitor/MonitorSteps/MonitorStep.tsx @@ -66,9 +66,9 @@ const MonitorStepElement: FunctionComponent = ( ): ReactElement => { const [isLoading, setIsLoading] = useState(false); const [error, setError] = useState(undefined); - const [telemetryServices, setServices] = useState< - Array | undefined - >(undefined); + const [telemetryServices, setServices] = useState | undefined>( + undefined, + ); // this field is used for most monitor types let fields: Array> = []; @@ -91,53 +91,52 @@ const MonitorStepElement: FunctionComponent = ( lastXSecondsOfLogs: undefined, }; - const fetchServices: PromiseVoidFunction = - async (): Promise => { - let telemetryServiceIds: Array = []; + const fetchServices: PromiseVoidFunction = async (): Promise => { + let telemetryServiceIds: Array = []; - // if the monitor is a log monitor - if ( - props.monitorStep.data?.logMonitor && - props.monitorType === MonitorType.Logs - ) { - telemetryServiceIds = - props.monitorStep.data?.logMonitor?.telemetryServiceIds || []; - } + // if the monitor is a log monitor + if ( + props.monitorStep.data?.logMonitor && + props.monitorType === MonitorType.Logs + ) { + telemetryServiceIds = + props.monitorStep.data?.logMonitor?.telemetryServiceIds || []; + } - // if the monitor is a trace monitor - if ( - props.monitorStep.data?.traceMonitor && - props.monitorType === MonitorType.Traces - ) { - telemetryServiceIds = - props.monitorStep.data?.traceMonitor?.telemetryServiceIds || []; - } + // if the monitor is a trace monitor + if ( + props.monitorStep.data?.traceMonitor && + props.monitorType === MonitorType.Traces + ) { + telemetryServiceIds = + props.monitorStep.data?.traceMonitor?.telemetryServiceIds || []; + } - const telemetryServicesResult: ListResult = - await ModelAPI.getList({ - modelType: Service, - query: { - projectId: ProjectUtil.getCurrentProjectId()!, - _id: new Includes(telemetryServiceIds), - }, - limit: LIMIT_PER_PROJECT, - skip: 0, - select: { - _id: true, - name: true, - serviceColor: true, - }, - sort: { - name: SortOrder.Ascending, - }, - }); + const telemetryServicesResult: ListResult = + await ModelAPI.getList({ + modelType: Service, + query: { + projectId: ProjectUtil.getCurrentProjectId()!, + _id: new Includes(telemetryServiceIds), + }, + limit: LIMIT_PER_PROJECT, + skip: 0, + select: { + _id: true, + name: true, + serviceColor: true, + }, + sort: { + name: SortOrder.Ascending, + }, + }); - if (telemetryServicesResult instanceof HTTPErrorResponse) { - throw telemetryServicesResult; - } + if (telemetryServicesResult instanceof HTTPErrorResponse) { + throw telemetryServicesResult; + } - setServices(telemetryServicesResult.data); - }; + setServices(telemetryServicesResult.data); + }; const loadComponent: PromiseVoidFunction = async (): Promise => { setIsLoading(true); @@ -384,9 +383,7 @@ const MonitorStepElement: FunctionComponent = ( fieldType: FieldType.Element, placeholder: "No telemetry services entered", getElement: (): ReactElement => { - return ( - - ); + return ; }, }); } @@ -483,9 +480,7 @@ const MonitorStepElement: FunctionComponent = ( fieldType: FieldType.Element, placeholder: "No telemetry services entered", getElement: (): ReactElement => { - return ( - - ); + return ; }, }); } diff --git a/Dashboard/src/Components/Traces/TraceExplorer.tsx b/Dashboard/src/Components/Traces/TraceExplorer.tsx index a8e1defabe..f413c59149 100644 --- a/Dashboard/src/Components/Traces/TraceExplorer.tsx +++ b/Dashboard/src/Components/Traces/TraceExplorer.tsx @@ -53,9 +53,7 @@ type GetBarTooltipFunction = (data: BarTooltipFunctionProps) => ReactElement; const TraceExplorer: FunctionComponent = ( props: ComponentProps, ): ReactElement => { - const [telemetryServices, setServices] = React.useState< - Service[] - >([]); + const [telemetryServices, setServices] = React.useState([]); const [selectedSpans, setSelectedSpans] = React.useState([]); @@ -433,10 +431,11 @@ const TraceExplorer: FunctionComponent = ( return []; } - const telemetryService: Service | undefined = - telemetryServices.find((service: Service) => { + const telemetryService: Service | undefined = telemetryServices.find( + (service: Service) => { return service._id?.toString() === rootSpan.serviceId?.toString(); - }); + }, + ); const rootRow: GanttChartRow = { rowInfo: { @@ -810,10 +809,11 @@ const TraceExplorer: FunctionComponent = ( */ if (allRows.length === 1 && displaySpans.length > 10) { allRows = displaySpans.map((span: Span) => { - const telemetryService: Service | undefined = - telemetryServices.find((service: Service) => { + const telemetryService: Service | undefined = telemetryServices.find( + (service: Service) => { return service._id?.toString() === span.serviceId?.toString(); - }); + }, + ); return { rowInfo: { id: ObjectID.generate().toString(), diff --git a/Dashboard/src/Components/Traces/TraceTable.tsx b/Dashboard/src/Components/Traces/TraceTable.tsx index 37a9107ba1..73698df3bb 100644 --- a/Dashboard/src/Components/Traces/TraceTable.tsx +++ b/Dashboard/src/Components/Traces/TraceTable.tsx @@ -65,9 +65,7 @@ const TraceTable: FunctionComponent = ( props.spanQuery || null, ); - const [telemetryServices, setServices] = React.useState< - Array - >([]); + const [telemetryServices, setServices] = React.useState>([]); const [areAdvancedFiltersVisible, setAreAdvancedFiltersVisible] = useState(false); @@ -143,36 +141,35 @@ const TraceTable: FunctionComponent = ( } }, [props.spanQuery]); - const loadServices: PromiseVoidFunction = - async (): Promise => { - try { - setIsPageLoading(true); - setPageError(""); + const loadServices: PromiseVoidFunction = async (): Promise => { + try { + setIsPageLoading(true); + setPageError(""); - const telemetryServicesResponse: ListResult = - await ModelAPI.getList({ - modelType: Service, - query: { - projectId: ProjectUtil.getCurrentProjectId()!, - }, - select: { - serviceColor: true, - name: true, - }, - limit: LIMIT_PER_PROJECT, - skip: 0, - sort: { - name: SortOrder.Ascending, - }, - }); + const telemetryServicesResponse: ListResult = + await ModelAPI.getList({ + modelType: Service, + query: { + projectId: ProjectUtil.getCurrentProjectId()!, + }, + select: { + serviceColor: true, + name: true, + }, + limit: LIMIT_PER_PROJECT, + skip: 0, + sort: { + name: SortOrder.Ascending, + }, + }); - setServices(telemetryServicesResponse.data || []); - } catch (err) { - setPageError(API.getFriendlyErrorMessage(err as Error)); - } finally { - setIsPageLoading(false); - } - }; + setServices(telemetryServicesResponse.data || []); + } catch (err) { + setPageError(API.getFriendlyErrorMessage(err as Error)); + } finally { + setIsPageLoading(false); + } + }; const loadAttributes: PromiseVoidFunction = async (): Promise => { if (attributesLoading || attributesLoaded) { @@ -438,9 +435,7 @@ const TraceTable: FunctionComponent = ( return ( - + ); }, diff --git a/Dashboard/src/Pages/Settings/UsageHistory.tsx b/Dashboard/src/Pages/Settings/UsageHistory.tsx index 6a979c24d9..39a9b6638f 100644 --- a/Dashboard/src/Pages/Settings/UsageHistory.tsx +++ b/Dashboard/src/Pages/Settings/UsageHistory.tsx @@ -117,13 +117,7 @@ const Settings: FunctionComponent = ( title: "Service", type: FieldType.Element, getElement: (item: TelemetryUsageBilling) => { - return ( - - ); + return ; }, }, { diff --git a/Dashboard/src/Pages/Telemetry/Services/View/Metrics/Index.tsx b/Dashboard/src/Pages/Telemetry/Services/View/Metrics/Index.tsx index 97c4b32203..2f2953390e 100644 --- a/Dashboard/src/Pages/Telemetry/Services/View/Metrics/Index.tsx +++ b/Dashboard/src/Pages/Telemetry/Services/View/Metrics/Index.tsx @@ -20,8 +20,7 @@ const MetricsTablePage: FunctionComponent< > = (): ReactElement => { const modelId: ObjectID = Navigation.getLastParamAsObjectID(1); - const [service, setService] = - useState(null); + const [service, setService] = useState(null); const [isLoading, setIsLoading] = useState(false); const [error, setError] = useState(""); @@ -31,33 +30,31 @@ const MetricsTablePage: FunctionComponent< }); }, []); - const fetchService: PromiseVoidFunction = - async (): Promise => { - try { - setIsLoading(true); + const fetchService: PromiseVoidFunction = async (): Promise => { + try { + setIsLoading(true); - const service: Service | null = - await ModelAPI.getItem({ - modelType: Service, - id: modelId, - select: { - name: true, - }, - }); + const service: Service | null = await ModelAPI.getItem({ + modelType: Service, + id: modelId, + select: { + name: true, + }, + }); - if (!service) { - setIsLoading(false); - setError("Service not found."); - return; - } - - setService(service); + if (!service) { setIsLoading(false); - } catch (err) { - setIsLoading(false); - setError(API.getFriendlyMessage(err)); + setError("Service not found."); + return; } - }; + + setService(service); + setIsLoading(false); + } catch (err) { + setIsLoading(false); + setError(API.getFriendlyMessage(err)); + } + }; if (error) { return ;