feat: update PAM account types and endpoint handling for optional rotation settings

- Made the rotationEnabled field optional in the account schema to enhance flexibility.
- Updated endpoint logic to default rotationEnabled to false if not provided in the request.
- Adjusted account DTOs to reflect the optional nature of rotationEnabled, improving type safety.
This commit is contained in:
Victor Santos
2025-12-05 01:44:33 -03:00
parent a755b5bfa0
commit b2e4c1e6bf
3 changed files with 15 additions and 13 deletions
@@ -22,7 +22,7 @@ export const registerPamResourceEndpoints = <C extends TPamAccount>({
folderId?: C["folderId"]; folderId?: C["folderId"];
name: C["name"]; name: C["name"];
description?: C["description"]; description?: C["description"];
rotationEnabled: C["rotationEnabled"]; rotationEnabled?: C["rotationEnabled"];
rotationIntervalSeconds?: C["rotationIntervalSeconds"]; rotationIntervalSeconds?: C["rotationIntervalSeconds"];
}>; }>;
updateAccountSchema: z.ZodType<{ updateAccountSchema: z.ZodType<{
@@ -65,7 +65,7 @@ export const registerPamResourceEndpoints = <C extends TPamAccount>({
folderId: req.body.folderId, folderId: req.body.folderId,
name: req.body.name, name: req.body.name,
description: req.body.description, description: req.body.description,
rotationEnabled: req.body.rotationEnabled, rotationEnabled: req.body.rotationEnabled ?? false,
rotationIntervalSeconds: req.body.rotationIntervalSeconds rotationIntervalSeconds: req.body.rotationIntervalSeconds
} }
} }
@@ -6,8 +6,10 @@ import { PamAccountOrderBy, PamAccountView } from "./pam-account-enums";
// DTOs // DTOs
export type TCreateAccountDTO = Pick< export type TCreateAccountDTO = Pick<
TPamAccount, TPamAccount,
"name" | "description" | "credentials" | "folderId" | "resourceId" | "rotationEnabled" | "rotationIntervalSeconds" "name" | "description" | "credentials" | "folderId" | "resourceId" | "rotationIntervalSeconds"
>; > & {
rotationEnabled?: boolean;
};
export type TUpdateAccountDTO = Partial<Omit<TCreateAccountDTO, "folderId" | "resourceId">> & { export type TUpdateAccountDTO = Partial<Omit<TCreateAccountDTO, "folderId" | "resourceId">> & {
accountId: string; accountId: string;