perf: 公共cname服务支持关闭

This commit is contained in:
xiaojunnuo
2024-11-14 18:31:17 +08:00
parent c3cfbd8474
commit f4ae5125dc
4 changed files with 22 additions and 4 deletions
@@ -1,7 +1,7 @@
import { Provide, Scope, ScopeEnum } from '@midwayjs/core';
import { Inject, Provide, Scope, ScopeEnum } from '@midwayjs/core';
import { InjectEntityModel } from '@midwayjs/typeorm';
import { Repository } from 'typeorm';
import { BaseService, ListReq, ValidateException } from '@certd/lib-server';
import { BaseService, ListReq, SysPrivateSettings, SysSettingsService, ValidateException } from '@certd/lib-server';
import { CnameProviderEntity } from '../entity/cname-provider.js';
import { CommonProviders } from './common-provider.js';
@@ -14,6 +14,9 @@ export class CnameProviderService extends BaseService<CnameProviderEntity> {
@InjectEntityModel(CnameProviderEntity)
repository: Repository<CnameProviderEntity>;
@Inject()
settingsService: SysSettingsService;
//@ts-ignore
getRepository() {
return this.repository;
@@ -85,7 +88,10 @@ export class CnameProviderService extends BaseService<CnameProviderEntity> {
if (founds && founds.length > 0) {
return founds[0];
}
if (CommonProviders.length > 0) {
const sysPrivateSettings = await this.settingsService.getSetting<SysPrivateSettings>(SysPrivateSettings);
if (sysPrivateSettings.commonCnameEnabled !== false && CommonProviders.length > 0) {
return CommonProviders[0] as CnameProviderEntity;
}
return null;
@@ -93,8 +99,12 @@ export class CnameProviderService extends BaseService<CnameProviderEntity> {
async list(req: ListReq): Promise<any[]> {
const list = await super.list(req);
const sysPrivateSettings = await this.settingsService.getSetting<SysPrivateSettings>(SysPrivateSettings);
return [...list, ...CommonProviders];
if (sysPrivateSettings.commonCnameEnabled !== false) {
return [...list, ...CommonProviders];
}
return list;
}
async info(id: any, infoIgnoreProperty?: any): Promise<any | null> {