From 60556615150f083c57351d3e88edd3e3be83ddb2 Mon Sep 17 00:00:00 2001 From: Maidul Islam Date: Wed, 29 May 2024 00:54:29 -0400 Subject: [PATCH] add secret version secrets index --- ..._snap-shot-secret-index-secretversionid.ts | 21 +++++++++++++++ .../src/server/routes/v1/project-router.ts | 26 +++++++++---------- 2 files changed, 33 insertions(+), 14 deletions(-) create mode 100644 backend/src/db/migrations/20240529043051_snap-shot-secret-index-secretversionid.ts diff --git a/backend/src/db/migrations/20240529043051_snap-shot-secret-index-secretversionid.ts b/backend/src/db/migrations/20240529043051_snap-shot-secret-index-secretversionid.ts new file mode 100644 index 0000000000..8d4322b5af --- /dev/null +++ b/backend/src/db/migrations/20240529043051_snap-shot-secret-index-secretversionid.ts @@ -0,0 +1,21 @@ +import { Knex } from "knex"; + +import { TableName } from "../schemas"; + +export async function up(knex: Knex): Promise { + const doesSecretVersionIdExist = await knex.schema.hasColumn(TableName.SnapshotSecret, "secretVersionId"); + if (await knex.schema.hasTable(TableName.SnapshotSecret)) { + await knex.schema.alterTable(TableName.SnapshotSecret, (t) => { + if (doesSecretVersionIdExist) t.index("secretVersionId"); + }); + } +} + +export async function down(knex: Knex): Promise { + const doesSecretVersionIdExist = await knex.schema.hasColumn(TableName.SnapshotSecret, "secretVersionId"); + if (await knex.schema.hasTable(TableName.SnapshotSecret)) { + await knex.schema.alterTable(TableName.SnapshotSecret, (t) => { + if (doesSecretVersionIdExist) t.dropIndex("secretVersionId"); + }); + } +} diff --git a/backend/src/server/routes/v1/project-router.ts b/backend/src/server/routes/v1/project-router.ts index 8241644522..1cf655a973 100644 --- a/backend/src/server/routes/v1/project-router.ts +++ b/backend/src/server/routes/v1/project-router.ts @@ -8,7 +8,6 @@ import { UsersSchema } from "@app/db/schemas"; import { PROJECTS } from "@app/lib/api-docs"; -import { BadRequestError } from "@app/lib/errors"; import { readLimit, writeLimit } from "@app/server/config/rateLimiter"; import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; import { AuthMode } from "@app/services/auth/auth-type"; @@ -193,19 +192,18 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { } }, onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), - handler: async () => { - // const workspace = await server.services.project.deleteProject({ - // filter: { - // type: ProjectFilterType.ID, - // projectId: req.params.workspaceId - // }, - // actorId: req.permission.id, - // actorAuthMethod: req.permission.authMethod, - // actor: req.permission.type, - // actorOrgId: req.permission.orgId - // }); - // return { workspace }; - throw new BadRequestError({ message: "Project delete has been paused temporarily, please try again later" }); + handler: async (req) => { + const workspace = await server.services.project.deleteProject({ + filter: { + type: ProjectFilterType.ID, + projectId: req.params.workspaceId + }, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type, + actorOrgId: req.permission.orgId + }); + return { workspace }; } });