From aac4e3e0e2cb3f922478741c8961e73847b42dee Mon Sep 17 00:00:00 2001 From: waiting <1661926154@qq.com> Date: Fri, 2 Feb 2024 16:24:56 +0800 Subject: [PATCH] feat(share): update type PageOrderByRule accept generics TCol and TOrder --- packages/share/src/lib/common.dto.ts | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/packages/share/src/lib/common.dto.ts b/packages/share/src/lib/common.dto.ts index 2b47f46e9..33517013c 100644 --- a/packages/share/src/lib/common.dto.ts +++ b/packages/share/src/lib/common.dto.ts @@ -4,16 +4,32 @@ import { Rule } from '@midwayjs/validate' import { commonValidSchemas } from './validation-schema/common.schema.js' -/** 查询排序规则 */ -export class PageOrderByRule { +/** + * 查询排序规则 + * @example ` + * class UserDTO { + * id: number + * name: string + * } + * class UserRule extends PageOrderByRule { + * @ApiProperty({ example: 'id', description: '' }) + * declare column + * } + * class UserRule extends PageOrderByRule<'id' | 'name'> { + * @ApiProperty({ example: 'id', description: '' }) + * declare column + * } + * ` + **/ +export class PageOrderByRule { @ApiProperty({ example: 'ctime', description: '排序字段' }) - column: string + column: TCol /** * @default ASC */ @ApiProperty({ example: 'ASC', description: '排序顺序 默认升序' }) - order?: 'ASC' | 'DESC' | 'asc' | 'desc' + order?: TOrder | undefined }