From 5639306303d358ab436eb03d99b79399cb4e36e4 Mon Sep 17 00:00:00 2001 From: Tuan Dang <dangtony98@gmail.com> Date: Thu, 4 Apr 2024 13:17:46 -0700 Subject: [PATCH] Remove plan cache upon create/delete project --- backend/src/server/routes/index.ts | 3 ++- backend/src/services/project/project-service.ts | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/backend/src/server/routes/index.ts b/backend/src/server/routes/index.ts index 1bfa1a8d3..a8e0e74a5 100644 --- a/backend/src/server/routes/index.ts +++ b/backend/src/server/routes/index.ts @@ -398,7 +398,8 @@ export const registerRoutes = async ( folderDAL, licenseService, projectUserMembershipRoleDAL, - identityProjectMembershipRoleDAL + identityProjectMembershipRoleDAL, + keyStore }); const projectEnvService = projectEnvServiceFactory({ diff --git a/backend/src/services/project/project-service.ts b/backend/src/services/project/project-service.ts index 2970d31bd..9e8d70020 100644 --- a/backend/src/services/project/project-service.ts +++ b/backend/src/services/project/project-service.ts @@ -6,6 +6,7 @@ import { TLicenseServiceFactory } from "@app/ee/services/license/license-service import { OrgPermissionActions, OrgPermissionSubjects } from "@app/ee/services/permission/org-permission"; import { TPermissionServiceFactory } from "@app/ee/services/permission/permission-service"; import { ProjectPermissionActions, ProjectPermissionSub } from "@app/ee/services/permission/project-permission"; +import { TKeyStoreFactory } from "@app/keystore/keystore"; import { isAtLeastAsPrivileged } from "@app/lib/casl"; import { getConfig } from "@app/lib/config/env"; import { createSecretBlindIndex } from "@app/lib/crypto"; @@ -65,6 +66,7 @@ type TProjectServiceFactoryDep = { orgService: Pick<TOrgServiceFactory, "addGhostUser">; licenseService: Pick<TLicenseServiceFactory, "getPlan">; orgDAL: Pick<TOrgDALFactory, "findOne">; + keyStore: Pick<TKeyStoreFactory, "deleteItem">; }; export type TProjectServiceFactory = ReturnType<typeof projectServiceFactory>; @@ -86,7 +88,8 @@ export const projectServiceFactory = ({ projectEnvDAL, licenseService, projectUserMembershipRoleDAL, - identityProjectMembershipRoleDAL + identityProjectMembershipRoleDAL, + keyStore }: TProjectServiceFactoryDep) => { /* * Create workspace. Make user the admin @@ -323,6 +326,7 @@ export const projectServiceFactory = ({ }; }); + await keyStore.deleteItem(`infisical-cloud-plan-${actorOrgId}`); return results; }; @@ -350,6 +354,7 @@ export const projectServiceFactory = ({ return delProject; }); + await keyStore.deleteItem(`infisical-cloud-plan-${actorOrgId}`); return deletedProject; };