improvement: add name constraint error feedback to update cmek

This commit is contained in:
Scott Wilson
2025-02-05 17:36:52 -08:00
parent 598dea0dd3
commit b7d4bb0ce2

View File

@@ -86,13 +86,23 @@ export const cmekServiceFactory = ({ kmsService, kmsDAL, permissionService, proj
ForbiddenError.from(permission).throwUnlessCan(ProjectPermissionCmekActions.Edit, ProjectPermissionSub.Cmek);
const cmek = await kmsDAL.updateById(keyId, data);
try {
const cmek = await kmsDAL.updateById(keyId, data);
return {
...cmek,
version: key.version,
encryptionAlgorithm: key.encryptionAlgorithm
};
return {
...cmek,
version: key.version,
encryptionAlgorithm: key.encryptionAlgorithm
};
} catch (err) {
if (err instanceof DatabaseError && (err.error as { code: string })?.code === DatabaseErrorCode.UniqueViolation) {
throw new BadRequestError({
message: `A KMS key with the name "${data.name!}" already exists for the project with ID "${key.projectId}"`
});
}
throw err;
}
};
const deleteCmekById = async (keyId: string, actor: OrgServiceActor) => {