chore: swagger support

This commit is contained in:
xiaojunnuo
2026-03-15 14:01:34 +08:00
parent 8a3841f638
commit 684964da4f
40 changed files with 110 additions and 22 deletions
@@ -5,6 +5,7 @@ import { OpenKey } from "../../../modules/open/service/open-key-service.js";
import { BaseOpenController } from "../base-open-controller.js";
import { CertInfoFacade } from "../../../modules/monitor/facade/cert-info-facade.js";
import { merge } from "lodash-es";
import { ApiTags } from "@midwayjs/swagger";
export type CertGetReq = {
domains?: string;
@@ -17,6 +18,7 @@ export type CertGetReq = {
*/
@Provide()
@Controller('/api/v1/cert')
@ApiTags(['openapi'])
export class OpenCertController extends BaseOpenController {
@Inject()
certInfoFacade: CertInfoFacade;
@@ -12,12 +12,14 @@ import { AuthService } from "../../../modules/sys/authority/service/auth-service
import { checkPlus } from "@certd/plus-core";
import { http, logger, utils } from "@certd/basic";
import { TaskServiceBuilder } from "../../../modules/pipeline/service/getter/task-service-getter.js";
import { ApiTags } from "@midwayjs/swagger";
/**
* Addon
*/
@Provide()
@Controller("/api/addon")
@ApiTags(['addon'])
export class AddonController extends CrudController<AddonService> {
@Inject()
service: AddonService;
@@ -2,12 +2,14 @@ import { ALL, Body, Controller, Inject, Post, Provide, Query } from '@midwayjs/c
import { Constants, CrudController } from '@certd/lib-server';
import { AuthService } from '../../../modules/sys/authority/service/auth-service.js';
import { GroupService } from '../../../modules/basic/service/group-service.js';
import { ApiTags } from '@midwayjs/swagger';
/**
* 通知
*/
@Provide()
@Controller('/api/basic/group')
@ApiTags(['basic-group'])
export class GroupController extends CrudController<GroupService> {
@Inject()
service: GroupService;
@@ -5,12 +5,14 @@ import { AuthService } from '../../../modules/sys/authority/service/auth-service
import { UserService } from '../../../modules/sys/authority/service/user-service.js';
import { BasicController } from '../../basic/code-controller.js';
import { RoleService } from '../../../modules/sys/authority/service/role-service.js';
import { ApiTags } from '@midwayjs/swagger';
/**
* 通知
*/
@Provide()
@Controller('/api/basic/user')
@ApiTags(['basic-user'])
export class BasicUserController extends BasicController {
@Inject()
service: UserService;
@@ -2,12 +2,14 @@ import { ALL, Body, Controller, Inject, Post, Provide, Query } from '@midwayjs/c
import { Constants, CrudController } from '@certd/lib-server';
import { DomainService } from "../../../modules/cert/service/domain-service.js";
import { checkPlus } from '@certd/plus-core';
import { ApiTags } from '@midwayjs/swagger';
/**
* 授权
*/
@Provide()
@Controller('/api/cert/domain')
@ApiTags(['cert'])
export class DomainController extends CrudController<DomainService> {
@Inject()
service: DomainService;
@@ -2,12 +2,14 @@ import { ALL, Body, Controller, Inject, Post, Provide } from '@midwayjs/core';
import { BaseController, Constants } from '@certd/lib-server';
import { CnameRecordService } from '../../../modules/cname/service/cname-record-service.js';
import { CnameProviderService } from '../../../modules/cname/service/cname-provider-service.js';
import { ApiTags } from '@midwayjs/swagger';
/**
* 授权
*/
@Provide()
@Controller('/api/cname/provider')
@ApiTags(['pipeline-cname'])
export class CnameProviderController extends BaseController {
@Inject()
service: CnameRecordService;
@@ -1,12 +1,14 @@
import { ALL, Body, Controller, Inject, Post, Provide, Query } from '@midwayjs/core';
import { Constants, CrudController } from '@certd/lib-server';
import { CnameRecordService } from '../../../modules/cname/service/cname-record-service.js';
import { ApiTags } from '@midwayjs/swagger';
/**
* 授权
*/
@Provide()
@Controller('/api/cname/record')
@ApiTags(['pipeline-cname'])
export class CnameRecordController extends CrudController<CnameRecordService> {
@Inject()
service: CnameRecordService;
@@ -5,6 +5,7 @@ import { RoleService } from '../../../modules/sys/authority/service/role-service
import { PipelineService } from '../../../modules/pipeline/service/pipeline-service.js';
import { HistoryService } from '../../../modules/pipeline/service/history-service.js';
import { CertInfoService } from '../../../modules/monitor/index.js';
import { ApiTags } from '@midwayjs/swagger';
export type ChartItem = {
name: string;
@@ -30,6 +31,7 @@ export type UserStatisticCount = {
*/
@Provide()
@Controller('/api/statistic/')
@ApiTags(['dashboard'])
export class StatisticController extends BaseController {
@Inject()
userService: UserService;
@@ -3,11 +3,13 @@ import { ALL, Body, Controller, Inject, Post, Provide } from '@midwayjs/core';
import { AuthService } from '../../../modules/sys/authority/service/auth-service.js';
import { ProjectService } from '../../../modules/sys/enterprise/service/project-service.js';
import { ProjectMemberService } from '../../../modules/sys/enterprise/service/project-member-service.js';
import { ApiTags } from '@midwayjs/swagger';
/**
*/
@Provide()
@Controller('/api/enterprise/project')
@ApiTags(['enterprise-project'])
export class UserProjectController extends BaseController {
@Inject()
service: ProjectService;
@@ -4,10 +4,12 @@ import { ProjectMemberEntity } from "../../../modules/sys/enterprise/entity/proj
import { ProjectMemberService } from "../../../modules/sys/enterprise/service/project-member-service.js";
import { merge } from "lodash-es";
import { ProjectService } from "../../../modules/sys/enterprise/service/project-service.js";
import { ApiTags } from "@midwayjs/swagger";
/**
*/
@Provide()
@Controller("/api/enterprise/projectMember")
@ApiTags(['enterprise-project-member'])
export class ProjectMemberController extends CrudController<ProjectMemberEntity> {
@Inject()
service: ProjectMemberService;
@@ -1,11 +1,13 @@
import { BaseController, Constants } from '@certd/lib-server';
import { Controller, Inject, Post, Provide } from '@midwayjs/core';
import { TransferService } from '../../../modules/sys/enterprise/service/transfer-service.js';
import { ApiTags } from '@midwayjs/swagger';
/**
*/
@Provide()
@Controller('/api/enterprise/transfer')
@ApiTags(['enterprise-project'])
export class TransferController extends BaseController {
@Inject()
service: TransferService;
@@ -2,11 +2,13 @@ import { Body, Controller, Inject, Post, Provide } from '@midwayjs/core';
import { BaseController } from '@certd/lib-server';
import { Constants } from '@certd/lib-server';
import { EmailService } from '../../../modules/basic/service/email-service.js';
import { ApiTags } from '@midwayjs/swagger';
/**
*/
@Provide()
@Controller('/api/mine/email')
@ApiTags(['mine'])
export class EmailController extends BaseController {
@Inject()
emailService: EmailService;
@@ -3,11 +3,13 @@ import { ALL, Body, Controller, Inject, Post, Provide } from '@midwayjs/core';
import { PasskeyService } from '../../../modules/login/service/passkey-service.js';
import { RoleService } from '../../../modules/sys/authority/service/role-service.js';
import { UserService } from '../../../modules/sys/authority/service/user-service.js';
import { ApiTags } from '@midwayjs/swagger';
/**
*/
@Provide()
@Controller('/api/mine')
@ApiTags(['mine'])
export class MineController extends BaseController {
@Inject()
userService: UserService;
@@ -2,9 +2,11 @@ import { ALL, Body, Controller, Inject, Post, Provide, RequestIP } from "@midway
import { PasskeyService } from "../../../modules/login/service/passkey-service.js";
import { BaseController, Constants } from "@certd/lib-server";
import { UserService } from "../../../modules/sys/authority/service/user-service.js";
import { ApiTags } from "@midwayjs/swagger";
@Provide()
@Controller('/api/mine/passkey')
@ApiTags(['mine'])
export class MinePasskeyController extends BaseController {
@Inject()
passkeyService: PasskeyService;
@@ -5,11 +5,13 @@ import { UserTwoFactorSetting } from "../../../modules/mine/service/models.js";
import { merge } from "lodash-es";
import { TwoFactorService } from "../../../modules/mine/service/two-factor-service.js";
import {isPlus} from "@certd/plus-core";
import { ApiTags } from "@midwayjs/swagger";
/**
*/
@Provide()
@Controller("/api/user/settings/twoFactor")
@ApiTags(['mine'])
export class UserTwoFactorSettingController extends BaseController {
@Inject()
service: UserSettingsService;
@@ -5,11 +5,13 @@ import { UserSettingsEntity } from "../../../modules/mine/entity/user-settings.j
import { UserGrantSetting } from "../../../modules/mine/service/models.js";
import { isPlus } from "@certd/plus-core";
import { merge } from "lodash-es";
import { ApiTags } from "@midwayjs/swagger";
/**
*/
@Provide()
@Controller('/api/user/settings')
@ApiTags(['mine'])
export class UserSettingsController extends CrudController<UserSettingsService> {
@Inject()
service: UserSettingsService;
@@ -7,11 +7,13 @@ import { SelectQueryBuilder } from "typeorm";
import { logger } from "@certd/basic";
import fs from "fs";
import dayjs from "dayjs";
import { ApiTags } from "@midwayjs/swagger";
/**
*/
@Provide()
@Controller('/api/monitor/cert')
@ApiTags(['cert'])
export class CertInfoController extends CrudController<CertInfoService> {
@Inject()
service: CertInfoService;
@@ -6,11 +6,13 @@ import { UserSiteMonitorSetting } from "../../../modules/mine/service/models.js"
import { merge } from "lodash-es";
import {SiteIpService} from "../../../modules/monitor/service/site-ip-service.js";
import { utils } from "@certd/basic";
import { ApiTags } from "@midwayjs/swagger";
/**
*/
@Provide()
@Controller('/api/monitor/site')
@ApiTags(['monitor'])
export class SiteInfoController extends CrudController<SiteInfoService> {
@Inject()
service: SiteInfoService;
@@ -3,11 +3,13 @@ import { Constants, CrudController } from "@certd/lib-server";
import { AuthService } from "../../../modules/sys/authority/service/auth-service.js";
import { SiteIpService } from "../../../modules/monitor/service/site-ip-service.js";
import { SiteInfoService } from "../../../modules/monitor/index.js";
import { ApiTags } from "@midwayjs/swagger";
/**
*/
@Provide()
@Controller('/api/monitor/site/ip')
@ApiTags(['monitor'])
export class SiteInfoController extends CrudController<SiteIpService> {
@Inject()
service: SiteIpService;
@@ -2,11 +2,13 @@ import { ALL, Body, Controller, Inject, Post, Provide, Query } from '@midwayjs/c
import { Constants, CrudController } from '@certd/lib-server';
import { AuthService } from '../../../modules/sys/authority/service/auth-service.js';
import { OpenKeyService } from '../../../modules/open/service/open-key-service.js';
import { ApiTags } from '@midwayjs/swagger';
/**
*/
@Provide()
@Controller('/api/open/key')
@ApiTags(['open'])
export class OpenKeyController extends CrudController<OpenKeyService> {
@Inject()
service: OpenKeyService;
@@ -3,11 +3,13 @@ import { Constants, CrudController } from '@certd/lib-server';
import { AccessService } from '@certd/lib-server';
import { AuthService } from '../../../modules/sys/authority/service/auth-service.js';
import { AccessDefine } from '@certd/pipeline';
import { ApiTags } from '@midwayjs/swagger';
/**
* 授权
*/
@Provide()
@ApiTags(['pipeline-access'])
@Controller('/api/pi/access')
export class AccessController extends CrudController<AccessService> {
@Inject()
@@ -5,9 +5,11 @@ import { StorageService } from '../../../modules/pipeline/service/storage-servic
import { CertReader } from "@certd/plugin-cert";
import { UserSettingsService } from '../../../modules/mine/service/user-settings-service.js';
import { UserGrantSetting } from '../../../modules/mine/service/models.js';
import { ApiTags } from '@midwayjs/swagger';
@Provide()
@Controller('/api/pi/cert')
@ApiTags(['pipeline-cert'])
export class CertController extends BaseController {
@Inject()
pipelineService: PipelineService;
@@ -2,12 +2,14 @@ import { ALL, Controller, Inject, Post, Provide, Query } from '@midwayjs/core';
import { DnsProviderService } from '../../../modules/pipeline/service/dns-provider-service.js';
import { BaseController } from '@certd/lib-server';
import { Constants } from '@certd/lib-server';
import { ApiTags } from '@midwayjs/swagger';
/**
* 插件
*/
@Provide()
@Controller('/api/pi/dnsProvider')
@ApiTags(['pipeline-dns-provider'])
export class DnsProviderController extends BaseController {
@Inject()
service: DnsProviderService;
@@ -16,9 +16,11 @@ import {http, HttpRequestConfig, logger, mergeUtils, utils} from '@certd/basic';
import {NotificationService} from '../../../modules/pipeline/service/notification-service.js';
import {TaskServiceBuilder} from "../../../modules/pipeline/service/getter/task-service-getter.js";
import { cloneDeep } from 'lodash-es';
import { ApiTags } from '@midwayjs/swagger';
@Provide()
@Controller('/api/pi/handle')
@ApiTags(['pipeline-handle'])
export class HandleController extends BaseController {
@Inject()
accessService: AccessService;
@@ -12,12 +12,14 @@ import { HistoryLogService } from "../../../modules/pipeline/service/history-log
import { HistoryService } from "../../../modules/pipeline/service/history-service.js";
import { PipelineService } from "../../../modules/pipeline/service/pipeline-service.js";
import { AuthService } from "../../../modules/sys/authority/service/auth-service.js";
import { ApiTags } from "@midwayjs/swagger";
/**
* 证书
*/
@Provide()
@Controller('/api/pi/history')
@ApiTags(['pipeline-history'])
export class HistoryController extends CrudController<HistoryService> {
@Inject()
service: HistoryService;
@@ -4,12 +4,14 @@ import { NotificationService } from '../../../modules/pipeline/service/notificat
import { AuthService } from '../../../modules/sys/authority/service/auth-service.js';
import { NotificationDefine } from '@certd/pipeline';
import { checkPlus } from '@certd/plus-core';
import { ApiTags } from '@midwayjs/swagger';
/**
* 通知
*/
@Provide()
@Controller('/api/pi/notification')
@ApiTags(['pipeline-notification'])
export class NotificationController extends CrudController<NotificationService> {
@Inject()
service: NotificationService;
@@ -6,11 +6,13 @@ import { PipelineEntity } from '../../../modules/pipeline/entity/pipeline.js';
import { HistoryService } from '../../../modules/pipeline/service/history-service.js';
import { PipelineService } from '../../../modules/pipeline/service/pipeline-service.js';
import { AuthService } from '../../../modules/sys/authority/service/auth-service.js';
import { ApiTags } from '@midwayjs/swagger';
/**
* 证书
*/
@Provide()
@ApiTags(['pipeline'])
@Controller('/api/pi/pipeline')
export class PipelineController extends CrudController<PipelineService> {
@Inject()
@@ -85,23 +87,23 @@ export class PipelineController extends CrudController<PipelineService> {
}
@Post('/add', { summary: Constants.per.authOnly })
async add(@Body(ALL) bean: PipelineEntity) {
const { projectId, userId } = await this.getProjectUserIdWrite()
bean.userId = userId
bean.projectId = projectId
return super.add(bean);
}
// @Post('/add', { summary: Constants.per.authOnly })
// async add(@Body(ALL) bean: PipelineEntity) {
// const { projectId, userId } = await this.getProjectUserIdWrite()
// bean.userId = userId
// bean.projectId = projectId
// return super.add(bean);
// }
@Post('/update', { summary: Constants.per.authOnly })
async update(@Body(ALL) bean) {
await this.checkOwner(this.getService(), bean.id,"write",true);
delete bean.userId;
delete bean.projectId;
return super.update(bean);
}
// @Post('/update', { summary: Constants.per.authOnly })
// async update(@Body(ALL) bean) {
// await this.checkOwner(this.getService(), bean.id,"write",true);
// delete bean.userId;
// delete bean.projectId;
// return super.update(bean);
// }
@Post('/save', { summary: Constants.per.authOnly })
@Post('/save', { summary: Constants.per.authOnly,description: '新增/更新流水线' })
async save(@Body(ALL) bean: { addToMonitorEnabled: boolean, addToMonitorDomains: string } & PipelineEntity) {
const { userId ,projectId} = await this.getProjectUserIdWrite()
if (bean.id > 0) {
@@ -2,12 +2,14 @@ import { ALL, Body, Controller, Inject, Post, Provide, Query } from '@midwayjs/c
import { Constants, CrudController } from '@certd/lib-server';
import { AuthService } from '../../../modules/sys/authority/service/auth-service.js';
import { PipelineGroupService } from '../../../modules/pipeline/service/pipeline-group-service.js';
import { ApiTags } from '@midwayjs/swagger';
/**
* 通知
*/
@Provide()
@Controller('/api/pi/pipeline/group')
@ApiTags(['pipeline-group'])
export class PipelineGroupController extends CrudController<PipelineGroupService> {
@Inject()
service: PipelineGroupService;
@@ -3,12 +3,14 @@ import { BaseController, Constants } from '@certd/lib-server';
import { PluginService } from '../../../modules/plugin/service/plugin-service.js';
import { PluginConfigService } from '../../../modules/plugin/service/plugin-config-service.js';
import {pluginGroups} from "@certd/pipeline";
import { ApiTags } from '@midwayjs/swagger';
/**
* 插件
*/
@Provide()
@Controller('/api/pi/plugin')
@ApiTags(['pipeline-plugin'])
export class PluginController extends BaseController {
@Inject()
service: PluginService;
@@ -3,12 +3,14 @@ import { DomainParser } from '@certd/plugin-cert';
import { ALL, Body, Controller, Inject, Post, Provide, Query } from '@midwayjs/core';
import { SubDomainService } from "../../../modules/pipeline/service/sub-domain-service.js";
import { TaskServiceBuilder } from '../../../modules/pipeline/service/getter/task-service-getter.js';
import { ApiTags } from '@midwayjs/swagger';
/**
* 子域名托管
*/
@Provide()
@Controller('/api/pi/subDomain')
@ApiTags(['pipeline-subdomain'])
export class SubDomainController extends CrudController<SubDomainService> {
@Inject()
service: SubDomainService;
@@ -2,12 +2,14 @@ import {ALL, Body, Controller, Inject, Post, Provide, Query} from '@midwayjs/cor
import {Constants, CrudController} from '@certd/lib-server';
import { TemplateService } from '../../../modules/pipeline/service/template-service.js';
import { checkPlus } from '@certd/plus-core';
import { ApiTags } from '@midwayjs/swagger';
/**
* 流水线模版
*/
@Provide()
@Controller('/api/pi/template')
@ApiTags(['pipeline-template'])
export class TemplateController extends CrudController<TemplateService> {
@Inject()
service: TemplateService;