Просмотр исходного кода

♻️ refactor(contracts): 修改合同服务关联查询逻辑

- 移除hetong.service.ts中relations参数默认值
- 显式传入['client']关联查询客户信息
- 在通用CRUD类型定义中添加relations可选属性

♻️ refactor(routes): 完善通用CRUD路由配置

- 在createCrudRoutes函数参数中添加relations属性支持
yourname 8 месяцев назад
Родитель
Сommit
59e3d97829

+ 2 - 2
src/server/modules/contracts/hetong.service.ts

@@ -15,10 +15,10 @@ export class HetongService extends GenericCrudService<Hetong> {
     keyword?: string,
     searchFields?: string[],
     where: Partial<Hetong> = {},
-    relations: string[] = ['client'], // 默认关联查询客户信息
+    relations: string[] = [], // 默认关联查询客户信息
     order: { [P in keyof Hetong]?: 'ASC' | 'DESC' } = {}
   ): Promise<[Hetong[], number]> {
-    return super.getList(page, pageSize, keyword, searchFields, where, relations, order);
+    return super.getList(page, pageSize, keyword, searchFields, where,  ['client'], order);
   }
 
   /**

+ 1 - 1
src/server/utils/generic-crud.routes.ts

@@ -13,7 +13,7 @@ export function createCrudRoutes<
   GetSchema extends z.ZodSchema = z.ZodSchema,
   ListSchema extends z.ZodSchema = z.ZodSchema
 >(options: CrudOptions<T, CreateSchema, UpdateSchema, GetSchema, ListSchema>) {
-  const { entity, createSchema, updateSchema, getSchema, listSchema, searchFields, middleware = [] } = options;
+  const { entity, createSchema, updateSchema, getSchema, listSchema, searchFields, relations, middleware = [] } = options;
   
   // 创建CRUD服务实例
   // 抽象类不能直接实例化,需要创建具体实现类

+ 1 - 0
src/server/utils/generic-crud.service.ts

@@ -112,5 +112,6 @@ export type CrudOptions<
   getSchema: GetSchema;
   listSchema: ListSchema;
   searchFields?: string[];
+  relations?: string[];
   middleware?: any[];
 };