返回 AiToEarn
query-task.dto.ts
根目录 / project / aitoearn-electron / server / src / modules / task / dto / query-task.dto.ts
1 /*
2 * @Author: nevin
3 * @Date: 2025-02-18 22:32:02
4 * @LastEditTime: 2025-02-27 20:22:49
5 * @LastEditors: nevin
6 * @Description:
7 */
8 import { ApiProperty } from '@nestjs/swagger';
9 import { IsEnum, IsOptional, IsString } from 'class-validator';
10 import { Type } from 'class-transformer';
11 import { TaskStatus, TaskType } from '../../../db/schema/task.schema';
12 import { PagerDto } from '../../../common/dto/pager.dto';
13 import { UserTaskStatus } from 'src/db/schema/user-task.schema';
14
15 export class QueryTaskDto extends PagerDto {
16 @ApiProperty({ description: '任务类型', enum: TaskType, required: false })
17 @IsEnum(TaskType)
18 @IsOptional()
19 type?: TaskType;
20
21 @ApiProperty({ description: '任务状态', enum: TaskStatus, required: false })
22 @IsEnum(TaskStatus)
23 @IsOptional()
24 status?: TaskStatus;
25
26 @ApiProperty({ description: '搜索关键词(标题)', required: false })
27 @IsString()
28 @IsOptional()
29 keyword?: string;
30
31 @ApiProperty({ description: '带货等级', required: false })
32 @IsString()
33 @IsOptional()
34 productLevel?: string;
35
36 @ApiProperty({ description: '是否需要挂购物车', required: false })
37 @Type(() => Boolean)
38 @IsOptional()
39 requiresShoppingCart?: boolean;
40 }
41
42 export class QueryMineTaskDto extends PagerDto {
43 @ApiProperty({ description: '任务类型', enum: TaskType, required: false })
44 @IsEnum(TaskType)
45 @IsOptional()
46 type?: TaskType;
47
48 @ApiProperty({ description: '搜索关键词(标题)', required: false })
49 @IsString()
50 @IsOptional()
51 keyword?: string;
52
53 @ApiProperty({ description: '状态', required: false })
54 @IsEnum(UserTaskStatus)
55 @IsOptional()
56 status?: UserTaskStatus;
57 }
58
58 lines TYPESCRIPT