src/session/dto/update-session-config.dto.ts
DTO for updating session storage configuration.
Properties |
|
| Optional cleanupMode |
Type : SessionCleanupMode
|
Decorators :
@ApiPropertyOptional({description: 'Cleanup mode: 'full' deletes everything, 'anonymize' keeps metadata but removes PII.', enum: SessionCleanupMode, default: undefined})
|
|
Cleanup mode when sessions expire.
|
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;
}