misc: removed kms from service

This commit is contained in:
Sheen Capadngan
2024-07-30 23:03:55 +05:30
committed by =
parent 64869ea8e0
commit 4009580cf2
5 changed files with 45 additions and 6 deletions
@@ -39,6 +39,7 @@ import {
TCreateProjectDTO,
TDeleteProjectDTO,
TGetProjectDTO,
TGetProjectKmsKey,
TListProjectCasDTO,
TListProjectCertsDTO,
TLoadProjectKmsBackupDTO,
@@ -81,7 +82,11 @@ type TProjectServiceFactoryDep = {
keyStore: Pick<TKeyStoreFactory, "deleteItem">;
kmsService: Pick<
TKmsServiceFactory,
"updateProjectSecretManagerKmsKey" | "getProjectKeyBackup" | "loadProjectKeyBackup" | "getKmsById"
| "updateProjectSecretManagerKmsKey"
| "getProjectKeyBackup"
| "loadProjectKeyBackup"
| "getKmsById"
| "getProjectSecretManagerKmsKeyId"
>;
};
@@ -767,6 +772,33 @@ export const projectServiceFactory = ({
return kmsBackup;
};
const getProjectSecretManagerKmsKey = async ({
projectId,
actor,
actorId,
actorAuthMethod,
actorOrgId
}: TGetProjectKmsKey) => {
const { membership } = await permissionService.getProjectPermission(
actor,
actorId,
projectId,
actorAuthMethod,
actorOrgId
);
if (!membership) {
throw new ForbiddenRequestError({
message: "User is not a member of the project"
});
}
const kmsKeyId = await kmsService.getProjectSecretManagerKmsKeyId(projectId);
const kmsKey = await kmsService.getKmsById(kmsKeyId);
return kmsKey;
};
return {
createProject,
deleteProject,
@@ -783,6 +815,7 @@ export const projectServiceFactory = ({
updateAuditLogsRetention,
updateProjectKmsKey,
getProjectKmsBackup,
loadProjectKmsBackup
loadProjectKmsBackup,
getProjectSecretManagerKmsKey
};
};
@@ -112,3 +112,5 @@ export type TUpdateProjectKmsDTO = {
export type TLoadProjectKmsBackupDTO = {
backup: string;
} & TProjectPermission;
export type TGetProjectKmsKey = TProjectPermission;