This commit is contained in:
xiaojunnuo
2025-09-28 12:06:13 +08:00
parent 469a088a4d
commit faac4dfc30
6 changed files with 31 additions and 59 deletions
@@ -16,7 +16,7 @@ export class AddonGetterService {
addonService: AddonService;
async getAddonById(id: any, checkUserId: boolean, userId?: number): Promise<any> {
async getAddonById(id: any, checkUserId: boolean, userId?: number, defaultAddon?:{type:string,name:string} ): Promise<any> {
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) {
@@ -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<CnameProxyService> {
const cnameRecordService:CnameRecordService = await this.appCtx.getAsync("cnameRecordService")
return new CnameProxyService(this.userId, cnameRecordService.getWithAccessByDomain.bind(cnameRecordService));