diff --git a/packages/libs/lib-server/src/user/addon/index.ts b/packages/libs/lib-server/src/user/addon/index.ts index 727232b4..a47edb22 100644 --- a/packages/libs/lib-server/src/user/addon/index.ts +++ b/packages/libs/lib-server/src/user/addon/index.ts @@ -2,4 +2,3 @@ export * from './api/index.js' export * from './entity/addon.js' export * from './service/addon-service.js' export * from './service/addon-getter.js' -export * from './service/addon-sys-getter.js' diff --git a/packages/libs/lib-server/src/user/addon/service/addon-getter.ts b/packages/libs/lib-server/src/user/addon/service/addon-getter.ts deleted file mode 100644 index 8e91ad7e..00000000 --- a/packages/libs/lib-server/src/user/addon/service/addon-getter.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { IAddonGetter } from "../api/index.js"; - -export class AddonGetter implements IAddonGetter { - userId: number; - getter: (id: any, userId?: number) => Promise; - constructor(userId: number, getter: (id: any, userId: number) => Promise) { - this.userId = userId; - this.getter = getter; - } - - async getById(id: any) { - return await this.getter(id, this.userId); - } - - async getCommonById(id: any) { - return await this.getter(id, 0); - } -} diff --git a/packages/libs/lib-server/src/user/addon/service/addon-sys-getter.ts b/packages/libs/lib-server/src/user/addon/service/addon-sys-getter.ts deleted file mode 100644 index 773e1a7a..00000000 --- a/packages/libs/lib-server/src/user/addon/service/addon-sys-getter.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { IAccessService } from '@certd/pipeline'; -import { AddonService } from './addon-service.js'; - -export class AddonSysGetter implements IAccessService { - addonService: AddonService; - constructor(addonService: AddonService) { - this.addonService = addonService; - } - - async getById(id: any) { - return await this.addonService.getById(id, 0); - } - - async getCommonById(id: any) { - return await this.addonService.getById(id, 0); - } -} diff --git a/packages/ui/certd-server/src/modules/basic/service/captcha-service.ts b/packages/ui/certd-server/src/modules/basic/service/captcha-service.ts index aaeb2895..13412727 100644 --- a/packages/ui/certd-server/src/modules/basic/service/captcha-service.ts +++ b/packages/ui/certd-server/src/modules/basic/service/captcha-service.ts @@ -13,42 +13,45 @@ export class CaptchaService { addonGetterService: AddonGetterService; - async getCaptcha(captchaAddonId?:number){ + async getCaptcha(captchaAddonId?: number) { if (!captchaAddonId) { - const settings = await this.sysSettingsService.getPublicSettings() - captchaAddonId = settings.captchaAddonId ?? 0 + const settings = await this.sysSettingsService.getPublicSettings(); + captchaAddonId = settings.captchaAddonId ?? 0; } - const addon:ICaptchaAddon = await this.addonGetterService.getAddonById(captchaAddonId,true,0) + const addon: ICaptchaAddon = await this.addonGetterService.getAddonById(captchaAddonId, true, 0, { + type: "captcha", + name: "image" + }); if (!addon) { - throw new Error('验证码插件还未配置') + throw new Error("验证码插件还未配置"); } - return await addon.getCaptcha() + return await addon.getCaptcha(); } - async doValidate(opts:{form:any,must?:boolean,captchaAddonId?:number}){ + async doValidate(opts: { form: any, must?: boolean, captchaAddonId?: number }) { if (!opts.captchaAddonId) { - const settings = await this.sysSettingsService.getPublicSettings() - opts.captchaAddonId = settings.captchaAddonId ?? 0 + const settings = await this.sysSettingsService.getPublicSettings(); + opts.captchaAddonId = settings.captchaAddonId ?? 0; } - const addon = await this.addonGetterService.getById(opts.captchaAddonId,0) + const addon = await this.addonGetterService.getById(opts.captchaAddonId, 0); if (!addon) { if (opts.must) { - throw new Error('请先配置验证码插件'); + throw new Error("请先配置验证码插件"); } - logger.warn('验证码插件还未配置,忽略验证码校验') - return true + logger.warn("验证码插件还未配置,忽略验证码校验"); + return true; } if (!opts.form) { - throw new Error('请输入验证码'); + throw new Error("请输入验证码"); } - const res = await addon.onValidate(opts.form) + const res = await addon.onValidate(opts.form); if (!res) { - throw new Error('验证码错误'); + throw new Error("验证码错误"); } - return true + return true; } diff --git a/packages/ui/certd-server/src/modules/pipeline/service/addon-getter-service.ts b/packages/ui/certd-server/src/modules/pipeline/service/addon-getter-service.ts index 14f2c25c..6cf2ef92 100644 --- a/packages/ui/certd-server/src/modules/pipeline/service/addon-getter-service.ts +++ b/packages/ui/certd-server/src/modules/pipeline/service/addon-getter-service.ts @@ -16,7 +16,7 @@ export class AddonGetterService { addonService: AddonService; - async getAddonById(id: any, checkUserId: boolean, userId?: number): Promise { + async getAddonById(id: any, checkUserId: boolean, userId?: number, defaultAddon?:{type:string,name:string} ): Promise { const serviceGetter = this.taskServiceBuilder.create({ userId }); @@ -28,13 +28,17 @@ export class AddonGetterService { } if (!id) { - //使用图片验证码 - return await newAddon("captcha", "image", {}, ctx); + if (!defaultAddon) { + return null; + } + return await newAddon(defaultAddon.type, defaultAddon.name, {}, ctx); } const entity = await this.addonService.info(id); if (entity == null) { - //使用图片验证码 - return await newAddon("captcha", "image", {}, ctx); + if (!defaultAddon) { + return null; + } + return await newAddon(defaultAddon.type, defaultAddon.name, {}, ctx); } if (checkUserId) { if (userId == null) { diff --git a/packages/ui/certd-server/src/modules/pipeline/service/getter/task-service-getter.ts b/packages/ui/certd-server/src/modules/pipeline/service/getter/task-service-getter.ts index 2d8dea46..c72542ad 100644 --- a/packages/ui/certd-server/src/modules/pipeline/service/getter/task-service-getter.ts +++ b/packages/ui/certd-server/src/modules/pipeline/service/getter/task-service-getter.ts @@ -32,7 +32,7 @@ export class TaskServiceGetter implements IServiceGetter{ return await this.getNotificationService() as T } else if (serviceName === 'domainVerifierGetter') { return await this.getDomainVerifierGetter() as T - } else{ + }else{ if(!serviceNames.includes(serviceName)){ throw new Error(`${serviceName} not in whitelist`) } @@ -53,6 +53,7 @@ export class TaskServiceGetter implements IServiceGetter{ return new AccessGetter(this.userId, accessService.getById.bind(accessService)); } + async getCnameProxyService(): Promise { const cnameRecordService:CnameRecordService = await this.appCtx.getAsync("cnameRecordService") return new CnameProxyService(this.userId, cnameRecordService.getWithAccessByDomain.bind(cnameRecordService));