File

src/session/dto/update-session-config.dto.ts

Description

DTO for updating session storage configuration.

Index

Properties

Properties

Optional cleanupMode
Type : SessionCleanupMode
Decorators :
@ApiPropertyOptional({description: 'Cleanup mode: 'full' deletes everything, 'anonymize' keeps metadata but removes PII.', enum: SessionCleanupMode, default: undefined})
@IsOptional()
@IsEnum(SessionCleanupMode)

Cleanup mode when sessions expire.

  • 'full': Delete the entire session record (default)
  • 'anonymize': Keep session metadata but remove personal data
Optional ttlSeconds
Type : number | null
Decorators :
@ApiPropertyOptional({description: 'Time-to-live for sessions in seconds. Set to null to use global default.', example: 86400, minimum: 60})
@IsOptional()
@IsInt()
@Min(60)

Time-to-live for sessions in seconds. After this period, sessions are eligible for cleanup. If not set or null, uses the global SESSION_TTL environment variable.

import { ApiPropertyOptional } from "@nestjs/swagger";
import { IsEnum, IsInt, IsOptional, Min } from "class-validator";
import { SessionCleanupMode } from "../../auth/tenant/entitites/session-storage-config";

/**
 * DTO for updating session storage configuration.
 */
export class UpdateSessionConfigDto {
    /**
     * Time-to-live for sessions in seconds.
     * After this period, sessions are eligible for cleanup.
     * If not set or null, uses the global SESSION_TTL environment variable.
     */
    @ApiPropertyOptional({
        description:
            "Time-to-live for sessions in seconds. Set to null to use global default.",
        example: 86400,
        minimum: 60,
    })
    @IsOptional()
    @IsInt()
    @Min(60)
    ttlSeconds?: number | null;

    /**
     * Cleanup mode when sessions expire.
     * - 'full': Delete the entire session record (default)
     * - 'anonymize': Keep session metadata but remove personal data
     */
    @ApiPropertyOptional({
        description:
            "Cleanup mode: 'full' deletes everything, 'anonymize' keeps metadata but removes PII.",
        enum: SessionCleanupMode,
        default: SessionCleanupMode.Full,
    })
    @IsOptional()
    @IsEnum(SessionCleanupMode)
    cleanupMode?: SessionCleanupMode;
}

results matching ""

    No results matching ""