106 lines
1.4 KiB
TypeScript
106 lines
1.4 KiB
TypeScript
import {
|
|||
|
|
IsNumber,
|
||
|
|
IsOptional,
|
||
|
|
IsString,
|
||
|
|
MaxLength,
|
||
|
|
Min,
|
||
|
|
MinLength,
|
||
|
|
} from 'class-validator';
|
||
|
|
import { Type } from 'class-transformer';
|
||
|
|
|
||
|
|
export class CreateSalesGoalDto {
|
||
|
|
@IsString()
|
||
|
|
@MinLength(2)
|
||
|
|
@MaxLength(200)
|
||
|
|
title!: string;
|
||
|
|
|
||
|
|
@IsString()
|
||
|
|
periodStart!: string;
|
||
|
|
|
||
|
|
@IsString()
|
||
|
|
periodEnd!: string;
|
||
|
|
|
||
|
|
@Type(() => Number)
|
||
|
|
@IsNumber()
|
||
|
|
@Min(0)
|
||
|
|
targetAmount!: number;
|
||
|
|
|
||
|
|
@IsOptional()
|
||
|
|
@IsString()
|
||
|
|
@MaxLength(8)
|
||
|
|
currency?: string;
|
||
|
|
|
||
|
|
@IsOptional()
|
||
|
|
@IsString()
|
||
|
|
@MaxLength(2000)
|
||
|
|
notes?: string;
|
||
|
|
|
||
|
|
@IsOptional()
|
||
|
|
@IsString()
|
||
|
|
userId?: string | null;
|
||
|
|
}
|
||
|
|
|
||
|
|
export class UpdateSalesGoalDto {
|
||
|
|
@IsOptional()
|
||
|
|
@IsString()
|
||
|
|
@MinLength(2)
|
||
|
|
@MaxLength(200)
|
||
|
|
title?: string;
|
||
|
|
|
||
|
|
@IsOptional()
|
||
|
|
@IsString()
|
||
|
|
periodStart?: string;
|
||
|
|
|
||
|
|
@IsOptional()
|
||
|
|
@IsString()
|
||
|
|
periodEnd?: string;
|
||
|
|
|
||
|
|
@IsOptional()
|
||
|
|
@Type(() => Number)
|
||
|
|
@IsNumber()
|
||
|
|
@Min(0)
|
||
|
|
targetAmount?: number;
|
||
|
|
|
||
|
|
@IsOptional()
|
||
|
|
@IsString()
|
||
|
|
@MaxLength(8)
|
||
|
|
currency?: string;
|
||
|
|
|
||
|
|
@IsOptional()
|
||
|
|
@IsString()
|
||
|
|
@MaxLength(2000)
|
||
|
|
notes?: string | null;
|
||
|
|
|
||
|
|
@IsOptional()
|
||
|
|
@IsString()
|
||
|
|
userId?: string | null;
|
||
|
|
}
|
||
|
|
|
||
|
|
export class ForecastQueryDto {
|
||
|
|
@IsOptional()
|
||
|
|
@IsString()
|
||
|
|
from?: string;
|
||
|
|
|
||
|
|
@IsOptional()
|
||
|
|
@IsString()
|
||
|
|
to?: string;
|
||
|
|
|
||
|
|
@IsOptional()
|
||
|
|
@IsString()
|
||
|
|
userId?: string;
|
||
|
|
}
|
||
|
|
|
||
|
|
export class ListGoalsQueryDto {
|
||
|
|
@IsOptional()
|
||
|
|
@IsString()
|
||
|
|
from?: string;
|
||
|
|
|
||
|
|
@IsOptional()
|
||
|
|
@IsString()
|
||
|
|
to?: string;
|
||
|
|
|
||
|
|
@IsOptional()
|
||
|
|
@IsString()
|
||
|
|
userId?: string;
|
||
|
|
}
|