99 lines
2.5 KiB
TypeScript
99 lines
2.5 KiB
TypeScript
import { BaseStatusDto } from 'src/core/modules/infrastructure/dto/base-status.dto';
|
|
import {
|
|
DataSchedulingDefaultEntity,
|
|
DataSchedulingEntity,
|
|
} from '../../domain/entities/data-scheduling.entity';
|
|
import { IsString, ValidateIf } from 'class-validator';
|
|
import { ApiProperty } from '@nestjs/swagger';
|
|
import { BaseCoreDto } from 'src/core/modules/infrastructure/dto/base-core.dto';
|
|
import { Transform } from 'class-transformer';
|
|
import { BaseDto } from 'src/core/modules/infrastructure/dto/base.dto';
|
|
|
|
export class CreateDataSchedulingDto
|
|
extends BaseStatusDto
|
|
implements DataSchedulingEntity
|
|
{
|
|
@ApiProperty({ name: 'name', required: true, example: 'Morning' })
|
|
@IsString()
|
|
name: string;
|
|
|
|
@ApiProperty({ type: 'integer', required: true, example: 80 })
|
|
@Transform((body) => {
|
|
return typeof body.value == 'string' ? Number(body.value) : body.value;
|
|
})
|
|
@ValidateIf((body) => body.indexing_key)
|
|
indexing_key: number;
|
|
|
|
@ApiProperty({
|
|
type: Date,
|
|
required: true,
|
|
example: '2024-01-01',
|
|
})
|
|
schedule_date_from: Date;
|
|
|
|
@ApiProperty({
|
|
type: Date,
|
|
required: true,
|
|
example: '2024-01-02',
|
|
})
|
|
schedule_date_to: Date;
|
|
}
|
|
|
|
export class EditDataSchedulingDto
|
|
extends BaseStatusDto
|
|
implements DataSchedulingEntity
|
|
{
|
|
@ApiProperty({ name: 'name', example: 'Morning' })
|
|
@IsString()
|
|
@ValidateIf((body) => body.name)
|
|
name: string;
|
|
|
|
@ApiProperty({ type: 'integer', required: true, example: 80 })
|
|
@Transform((body) => {
|
|
return typeof body.value == 'string' ? Number(body.value) : body.value;
|
|
})
|
|
@ValidateIf((body) => body.indexing_key)
|
|
indexing_key: number;
|
|
|
|
@ApiProperty({
|
|
type: Date,
|
|
required: true,
|
|
example: '2025-01-01',
|
|
})
|
|
schedule_date_from: Date;
|
|
|
|
@ApiProperty({
|
|
type: Date,
|
|
required: true,
|
|
example: '2025-01-02',
|
|
})
|
|
schedule_date_to: Date;
|
|
}
|
|
|
|
export class EditDataSchedulingDefaultDto
|
|
extends BaseDto
|
|
implements DataSchedulingDefaultEntity
|
|
{
|
|
@ApiProperty({ type: 'integer', required: true })
|
|
@Transform((body) => {
|
|
return typeof body.value == 'string' ? Number(body.value) : body.value;
|
|
})
|
|
@ValidateIf((body) => body.default_value)
|
|
default_value: number;
|
|
}
|
|
|
|
export class SetupDataSchedulingDto {
|
|
// @ApiProperty({ type: 'string', required: true, example: '2025-01-01' })
|
|
// date: Date;
|
|
}
|
|
|
|
export class DeleteDataSchedulingLogDto {
|
|
@ApiProperty({ type: Number, required: true })
|
|
@ValidateIf((body) => body.log_created_from)
|
|
log_created_from: number;
|
|
|
|
@ApiProperty({ type: Number, required: true })
|
|
@ValidateIf((body) => body.log_created_to)
|
|
log_created_to: number;
|
|
}
|