From 24109e127a377b455ee4cd8a6fdac96b1f464811 Mon Sep 17 00:00:00 2001 From: snowgitea Date: Wed, 1 Jul 2026 17:56:57 +0800 Subject: [PATCH] chore: src/modules/plugin/controller/admin/info.ts --- src/modules/plugin/controller/admin/info.ts | 56 +++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/modules/plugin/controller/admin/info.ts diff --git a/src/modules/plugin/controller/admin/info.ts b/src/modules/plugin/controller/admin/info.ts new file mode 100644 index 0000000..f8c9e15 --- /dev/null +++ b/src/modules/plugin/controller/admin/info.ts @@ -0,0 +1,56 @@ +import { + CoolController, + BaseController, + CoolTag, + CoolUrlTag, + TagTypes, +} from '@cool-midway/core'; +import { PluginInfoEntity } from '../../entity/info'; +import { Body, Fields, Files, Inject, Post } from '@midwayjs/core'; +import { PluginService } from '../../service/info'; + +/** + * 插件信息 + */ +@CoolUrlTag({ + key: TagTypes.IGNORE_TOKEN, + value: [], +}) +@CoolController({ + api: ['add', 'delete', 'update', 'info', 'list', 'page'], + entity: PluginInfoEntity, + service: PluginService, + pageQueryOp: { + select: [ + 'a.id', + 'a.name', + 'a.keyName', + 'a.hook', + 'a.version', + 'a.status', + 'a.readme', + 'a.author', + 'a.logo', + 'a.description', + 'a.pluginJson', + 'a.config', + 'a.createTime', + 'a.updateTime', + ], + addOrderBy: { + id: 'DESC', + }, + }, +}) +export class AdminPluginInfoController extends BaseController { + @Inject() + pluginService: PluginService; + + @CoolTag(TagTypes.IGNORE_TOKEN) + @Post('/install', { summary: '安装插件' }) + async install(@Files() files, @Fields() fields) { + return this.ok( + await this.pluginService.install(files[0].data, fields.force) + ); + } +}