import type { Appearance, DateRange, ViewMode } from '@ghostfolio/common/types'; import { IsBoolean, IsIn, IsNumber, IsOptional, IsString } from 'class-validator'; export class UpdateUserSettingDto { @IsIn(['DARK', 'LIGHT']) @IsOptional() appearance?: Appearance; @IsOptional() @IsString() baseCurrency?: string; @IsString() @IsOptional() benchmark?: string; @IsIn(['1d', '1y', '5y', 'max', 'ytd']) @IsOptional() dateRange?: DateRange; @IsNumber() @IsOptional() emergencyFund?: number; @IsBoolean() @IsOptional() isExperimentalFeatures?: boolean; @IsBoolean() @IsOptional() isRestrictedView?: boolean; @IsString() @IsOptional() language?: string; @IsString() @IsOptional() locale?: string; @IsNumber() @IsOptional() savingsRate?: number; @IsIn(['DEFAULT', 'ZEN']) @IsOptional() viewMode?: ViewMode; }