Explorar o código

♻️ refactor(settings): 优化系统设置服务类型引用和空值处理

- 移除system-setting.entity.ts中未使用的zod导入
- 调整create和update方法参数类型为z.infer<typeof Dto>形式
- 使用空值合并运算符简化delete方法的返回值判断逻辑
yourname hai 4 meses
pai
achega
828766949d

+ 0 - 1
src/server/modules/settings/system-setting.entity.ts

@@ -1,5 +1,4 @@
 import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn } from 'typeorm';
-import { z } from '@hono/zod-openapi';
 
 @Entity('system_settings')
 export class SystemSetting {

+ 4 - 3
src/server/modules/settings/system-setting.service.ts

@@ -1,6 +1,7 @@
 import { DataSource, Repository } from 'typeorm';
 import { SystemSetting } from './system-setting.entity';
 import { CreateSystemSettingDto, UpdateSystemSettingDto } from './system-setting.schema';
+import type { z } from 'zod';
 
 export class SystemSettingService {
   private repository: Repository<SystemSetting>;
@@ -50,7 +51,7 @@ export class SystemSettingService {
   /**
    * 创建系统设置
    */
-  async create(data: CreateSystemSettingDto): Promise<SystemSetting> {
+  async create(data: z.infer<typeof CreateSystemSettingDto>): Promise<SystemSetting> {
     const existing = await this.findByKey(data.settingKey);
     if (existing) {
       throw new Error(`设置键名 ${data.settingKey} 已存在`);
@@ -63,7 +64,7 @@ export class SystemSettingService {
   /**
    * 更新系统设置
    */
-  async update(settingKey: string, data: UpdateSystemSettingDto): Promise<SystemSetting> {
+  async update(settingKey: string, data: z.infer<typeof UpdateSystemSettingDto>): Promise<SystemSetting> {
     const setting = await this.findByKey(settingKey);
     if (!setting) {
       throw new Error(`设置 ${settingKey} 不存在`);
@@ -123,7 +124,7 @@ export class SystemSettingService {
    */
   async delete(settingKey: string): Promise<boolean> {
     const result = await this.repository.delete({ settingKey });
-    return result.affected !== null && result.affected > 0;
+    return (result.affected ?? 0) > 0;
   }
 
   /**