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.
This commit is contained in:
Nawaz Dhandala 2026-01-09 19:36:10 +00:00
parent 30c1585dd8
commit c1efcf578f
No known key found for this signature in database
GPG key ID: 96C5DCA24769DBCA
18 changed files with 1049 additions and 548 deletions

View file

@ -74,25 +74,17 @@ export default class FixExceptionTaskHandler extends BaseTaskHandler<FixExceptio
await context.backendAPI.getExceptionDetails(metadata.exceptionId);
if (!exceptionDetails.service) {
await this.log(
context,
"No service linked to this exception",
"error",
);
return this.createFailureResult(
"No service linked to this exception",
{ isError: true },
);
await this.log(context, "No service linked to this exception", "error");
return this.createFailureResult("No service linked to this exception", {
isError: true,
});
}
await this.log(
context,
`Exception: ${exceptionDetails.exception.message.substring(0, 100)}...`,
);
await this.log(
context,
`Service: ${exceptionDetails.service.name}`,
);
await this.log(context, `Service: ${exceptionDetails.service.name}`);
// Step 3: Get linked code repositories
await this.log(context, "Finding linked code repositories...");

View file

@ -1,256 +1,743 @@
import { MigrationInterface, QueryRunner } from "typeorm";
export class MigrationName1767979055522 implements MigrationInterface {
public name = 'MigrationName1767979055522'
public name = "MigrationName1767979055522";
public async up(queryRunner: QueryRunner): Promise<void> {
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<void> {
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<void> {
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<void> {
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`,
);
}
}

View file

@ -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<void> {
// 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<void> {
// 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<void> {
// 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<void> {
// 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
*/
}
}

View file

@ -435,5 +435,5 @@ export default [
MigrationName1767009661768,
RenameServiceCatalogToService1767966850199,
MigrationName1767979055522,
MigrationName1767979448478
MigrationName1767979448478,
];

View file

@ -97,21 +97,20 @@ export class Service extends DatabaseService<Model> {
const startOfDay: Date = OneUptimeDate.getStartOfDay(usageDate);
const endOfDay: Date = OneUptimeDate.getEndOfDay(usageDate);
const services: Array<ServiceModel> =
await ServiceService.findBy({
query: {
projectId: data.projectId,
},
select: {
_id: true,
retainTelemetryDataForDays: true,
},
skip: 0,
limit: LIMIT_MAX,
props: {
isRoot: true,
},
});
const services: Array<ServiceModel> = 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<Model> {
}
const dataRetentionInDays: number =
service.retainTelemetryDataForDays ||
DEFAULT_RETENTION_IN_DAYS;
service.retainTelemetryDataForDays || DEFAULT_RETENTION_IN_DAYS;
await this.updateUsageBilling({
projectId: data.projectId,

View file

@ -46,10 +46,11 @@ export default class TelemetryUtil {
metricType.services = [];
}
const serviceIds: Array<ObjectID> =
metricType.services!.map((service: Service) => {
const serviceIds: Array<ObjectID> = metricType.services!.map(
(service: Service) => {
return service.id!;
});
},
);
let isSame: boolean = true;

View file

@ -99,9 +99,7 @@ const LogsViewer: FunctionComponent<ComponentProps> = (
const [isPageLoading, setIsPageLoading] = useState<boolean>(true);
const [pageError, setPageError] = useState<string>("");
const [serviceMap, setServiceMap] = useState<Dictionary<Service>>(
{},
);
const [serviceMap, setServiceMap] = useState<Dictionary<Service>>({});
const [selectedLogId, setSelectedLogId] = useState<string | null>(null);
@ -243,20 +241,19 @@ const LogsViewer: FunctionComponent<ComponentProps> = (
setIsPageLoading(true);
setPageError("");
const telemetryServices: ListResult<Service> =
await ModelAPI.getList({
modelType: Service,
query: {},
select: {
name: true,
serviceColor: true,
},
limit: LIMIT_PER_PROJECT,
skip: 0,
sort: {
name: SortOrder.Ascending,
},
});
const telemetryServices: ListResult<Service> = await ModelAPI.getList({
modelType: Service,
query: {},
select: {
name: true,
serviceColor: true,
},
limit: LIMIT_PER_PROJECT,
skip: 0,
sort: {
name: SortOrder.Ascending,
},
});
const services: Dictionary<Service> = {};
telemetryServices.data.forEach((service: Service) => {

View file

@ -151,8 +151,7 @@ const LogsTable: FunctionComponent<LogsTableProps> = (
{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 =

View file

@ -103,9 +103,7 @@ const ExceptionDetail: FunctionComponent<ComponentProps> = (
description: "The service that this exception was received from.",
fieldType: FieldType.Element,
getElement: () => {
return (
<ServiceElement service={props.telemetryService!} />
);
return <ServiceElement service={props.telemetryService!} />;
},
});
}

View file

@ -59,9 +59,7 @@ const TelemetryExceptionTable: FunctionComponent<ComponentProps> = (
}}
query={{
projectId: ProjectUtil.getCurrentProjectId()!,
serviceId: props.serviceId
? props.serviceId
: undefined,
serviceId: props.serviceId ? props.serviceId : undefined,
...props.query,
}}
bulkActions={{

View file

@ -100,9 +100,7 @@ const MonitorStepElement: FunctionComponent<ComponentProps> = (
setShowSyntheticMonitorAdvancedOptions,
] = useState<boolean>(false);
const [telemetryServices, setServices] = useState<
Array<Service>
>([]);
const [telemetryServices, setServices] = useState<Array<Service>>([]);
const [attributeKeys, setAttributeKeys] = useState<Array<string>>([]);
const [error, setError] = useState<string>("");
const [isLoading, setIsLoading] = useState<boolean>(true);
@ -151,31 +149,30 @@ const MonitorStepElement: FunctionComponent<ComponentProps> = (
}
};
const fetchServices: PromiseVoidFunction =
async (): Promise<void> => {
const telemetryServicesResult: ListResult<Service> =
await ModelAPI.getList<Service>({
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<void> => {
const telemetryServicesResult: ListResult<Service> =
await ModelAPI.getList<Service>({
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<void> => {

View file

@ -86,12 +86,7 @@ const DashboardLogsViewer: FunctionComponent<ComponentProps> = (
useEffect(() => {
setFilterOptions(refreshQuery());
setPage(1);
}, [
props.serviceIds,
props.traceIds,
props.spanIds,
props.logQuery,
]);
}, [props.serviceIds, props.traceIds, props.spanIds, props.logQuery]);
const select: Select<Log> = React.useMemo(() => {
return {

View file

@ -22,8 +22,7 @@ export interface ComponentProps {
const MetricsTable: FunctionComponent<ComponentProps> = (
props: ComponentProps,
): ReactElement => {
const serviceFilterIds: Array<ObjectID> =
props.serviceIds || [];
const serviceFilterIds: Array<ObjectID> = props.serviceIds || [];
return (
<Fragment>
@ -60,11 +59,9 @@ const MetricsTable: FunctionComponent<ComponentProps> = (
const metricAttributes: Record<string, string> = {};
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<ComponentProps> = (
title: "Services",
type: FieldType.Element,
getElement: (item: MetricType): ReactElement => {
return (
<ServicesElement
services={item.services || []}
/>
);
return <ServicesElement services={item.services || []} />;
},
},
]}

View file

@ -66,9 +66,9 @@ const MonitorStepElement: FunctionComponent<ComponentProps> = (
): ReactElement => {
const [isLoading, setIsLoading] = useState<boolean>(false);
const [error, setError] = useState<string | undefined>(undefined);
const [telemetryServices, setServices] = useState<
Array<Service> | undefined
>(undefined);
const [telemetryServices, setServices] = useState<Array<Service> | undefined>(
undefined,
);
// this field is used for most monitor types
let fields: Array<Field<MonitorStepType>> = [];
@ -91,53 +91,52 @@ const MonitorStepElement: FunctionComponent<ComponentProps> = (
lastXSecondsOfLogs: undefined,
};
const fetchServices: PromiseVoidFunction =
async (): Promise<void> => {
let telemetryServiceIds: Array<ObjectID> = [];
const fetchServices: PromiseVoidFunction = async (): Promise<void> => {
let telemetryServiceIds: Array<ObjectID> = [];
// 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<Service> =
await ModelAPI.getList<Service>({
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<Service> =
await ModelAPI.getList<Service>({
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<void> => {
setIsLoading(true);
@ -384,9 +383,7 @@ const MonitorStepElement: FunctionComponent<ComponentProps> = (
fieldType: FieldType.Element,
placeholder: "No telemetry services entered",
getElement: (): ReactElement => {
return (
<ServicesElement services={telemetryServices} />
);
return <ServicesElement services={telemetryServices} />;
},
});
}
@ -483,9 +480,7 @@ const MonitorStepElement: FunctionComponent<ComponentProps> = (
fieldType: FieldType.Element,
placeholder: "No telemetry services entered",
getElement: (): ReactElement => {
return (
<ServicesElement services={telemetryServices} />
);
return <ServicesElement services={telemetryServices} />;
},
});
}

View file

@ -53,9 +53,7 @@ type GetBarTooltipFunction = (data: BarTooltipFunctionProps) => ReactElement;
const TraceExplorer: FunctionComponent<ComponentProps> = (
props: ComponentProps,
): ReactElement => {
const [telemetryServices, setServices] = React.useState<
Service[]
>([]);
const [telemetryServices, setServices] = React.useState<Service[]>([]);
const [selectedSpans, setSelectedSpans] = React.useState<string[]>([]);
@ -433,10 +431,11 @@ const TraceExplorer: FunctionComponent<ComponentProps> = (
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<ComponentProps> = (
*/
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(),

View file

@ -65,9 +65,7 @@ const TraceTable: FunctionComponent<ComponentProps> = (
props.spanQuery || null,
);
const [telemetryServices, setServices] = React.useState<
Array<Service>
>([]);
const [telemetryServices, setServices] = React.useState<Array<Service>>([]);
const [areAdvancedFiltersVisible, setAreAdvancedFiltersVisible] =
useState<boolean>(false);
@ -143,36 +141,35 @@ const TraceTable: FunctionComponent<ComponentProps> = (
}
}, [props.spanQuery]);
const loadServices: PromiseVoidFunction =
async (): Promise<void> => {
try {
setIsPageLoading(true);
setPageError("");
const loadServices: PromiseVoidFunction = async (): Promise<void> => {
try {
setIsPageLoading(true);
setPageError("");
const telemetryServicesResponse: ListResult<Service> =
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<Service> =
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<void> => {
if (attributesLoading || attributesLoaded) {
@ -438,9 +435,7 @@ const TraceTable: FunctionComponent<ComponentProps> = (
return (
<Fragment>
<ServiceElement
service={telemetryService}
/>
<ServiceElement service={telemetryService} />
</Fragment>
);
},

View file

@ -117,13 +117,7 @@ const Settings: FunctionComponent<ComponentProps> = (
title: "Service",
type: FieldType.Element,
getElement: (item: TelemetryUsageBilling) => {
return (
<ServiceElement
service={
item["service"] as Service
}
/>
);
return <ServiceElement service={item["service"] as Service} />;
},
},
{

View file

@ -20,8 +20,7 @@ const MetricsTablePage: FunctionComponent<
> = (): ReactElement => {
const modelId: ObjectID = Navigation.getLastParamAsObjectID(1);
const [service, setService] =
useState<Service | null>(null);
const [service, setService] = useState<Service | null>(null);
const [isLoading, setIsLoading] = useState<boolean>(false);
const [error, setError] = useState<string>("");
@ -31,33 +30,31 @@ const MetricsTablePage: FunctionComponent<
});
}, []);
const fetchService: PromiseVoidFunction =
async (): Promise<void> => {
try {
setIsLoading(true);
const fetchService: PromiseVoidFunction = async (): Promise<void> => {
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 <ErrorMessage message={error} />;