src/crypto/key/dto/key-chain-update.dto.ts
DTO for updating rotation policy.
createZodDto(
RotationPolicyUpdateSchema,
)
No results matching.
Properties |
|
| Optional certValidityDays |
Type : number
|
Decorators :
@ApiPropertyOptional({description: 'Certificate validity in days.', minimum: 1, maximum: 3650})
|
| Optional enabled |
Type : boolean
|
Decorators :
@ApiPropertyOptional({description: 'Whether automatic key rotation is enabled.'})
|
| Optional intervalDays |
Type : number
|
Decorators :
@ApiPropertyOptional({description: 'Rotation interval in days.', minimum: 1, maximum: 3650})
|
import { ApiPropertyOptional } from "@nestjs/swagger";
import { createZodDto } from "nestjs-zod";
import {
KeyChainUpdateSchema,
RotationPolicyUpdateSchema,
} from "../schemas/key-chain.schema";
/**
* DTO for updating rotation policy.
*/
export class RotationPolicyUpdateDto extends createZodDto(
RotationPolicyUpdateSchema,
) {
@ApiPropertyOptional({
description: "Whether automatic key rotation is enabled.",
})
enabled?: boolean;
@ApiPropertyOptional({
description: "Rotation interval in days.",
minimum: 1,
maximum: 3650,
})
intervalDays?: number;
@ApiPropertyOptional({
description: "Certificate validity in days.",
minimum: 1,
maximum: 3650,
})
certValidityDays?: number;
}
/**
* DTO for updating a key chain.
*
* Only metadata and rotation policy can be updated.
* Key material and certificates are managed internally.
*/
export class KeyChainUpdateDto extends createZodDto(KeyChainUpdateSchema) {
@ApiPropertyOptional({
description: "Human-readable description for the key chain.",
})
description?: string;
@ApiPropertyOptional({
description: "Rotation policy configuration.",
type: RotationPolicyUpdateDto,
})
rotationPolicy?: RotationPolicyUpdateDto;
@ApiPropertyOptional({
description:
"Active certificate chain in PEM format. Used for external certificate updates.",
})
activeCertificate?: string;
}