mirror of
https://github.com/certd/certd.git
synced 2026-04-03 14:10:54 +08:00
fix: 修复cname校验报该授权无权限的bug
This commit is contained in:
@@ -3,8 +3,8 @@ import { IAccessService } from '@certd/pipeline';
|
|||||||
export class AccessGetter implements IAccessService {
|
export class AccessGetter implements IAccessService {
|
||||||
userId: number;
|
userId: number;
|
||||||
projectId?: number;
|
projectId?: number;
|
||||||
getter: <T>(id: any, userId?: number, projectId?: number) => Promise<T>;
|
getter: <T>(id: any, userId?: number, projectId?: number, ignorePermission?: boolean) => Promise<T>;
|
||||||
constructor(userId: number, projectId: number, getter: (id: any, userId: number, projectId?: number) => Promise<any>) {
|
constructor(userId: number, projectId: number, getter: (id: any, userId: number, projectId?: number, ignorePermission?: boolean) => Promise<any>) {
|
||||||
this.userId = userId;
|
this.userId = userId;
|
||||||
this.projectId = projectId;
|
this.projectId = projectId;
|
||||||
this.getter = getter;
|
this.getter = getter;
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import * as commercial from '@certd/commercial-core';
|
|||||||
import * as upload from '@midwayjs/upload';
|
import * as upload from '@midwayjs/upload';
|
||||||
import { setLogger } from '@certd/acme-client';
|
import { setLogger } from '@certd/acme-client';
|
||||||
import {HiddenMiddleware} from "./middleware/hidden.js";
|
import {HiddenMiddleware} from "./middleware/hidden.js";
|
||||||
import * as swagger from '@midwayjs/swagger';
|
// import * as swagger from '@midwayjs/swagger';
|
||||||
//@ts-ignore
|
//@ts-ignore
|
||||||
// process.env.UV_THREADPOOL_SIZE = 2
|
// process.env.UV_THREADPOOL_SIZE = 2
|
||||||
process.on('uncaughtException', error => {
|
process.on('uncaughtException', error => {
|
||||||
@@ -62,10 +62,10 @@ process.on('uncaughtException', error => {
|
|||||||
upload,
|
upload,
|
||||||
libServer,
|
libServer,
|
||||||
commercial,
|
commercial,
|
||||||
{
|
// {
|
||||||
component: swagger,
|
// component: swagger,
|
||||||
enabledEnvironment: ['local']
|
// enabledEnvironment: ['local']
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
component: info,
|
component: info,
|
||||||
enabledEnvironment: ['local'],
|
enabledEnvironment: ['local'],
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import {
|
|||||||
SysSettingsService,
|
SysSettingsService,
|
||||||
ValidateException
|
ValidateException
|
||||||
} from "@certd/lib-server";
|
} from "@certd/lib-server";
|
||||||
import { CnameProvider, CnameRecord, IAccessService } from "@certd/pipeline";
|
import { CnameProvider, CnameRecord } from "@certd/pipeline";
|
||||||
import { createDnsProvider, DomainParser, IDnsProvider } from "@certd/plugin-cert";
|
import { createDnsProvider, DomainParser, IDnsProvider } from "@certd/plugin-cert";
|
||||||
import { Inject, Provide, Scope, ScopeEnum } from "@midwayjs/core";
|
import { Inject, Provide, Scope, ScopeEnum } from "@midwayjs/core";
|
||||||
import { InjectEntityModel } from "@midwayjs/typeorm";
|
import { InjectEntityModel } from "@midwayjs/typeorm";
|
||||||
@@ -252,7 +252,6 @@ export class CnameRecordService extends BaseService<CnameRecordEntity> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
await this.getByDomain(bean.domain, bean.userId,bean.projectId);
|
await this.getByDomain(bean.domain, bean.userId,bean.projectId);
|
||||||
|
|
||||||
const taskService = this.taskServiceBuilder.create({ userId: bean.userId, projectId: bean.projectId });
|
const taskService = this.taskServiceBuilder.create({ userId: bean.userId, projectId: bean.projectId });
|
||||||
const subDomainGetter = await taskService.getSubDomainsGetter();
|
const subDomainGetter = await taskService.getSubDomainsGetter();
|
||||||
const domainParser = new DomainParser(subDomainGetter);
|
const domainParser = new DomainParser(subDomainGetter);
|
||||||
@@ -290,10 +289,10 @@ export class CnameRecordService extends BaseService<CnameRecordEntity> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
const serviceGetter = this.taskServiceBuilder.create({ userId: bean.userId, projectId: bean.projectId });
|
const record = await this.getWithAccessByDomain(bean.domain, bean.userId,bean.projectId);
|
||||||
const accessGetter:IAccessService = await serviceGetter.get("accessService");
|
|
||||||
const access = await accessGetter.getById(cnameProvider.accessId);
|
const access = record.cnameProvider.access
|
||||||
const context = { access, logger, http, utils, domainParser, serviceGetter };
|
const context = { access, logger, http, utils, domainParser, serviceGetter:taskService };
|
||||||
const dnsProvider: IDnsProvider = await createDnsProvider({
|
const dnsProvider: IDnsProvider = await createDnsProvider({
|
||||||
dnsProviderType: cnameProvider.dnsProviderType,
|
dnsProviderType: cnameProvider.dnsProviderType,
|
||||||
context
|
context
|
||||||
|
|||||||
Reference in New Issue
Block a user