From ef6abedfe0577b7b6e8ed6267830a7fe0ead9a70 Mon Sep 17 00:00:00 2001 From: carlosmonastyrski Date: Tue, 25 Mar 2025 12:18:13 -0300 Subject: [PATCH] Renamed column to allowedSelfApprovals --- ...self-approvals-to-secret-approval-policies.ts | 16 ++++++++-------- .../src/db/schemas/access-approval-policies.ts | 2 +- .../src/db/schemas/secret-approval-policies.ts | 2 +- .../routes/v1/access-approval-policy-router.ts | 4 ++-- .../routes/v1/access-approval-request-router.ts | 2 +- .../routes/v1/secret-approval-policy-router.ts | 4 ++-- .../routes/v1/secret-approval-request-router.ts | 4 ++-- .../access-approval-policy-service.ts | 8 ++++---- .../access-approval-policy-types.ts | 4 ++-- .../access-approval-request-dal.ts | 8 ++++---- .../access-approval-request-service.ts | 2 +- .../secret-approval-policy-service.ts | 8 ++++---- .../secret-approval-policy-types.ts | 4 ++-- .../secret-approval-request-dal.ts | 12 ++++++------ .../secret-approval-request-service.ts | 2 +- .../src/hooks/api/accessApproval/mutation.tsx | 8 ++++---- frontend/src/hooks/api/accessApproval/types.ts | 8 ++++---- .../src/hooks/api/secretApproval/mutation.tsx | 8 ++++---- frontend/src/hooks/api/secretApproval/types.ts | 6 +++--- .../AccessApprovalRequest.tsx | 2 +- .../components/AccessPolicyModal.tsx | 6 +++--- .../components/SecretApprovalRequestChanges.tsx | 2 +- 22 files changed, 61 insertions(+), 61 deletions(-) diff --git a/backend/src/db/migrations/20250324142102_add-self-approvals-to-secret-approval-policies.ts b/backend/src/db/migrations/20250324142102_add-self-approvals-to-secret-approval-policies.ts index 50df3189e..0bcb708a9 100644 --- a/backend/src/db/migrations/20250324142102_add-self-approvals-to-secret-approval-policies.ts +++ b/backend/src/db/migrations/20250324142102_add-self-approvals-to-secret-approval-policies.ts @@ -3,27 +3,27 @@ import { Knex } from "knex"; import { TableName } from "../schemas/models"; export async function up(knex: Knex): Promise { - if (!(await knex.schema.hasColumn(TableName.SecretApprovalPolicy, "selfApprovals"))) { + if (!(await knex.schema.hasColumn(TableName.SecretApprovalPolicy, "allowedallowedSelfApprovals"))) { await knex.schema.alterTable(TableName.SecretApprovalPolicy, (t) => { - t.boolean("selfApprovals").notNullable().defaultTo(true); + t.boolean("allowedSelfApprovals").notNullable().defaultTo(true); }); } - if (!(await knex.schema.hasColumn(TableName.AccessApprovalPolicy, "selfApprovals"))) { + if (!(await knex.schema.hasColumn(TableName.AccessApprovalPolicy, "allowedSelfApprovals"))) { await knex.schema.alterTable(TableName.AccessApprovalPolicy, (t) => { - t.boolean("selfApprovals").notNullable().defaultTo(true); + t.boolean("allowedSelfApprovals").notNullable().defaultTo(true); }); } } export async function down(knex: Knex): Promise { - if (await knex.schema.hasColumn(TableName.SecretApprovalPolicy, "selfApprovals")) { + if (await knex.schema.hasColumn(TableName.SecretApprovalPolicy, "allowedSelfApprovals")) { await knex.schema.alterTable(TableName.SecretApprovalPolicy, (t) => { - t.dropColumn("selfApprovals"); + t.dropColumn("allowedSelfApprovals"); }); } - if (await knex.schema.hasColumn(TableName.AccessApprovalPolicy, "selfApprovals")) { + if (await knex.schema.hasColumn(TableName.AccessApprovalPolicy, "allowedSelfApprovals")) { await knex.schema.alterTable(TableName.AccessApprovalPolicy, (t) => { - t.dropColumn("selfApprovals"); + t.dropColumn("allowedSelfApprovals"); }); } } diff --git a/backend/src/db/schemas/access-approval-policies.ts b/backend/src/db/schemas/access-approval-policies.ts index 3de860594..19a98675f 100644 --- a/backend/src/db/schemas/access-approval-policies.ts +++ b/backend/src/db/schemas/access-approval-policies.ts @@ -17,7 +17,7 @@ export const AccessApprovalPoliciesSchema = z.object({ updatedAt: z.date(), enforcementLevel: z.string().default("hard"), deletedAt: z.date().nullable().optional(), - selfApprovals: z.boolean().default(true) + allowedSelfApprovals: z.boolean().default(true) }); export type TAccessApprovalPolicies = z.infer; diff --git a/backend/src/db/schemas/secret-approval-policies.ts b/backend/src/db/schemas/secret-approval-policies.ts index 203dbd2e5..8b9174456 100644 --- a/backend/src/db/schemas/secret-approval-policies.ts +++ b/backend/src/db/schemas/secret-approval-policies.ts @@ -17,7 +17,7 @@ export const SecretApprovalPoliciesSchema = z.object({ updatedAt: z.date(), enforcementLevel: z.string().default("hard"), deletedAt: z.date().nullable().optional(), - selfApprovals: z.boolean().default(true) + allowedSelfApprovals: z.boolean().default(true) }); export type TSecretApprovalPolicies = z.infer; diff --git a/backend/src/ee/routes/v1/access-approval-policy-router.ts b/backend/src/ee/routes/v1/access-approval-policy-router.ts index ff9639c15..97a819234 100644 --- a/backend/src/ee/routes/v1/access-approval-policy-router.ts +++ b/backend/src/ee/routes/v1/access-approval-policy-router.ts @@ -30,7 +30,7 @@ export const registerAccessApprovalPolicyRouter = async (server: FastifyZodProvi .min(1, { message: "At least one approver should be provided" }), approvals: z.number().min(1).default(1), enforcementLevel: z.nativeEnum(EnforcementLevel).default(EnforcementLevel.Hard), - selfApprovals: z.boolean().default(true) + allowedSelfApprovals: z.boolean().default(true) }), response: { 200: z.object({ @@ -149,7 +149,7 @@ export const registerAccessApprovalPolicyRouter = async (server: FastifyZodProvi .min(1, { message: "At least one approver should be provided" }), approvals: z.number().min(1).optional(), enforcementLevel: z.nativeEnum(EnforcementLevel).default(EnforcementLevel.Hard), - selfApprovals: z.boolean().default(true) + allowedSelfApprovals: z.boolean().default(true) }), response: { 200: z.object({ diff --git a/backend/src/ee/routes/v1/access-approval-request-router.ts b/backend/src/ee/routes/v1/access-approval-request-router.ts index 97a2f4573..6a6ec3c07 100644 --- a/backend/src/ee/routes/v1/access-approval-request-router.ts +++ b/backend/src/ee/routes/v1/access-approval-request-router.ts @@ -111,7 +111,7 @@ export const registerAccessApprovalRequestRouter = async (server: FastifyZodProv envId: z.string(), enforcementLevel: z.string(), deletedAt: z.date().nullish(), - selfApprovals: z.boolean() + allowedSelfApprovals: z.boolean() }), reviewers: z .object({ diff --git a/backend/src/ee/routes/v1/secret-approval-policy-router.ts b/backend/src/ee/routes/v1/secret-approval-policy-router.ts index 23eda5436..846b60923 100644 --- a/backend/src/ee/routes/v1/secret-approval-policy-router.ts +++ b/backend/src/ee/routes/v1/secret-approval-policy-router.ts @@ -36,7 +36,7 @@ export const registerSecretApprovalPolicyRouter = async (server: FastifyZodProvi .min(1, { message: "At least one approver should be provided" }), approvals: z.number().min(1).default(1), enforcementLevel: z.nativeEnum(EnforcementLevel).default(EnforcementLevel.Hard), - selfApprovals: z.boolean().default(true) + allowedSelfApprovals: z.boolean().default(true) }), response: { 200: z.object({ @@ -87,7 +87,7 @@ export const registerSecretApprovalPolicyRouter = async (server: FastifyZodProvi .transform((val) => (val ? removeTrailingSlash(val) : val)) .transform((val) => (val === "" ? "/" : val)), enforcementLevel: z.nativeEnum(EnforcementLevel).optional(), - selfApprovals: z.boolean().default(true) + allowedSelfApprovals: z.boolean().default(true) }), response: { 200: z.object({ diff --git a/backend/src/ee/routes/v1/secret-approval-request-router.ts b/backend/src/ee/routes/v1/secret-approval-request-router.ts index 06bdf3c10..98cb9244d 100644 --- a/backend/src/ee/routes/v1/secret-approval-request-router.ts +++ b/backend/src/ee/routes/v1/secret-approval-request-router.ts @@ -50,7 +50,7 @@ export const registerSecretApprovalRequestRouter = async (server: FastifyZodProv secretPath: z.string().optional().nullable(), enforcementLevel: z.string(), deletedAt: z.date().nullish(), - selfApprovals: z.boolean() + allowedSelfApprovals: z.boolean() }), committerUser: approvalRequestUser, commits: z.object({ op: z.string(), secretId: z.string().nullable().optional() }).array(), @@ -269,7 +269,7 @@ export const registerSecretApprovalRequestRouter = async (server: FastifyZodProv secretPath: z.string().optional().nullable(), enforcementLevel: z.string(), deletedAt: z.date().nullish(), - selfApprovals: z.boolean() + allowedSelfApprovals: z.boolean() }), environment: z.string(), statusChangedByUser: approvalRequestUser.optional(), diff --git a/backend/src/ee/services/access-approval-policy/access-approval-policy-service.ts b/backend/src/ee/services/access-approval-policy/access-approval-policy-service.ts index 7833dd0b0..6b5014acc 100644 --- a/backend/src/ee/services/access-approval-policy/access-approval-policy-service.ts +++ b/backend/src/ee/services/access-approval-policy/access-approval-policy-service.ts @@ -66,7 +66,7 @@ export const accessApprovalPolicyServiceFactory = ({ projectSlug, environment, enforcementLevel, - selfApprovals + allowedSelfApprovals }: TCreateAccessApprovalPolicy) => { const project = await projectDAL.findProjectBySlug(projectSlug, actorOrgId); if (!project) throw new NotFoundError({ message: `Project with slug '${projectSlug}' not found` }); @@ -155,7 +155,7 @@ export const accessApprovalPolicyServiceFactory = ({ secretPath, name, enforcementLevel, - selfApprovals + allowedSelfApprovals }, tx ); @@ -219,7 +219,7 @@ export const accessApprovalPolicyServiceFactory = ({ actorAuthMethod, approvals, enforcementLevel, - selfApprovals + allowedSelfApprovals }: TUpdateAccessApprovalPolicy) => { const groupApprovers = approvers .filter((approver) => approver.type === ApproverType.Group) @@ -266,7 +266,7 @@ export const accessApprovalPolicyServiceFactory = ({ secretPath, name, enforcementLevel, - selfApprovals + allowedSelfApprovals }, tx ); diff --git a/backend/src/ee/services/access-approval-policy/access-approval-policy-types.ts b/backend/src/ee/services/access-approval-policy/access-approval-policy-types.ts index fd1490cda..dde8ffbea 100644 --- a/backend/src/ee/services/access-approval-policy/access-approval-policy-types.ts +++ b/backend/src/ee/services/access-approval-policy/access-approval-policy-types.ts @@ -26,7 +26,7 @@ export type TCreateAccessApprovalPolicy = { projectSlug: string; name: string; enforcementLevel: EnforcementLevel; - selfApprovals: boolean; + allowedSelfApprovals: boolean; } & Omit; export type TUpdateAccessApprovalPolicy = { @@ -36,7 +36,7 @@ export type TUpdateAccessApprovalPolicy = { secretPath?: string; name?: string; enforcementLevel?: EnforcementLevel; - selfApprovals: boolean; + allowedSelfApprovals: boolean; } & Omit; export type TDeleteAccessApprovalPolicy = { diff --git a/backend/src/ee/services/access-approval-request/access-approval-request-dal.ts b/backend/src/ee/services/access-approval-request/access-approval-request-dal.ts index dff06efdc..e2075af0a 100644 --- a/backend/src/ee/services/access-approval-request/access-approval-request-dal.ts +++ b/backend/src/ee/services/access-approval-request/access-approval-request-dal.ts @@ -61,7 +61,7 @@ export const accessApprovalRequestDALFactory = (db: TDbClient) => { db.ref("approvals").withSchema(TableName.AccessApprovalPolicy).as("policyApprovals"), db.ref("secretPath").withSchema(TableName.AccessApprovalPolicy).as("policySecretPath"), db.ref("enforcementLevel").withSchema(TableName.AccessApprovalPolicy).as("policyEnforcementLevel"), - db.ref("selfApprovals").withSchema(TableName.AccessApprovalPolicy).as("policySelfApprovals"), + db.ref("allowedSelfApprovals").withSchema(TableName.AccessApprovalPolicy).as("policyAllowedSelfApprovals"), db.ref("envId").withSchema(TableName.AccessApprovalPolicy).as("policyEnvId"), db.ref("deletedAt").withSchema(TableName.AccessApprovalPolicy).as("policyDeletedAt") ) @@ -120,7 +120,7 @@ export const accessApprovalRequestDALFactory = (db: TDbClient) => { approvals: doc.policyApprovals, secretPath: doc.policySecretPath, enforcementLevel: doc.policyEnforcementLevel, - selfApprovals: doc.policySelfApprovals, + allowedSelfApprovals: doc.policyAllowedSelfApprovals, envId: doc.policyEnvId, deletedAt: doc.policyDeletedAt }, @@ -256,7 +256,7 @@ export const accessApprovalRequestDALFactory = (db: TDbClient) => { tx.ref("slug").withSchema(TableName.Environment).as("environment"), tx.ref("secretPath").withSchema(TableName.AccessApprovalPolicy).as("policySecretPath"), tx.ref("enforcementLevel").withSchema(TableName.AccessApprovalPolicy).as("policyEnforcementLevel"), - tx.ref("selfApprovals").withSchema(TableName.AccessApprovalPolicy).as("policySelfApprovals"), + tx.ref("allowedSelfApprovals").withSchema(TableName.AccessApprovalPolicy).as("policyAllowedSelfApprovals"), tx.ref("approvals").withSchema(TableName.AccessApprovalPolicy).as("policyApprovals"), tx.ref("deletedAt").withSchema(TableName.AccessApprovalPolicy).as("policyDeletedAt") ); @@ -278,7 +278,7 @@ export const accessApprovalRequestDALFactory = (db: TDbClient) => { approvals: el.policyApprovals, secretPath: el.policySecretPath, enforcementLevel: el.policyEnforcementLevel, - selfApprovals: el.policySelfApprovals, + allowedSelfApprovals: el.policyAllowedSelfApprovals, deletedAt: el.policyDeletedAt }, requestedByUser: { diff --git a/backend/src/ee/services/access-approval-request/access-approval-request-service.ts b/backend/src/ee/services/access-approval-request/access-approval-request-service.ts index 052a485b8..50670cb49 100644 --- a/backend/src/ee/services/access-approval-request/access-approval-request-service.ts +++ b/backend/src/ee/services/access-approval-request/access-approval-request-service.ts @@ -320,7 +320,7 @@ export const accessApprovalRequestServiceFactory = ({ message: "The policy associated with this access request has been deleted." }); } - if (!policy.selfApprovals && actorId === accessApprovalRequest.requestedByUserId) { + if (!policy.allowedSelfApprovals && actorId === accessApprovalRequest.requestedByUserId) { throw new BadRequestError({ message: "Failed to review access approval request. Users are not authorized to review their own request." }); diff --git a/backend/src/ee/services/secret-approval-policy/secret-approval-policy-service.ts b/backend/src/ee/services/secret-approval-policy/secret-approval-policy-service.ts index d8bb2828b..4c212e6cd 100644 --- a/backend/src/ee/services/secret-approval-policy/secret-approval-policy-service.ts +++ b/backend/src/ee/services/secret-approval-policy/secret-approval-policy-service.ts @@ -63,7 +63,7 @@ export const secretApprovalPolicyServiceFactory = ({ secretPath, environment, enforcementLevel, - selfApprovals + allowedSelfApprovals }: TCreateSapDTO) => { const groupApprovers = approvers ?.filter((approver) => approver.type === ApproverType.Group) @@ -115,7 +115,7 @@ export const secretApprovalPolicyServiceFactory = ({ secretPath, name, enforcementLevel, - selfApprovals + allowedSelfApprovals }, tx ); @@ -175,7 +175,7 @@ export const secretApprovalPolicyServiceFactory = ({ approvals, secretPolicyId, enforcementLevel, - selfApprovals + allowedSelfApprovals }: TUpdateSapDTO) => { const groupApprovers = approvers ?.filter((approver) => approver.type === ApproverType.Group) @@ -222,7 +222,7 @@ export const secretApprovalPolicyServiceFactory = ({ secretPath, name, enforcementLevel, - selfApprovals + allowedSelfApprovals }, tx ); diff --git a/backend/src/ee/services/secret-approval-policy/secret-approval-policy-types.ts b/backend/src/ee/services/secret-approval-policy/secret-approval-policy-types.ts index b6ac5b91d..a6fea6956 100644 --- a/backend/src/ee/services/secret-approval-policy/secret-approval-policy-types.ts +++ b/backend/src/ee/services/secret-approval-policy/secret-approval-policy-types.ts @@ -10,7 +10,7 @@ export type TCreateSapDTO = { projectId: string; name: string; enforcementLevel: EnforcementLevel; - selfApprovals: boolean; + allowedSelfApprovals: boolean; } & Omit; export type TUpdateSapDTO = { @@ -20,7 +20,7 @@ export type TUpdateSapDTO = { approvers: ({ type: ApproverType.Group; id: string } | { type: ApproverType.User; id?: string; name?: string })[]; name?: string; enforcementLevel?: EnforcementLevel; - selfApprovals?: boolean; + allowedSelfApprovals?: boolean; } & Omit; export type TDeleteSapDTO = { diff --git a/backend/src/ee/services/secret-approval-request/secret-approval-request-dal.ts b/backend/src/ee/services/secret-approval-request/secret-approval-request-dal.ts index 8b984d0a2..be4a7ab3b 100644 --- a/backend/src/ee/services/secret-approval-request/secret-approval-request-dal.ts +++ b/backend/src/ee/services/secret-approval-request/secret-approval-request-dal.ts @@ -112,7 +112,7 @@ export const secretApprovalRequestDALFactory = (db: TDbClient) => { tx.ref("secretPath").withSchema(TableName.SecretApprovalPolicy).as("policySecretPath"), tx.ref("envId").withSchema(TableName.SecretApprovalPolicy).as("policyEnvId"), tx.ref("enforcementLevel").withSchema(TableName.SecretApprovalPolicy).as("policyEnforcementLevel"), - tx.ref("selfApprovals").withSchema(TableName.SecretApprovalPolicy).as("policySelfApprovals"), + tx.ref("allowedSelfApprovals").withSchema(TableName.SecretApprovalPolicy).as("policyAllowedSelfApprovals"), tx.ref("approvals").withSchema(TableName.SecretApprovalPolicy).as("policyApprovals"), tx.ref("deletedAt").withSchema(TableName.SecretApprovalPolicy).as("policyDeletedAt") ); @@ -152,7 +152,7 @@ export const secretApprovalRequestDALFactory = (db: TDbClient) => { enforcementLevel: el.policyEnforcementLevel, envId: el.policyEnvId, deletedAt: el.policyDeletedAt, - selfApprovals: el.policySelfApprovals + allowedSelfApprovals: el.policyAllowedSelfApprovals } }), childrenMapper: [ @@ -338,7 +338,7 @@ export const secretApprovalRequestDALFactory = (db: TDbClient) => { ), db.ref("secretPath").withSchema(TableName.SecretApprovalPolicy).as("policySecretPath"), db.ref("enforcementLevel").withSchema(TableName.SecretApprovalPolicy).as("policyEnforcementLevel"), - db.ref("selfApprovals").withSchema(TableName.SecretApprovalPolicy).as("policySelfApprovals"), + db.ref("allowedSelfApprovals").withSchema(TableName.SecretApprovalPolicy).as("policyAllowedSelfApprovals"), db.ref("approvals").withSchema(TableName.SecretApprovalPolicy).as("policyApprovals"), db.ref("approverUserId").withSchema(TableName.SecretApprovalPolicyApprover), db.ref("userId").withSchema(TableName.UserGroupMembership).as("approverGroupUserId"), @@ -368,7 +368,7 @@ export const secretApprovalRequestDALFactory = (db: TDbClient) => { approvals: el.policyApprovals, secretPath: el.policySecretPath, enforcementLevel: el.policyEnforcementLevel, - selfApprovals: el.policySelfApprovals + allowedSelfApprovals: el.policyAllowedSelfApprovals }, committerUser: { userId: el.committerUserId, @@ -486,7 +486,7 @@ export const secretApprovalRequestDALFactory = (db: TDbClient) => { `DENSE_RANK() OVER (partition by ${TableName.Environment}."projectId" ORDER BY ${TableName.SecretApprovalRequest}."id" DESC) as rank` ), db.ref("secretPath").withSchema(TableName.SecretApprovalPolicy).as("policySecretPath"), - db.ref("selfApprovals").withSchema(TableName.SecretApprovalPolicy).as("policySelfApprovals"), + db.ref("allowedSelfApprovals").withSchema(TableName.SecretApprovalPolicy).as("policyAllowedSelfApprovals"), db.ref("approvals").withSchema(TableName.SecretApprovalPolicy).as("policyApprovals"), db.ref("enforcementLevel").withSchema(TableName.SecretApprovalPolicy).as("policyEnforcementLevel"), db.ref("approverUserId").withSchema(TableName.SecretApprovalPolicyApprover), @@ -517,7 +517,7 @@ export const secretApprovalRequestDALFactory = (db: TDbClient) => { approvals: el.policyApprovals, secretPath: el.policySecretPath, enforcementLevel: el.policyEnforcementLevel, - selfApprovals: el.policySelfApprovals + allowedSelfApprovals: el.policyAllowedSelfApprovals }, committerUser: { userId: el.committerUserId, diff --git a/backend/src/ee/services/secret-approval-request/secret-approval-request-service.ts b/backend/src/ee/services/secret-approval-request/secret-approval-request-service.ts index 5ec255137..879065ef5 100644 --- a/backend/src/ee/services/secret-approval-request/secret-approval-request-service.ts +++ b/backend/src/ee/services/secret-approval-request/secret-approval-request-service.ts @@ -352,7 +352,7 @@ export const secretApprovalRequestServiceFactory = ({ message: "The policy associated with this secret approval request has been deleted." }); } - if (!policy.selfApprovals && actorId === secretApprovalRequest.committerUserId) { + if (!policy.allowedSelfApprovals && actorId === secretApprovalRequest.committerUserId) { throw new BadRequestError({ message: "Failed to review secret approval request. Users are not authorized to review their own request." }); diff --git a/frontend/src/hooks/api/accessApproval/mutation.tsx b/frontend/src/hooks/api/accessApproval/mutation.tsx index bc73795e5..9fda2377a 100644 --- a/frontend/src/hooks/api/accessApproval/mutation.tsx +++ b/frontend/src/hooks/api/accessApproval/mutation.tsx @@ -24,7 +24,7 @@ export const useCreateAccessApprovalPolicy = () => { name, secretPath, enforcementLevel, - selfApprovals + allowedSelfApprovals }) => { const { data } = await apiRequest.post("/api/v1/access-approvals/policies", { environment, @@ -34,7 +34,7 @@ export const useCreateAccessApprovalPolicy = () => { secretPath, name, enforcementLevel, - selfApprovals + allowedSelfApprovals }); return data; }, @@ -57,7 +57,7 @@ export const useUpdateAccessApprovalPolicy = () => { name, secretPath, enforcementLevel, - selfApprovals + allowedSelfApprovals }) => { const { data } = await apiRequest.patch(`/api/v1/access-approvals/policies/${id}`, { approvals, @@ -65,7 +65,7 @@ export const useUpdateAccessApprovalPolicy = () => { secretPath, name, enforcementLevel, - selfApprovals + allowedSelfApprovals }); return data; }, diff --git a/frontend/src/hooks/api/accessApproval/types.ts b/frontend/src/hooks/api/accessApproval/types.ts index f9bff7813..40da0207a 100644 --- a/frontend/src/hooks/api/accessApproval/types.ts +++ b/frontend/src/hooks/api/accessApproval/types.ts @@ -16,7 +16,7 @@ export type TAccessApprovalPolicy = { enforcementLevel: EnforcementLevel; updatedAt: Date; approvers?: Approver[]; - selfApprovals: boolean; + allowedSelfApprovals: boolean; }; export enum ApproverType { @@ -72,7 +72,7 @@ export type TAccessApprovalRequest = { envId: string; enforcementLevel: EnforcementLevel; deletedAt: Date | null; - selfApprovals: boolean; + allowedSelfApprovals: boolean; }; reviewers: { @@ -146,7 +146,7 @@ export type TCreateAccessPolicyDTO = { approvals?: number; secretPath?: string; enforcementLevel?: EnforcementLevel; - selfApprovals: boolean; + allowedSelfApprovals: boolean; }; export type TUpdateAccessPolicyDTO = { @@ -157,7 +157,7 @@ export type TUpdateAccessPolicyDTO = { environment?: string; approvals?: number; enforcementLevel?: EnforcementLevel; - selfApprovals: boolean; + allowedSelfApprovals: boolean; // for invalidating list projectSlug: string; }; diff --git a/frontend/src/hooks/api/secretApproval/mutation.tsx b/frontend/src/hooks/api/secretApproval/mutation.tsx index b13191b7b..f9aca5bee 100644 --- a/frontend/src/hooks/api/secretApproval/mutation.tsx +++ b/frontend/src/hooks/api/secretApproval/mutation.tsx @@ -17,7 +17,7 @@ export const useCreateSecretApprovalPolicy = () => { secretPath, name, enforcementLevel, - selfApprovals + allowedSelfApprovals }) => { const { data } = await apiRequest.post("/api/v1/secret-approvals", { environment, @@ -27,7 +27,7 @@ export const useCreateSecretApprovalPolicy = () => { secretPath, name, enforcementLevel, - selfApprovals + allowedSelfApprovals }); return data; }, @@ -50,7 +50,7 @@ export const useUpdateSecretApprovalPolicy = () => { secretPath, name, enforcementLevel, - selfApprovals + allowedSelfApprovals }) => { const { data } = await apiRequest.patch(`/api/v1/secret-approvals/${id}`, { approvals, @@ -58,7 +58,7 @@ export const useUpdateSecretApprovalPolicy = () => { secretPath, name, enforcementLevel, - selfApprovals + allowedSelfApprovals }); return data; }, diff --git a/frontend/src/hooks/api/secretApproval/types.ts b/frontend/src/hooks/api/secretApproval/types.ts index 9256157b2..0a4b0d495 100644 --- a/frontend/src/hooks/api/secretApproval/types.ts +++ b/frontend/src/hooks/api/secretApproval/types.ts @@ -12,7 +12,7 @@ export type TSecretApprovalPolicy = { approvers: Approver[]; updatedAt: Date; enforcementLevel: EnforcementLevel; - selfApprovals: boolean; + allowedSelfApprovals: boolean; }; export enum ApproverType { @@ -43,7 +43,7 @@ export type TCreateSecretPolicyDTO = { approvers?: Approver[]; approvals?: number; enforcementLevel: EnforcementLevel; - selfApprovals: boolean; + allowedSelfApprovals: boolean; }; export type TUpdateSecretPolicyDTO = { @@ -52,7 +52,7 @@ export type TUpdateSecretPolicyDTO = { approvers?: Approver[]; secretPath?: string | null; approvals?: number; - selfApprovals?: boolean; + allowedSelfApprovals?: boolean; enforcementLevel?: EnforcementLevel; // for invalidating list workspaceId: string; diff --git a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/AccessApprovalRequest/AccessApprovalRequest.tsx b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/AccessApprovalRequest/AccessApprovalRequest.tsx index a1df153ff..b857e3038 100644 --- a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/AccessApprovalRequest/AccessApprovalRequest.tsx +++ b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/AccessApprovalRequest/AccessApprovalRequest.tsx @@ -152,7 +152,7 @@ export const AccessApprovalRequest = ({ const isAccepted = request.isApproved; const isSoftEnforcement = request.policy.enforcementLevel === EnforcementLevel.Soft; const isRequestedByCurrentUser = request.requestedByUserId === user.id; - const isSelfApproveAllowed = request.policy.selfApprovals; + const isSelfApproveAllowed = request.policy.allowedSelfApprovals; const userReviewStatus = request.reviewers.find(({ member }) => member === user.id)?.status; let displayData: { label: string; type: "primary" | "danger" | "success" } = { diff --git a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/components/AccessPolicyModal.tsx b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/components/AccessPolicyModal.tsx index 44e01cb2b..269d77543 100644 --- a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/components/AccessPolicyModal.tsx +++ b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/components/AccessPolicyModal.tsx @@ -56,7 +56,7 @@ const formSchema = z .default([]), policyType: z.nativeEnum(PolicyType), enforcementLevel: z.nativeEnum(EnforcementLevel), - selfApprovals: z.boolean().default(true) + allowedSelfApprovals: z.boolean().default(true) }) .superRefine((data, ctx) => { if (!(data.groupApprovers.length || data.userApprovers.length)) { @@ -104,7 +104,7 @@ export const AccessPolicyForm = ({ ?.filter((approver) => approver.type === ApproverType.Group) .map(({ id, type }) => ({ id, type: type as ApproverType.Group })) || [], approvals: editValues?.approvals, - selfApprovals: editValues?.selfApprovals + allowedSelfApprovals: editValues?.allowedSelfApprovals } : undefined }); @@ -446,7 +446,7 @@ export const AccessPolicyForm = ({ /> (