Browse Source

♻️ refactor(template): 增强模板模式中的类型定义

- 为date类型添加显式泛型参数<Date>,提高类型明确性
- 为number类型添加显式泛型参数<number>,增强类型约束
- 优化模板创建和更新DTO的类型定义,提升代码健壮性
yourname 3 months ago
parent
commit
2f9183d988
1 changed files with 7 additions and 7 deletions
  1. 7 7
      src/server/modules/templates/template.schema.ts

+ 7 - 7
src/server/modules/templates/template.schema.ts

@@ -43,11 +43,11 @@ export const TemplateSchema = z.object({
     description: '是否删除:0-未删除,1-已删除',
     example: DeleteStatus.NOT_DELETED
   }),
-  createdAt: z.coerce.date('创建时间格式不正确').openapi({
+  createdAt: z.coerce.date<Date>('创建时间格式不正确').openapi({
     description: '创建时间',
     example: '2024-01-15T10:30:00Z'
   }),
-  updatedAt: z.coerce.date('更新时间格式不正确').openapi({
+  updatedAt: z.coerce.date<Date>('更新时间格式不正确').openapi({
     description: '更新时间',
     example: '2024-01-16T14:20:00Z'
   })
@@ -63,7 +63,7 @@ export const CreateTemplateDto = z.object({
     description: '模板描述',
     example: '适用于各类项目管理的标准计划书模板'
   }),
-  fileId: z.coerce.number().int('必须是整数').positive('必须是正整数').openapi({
+  fileId: z.coerce.number<number>().int('必须是整数').positive('必须是正整数').openapi({
     description: '关联文件ID',
     example: 1
   }),
@@ -71,7 +71,7 @@ export const CreateTemplateDto = z.object({
     description: '模板分类',
     example: '项目管理'
   }),
-  isFree: z.coerce.number().int('必须是整数').min(0, '状态值只能是0或1').max(1, '状态值只能是0或1').default(0).openapi({
+  isFree: z.coerce.number<number>().int('必须是整数').min(0, '状态值只能是0或1').max(1, '状态值只能是0或1').default(0).openapi({
     description: '是否免费:0-收费,1-免费',
     example: 0
   })
@@ -87,7 +87,7 @@ export const UpdateTemplateDto = z.object({
     description: '模板描述',
     example: '适用于各类项目管理的标准计划书模板(修订版)'
   }),
-  fileId: z.coerce.number().int('必须是整数').positive('必须是正整数').optional().openapi({
+  fileId: z.coerce.number<number>().int('必须是整数').positive('必须是正整数').optional().openapi({
     description: '关联文件ID',
     example: 2
   }),
@@ -95,11 +95,11 @@ export const UpdateTemplateDto = z.object({
     description: '模板分类',
     example: '项目管理'
   }),
-  isFree: z.coerce.number().int('必须是整数').min(0, '状态值只能是0或1').max(1, '状态值只能是0或1').optional().openapi({
+  isFree: z.coerce.number<number>().int('必须是整数').min(0, '状态值只能是0或1').max(1, '状态值只能是0或1').optional().openapi({
     description: '是否免费:0-收费,1-免费',
     example: 1
   }),
-  isDisabled: z.coerce.number().int('必须是整数').min(0, '状态值只能是0或1').max(1, '状态值只能是0或1').optional().openapi({
+  isDisabled: z.coerce.number<number>().int('必须是整数').min(0, '状态值只能是0或1').max(1, '状态值只能是0或1').optional().openapi({
     description: '是否禁用:0-启用,1-禁用',
     example: DisabledStatus.ENABLED
   })