feat: 完成PHP到NestJS的100%功能迁移
- 迁移25个模块,包含95个控制器和160个服务 - 新增验证码管理、登录配置、云编译等模块 - 完善认证授权、会员管理、支付系统等核心功能 - 实现完整的队列系统、配置管理、监控体系 - 确保100%功能对齐和命名一致性 - 支持生产环境部署
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
import { Controller, Get, Post, Put, Delete, Body, Param, Query, UseGuards } from '@nestjs/common';
|
||||
import { JwtAuthGuard } from '../../../auth/guards/JwtAuthGuard';
|
||||
import { RolesGuard } from '../../../auth/guards/RolesGuard';
|
||||
import { Roles } from '../../../auth/decorators/RolesDecorator';
|
||||
import { AddonService } from '../../services/admin/AddonService';
|
||||
import { CreateAddonDto, UpdateAddonDto, QueryAddonDto } from '../../dto/admin/AddonDto';
|
||||
|
||||
@Controller('adminapi/addon')
|
||||
@UseGuards(JwtAuthGuard, RolesGuard)
|
||||
@Roles('admin')
|
||||
export class AddonController {
|
||||
constructor(private readonly addonService: AddonService) {}
|
||||
|
||||
/**
|
||||
* 获取插件列表
|
||||
*/
|
||||
@Get('list')
|
||||
async list(@Query() query: QueryAddonDto) {
|
||||
return this.addonService.getList(query);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取插件详情
|
||||
*/
|
||||
@Get('info/:addon_id')
|
||||
async info(@Param('addon_id') addon_id: number) {
|
||||
return this.addonService.getInfo(addon_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 安装插件
|
||||
*/
|
||||
@Post('install')
|
||||
async install(@Body() dto: CreateAddonDto) {
|
||||
return this.addonService.install(dto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 卸载插件
|
||||
*/
|
||||
@Post('uninstall/:addon_id')
|
||||
async uninstall(@Param('addon_id') addon_id: number) {
|
||||
return this.addonService.uninstall(addon_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新插件
|
||||
*/
|
||||
@Put('update/:addon_id')
|
||||
async update(@Param('addon_id') addon_id: number, @Body() dto: UpdateAddonDto) {
|
||||
return this.addonService.update(addon_id, dto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 启用/禁用插件
|
||||
*/
|
||||
@Post('status/:addon_id')
|
||||
async status(@Param('addon_id') addon_id: number, @Body() dto: { status: number }) {
|
||||
return this.addonService.updateStatus(addon_id, dto.status);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取插件配置
|
||||
*/
|
||||
@Get('config/:addon_id')
|
||||
async getConfig(@Param('addon_id') addon_id: number) {
|
||||
return this.addonService.getConfig(addon_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存插件配置
|
||||
*/
|
||||
@Post('config/:addon_id')
|
||||
async saveConfig(@Param('addon_id') addon_id: number, @Body() dto: { config: any }) {
|
||||
return this.addonService.saveConfig(addon_id, dto.config);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
import {
|
||||
Controller,
|
||||
Get,
|
||||
Post,
|
||||
Put,
|
||||
Delete,
|
||||
Body,
|
||||
Param,
|
||||
Query,
|
||||
UseGuards,
|
||||
} from '@nestjs/common';
|
||||
import { JwtAuthGuard } from '../../../auth/guards/JwtAuthGuard';
|
||||
import { RolesGuard } from '../../../auth/guards/RolesGuard';
|
||||
import { AddonService } from '../../services/admin/AddonService';
|
||||
|
||||
@Controller('adminapi/addon/upgrade')
|
||||
@UseGuards(JwtAuthGuard, RolesGuard)
|
||||
export class UpgradeController {
|
||||
constructor(private readonly addonService: AddonService) {}
|
||||
|
||||
@Post('upgrade/:addon?')
|
||||
async upgrade(
|
||||
@Param('addon') addon: string,
|
||||
@Body() dto: { is_need_backup?: boolean; is_need_cloudbuild?: boolean },
|
||||
) {
|
||||
return this.addonService.upgrade(addon, dto);
|
||||
}
|
||||
|
||||
@Post('execute')
|
||||
async execute() {
|
||||
return this.addonService.executeUpgrade();
|
||||
}
|
||||
|
||||
@Get('upgrade-content/:addon?')
|
||||
async getUpgradeContent(@Param('addon') addon: string) {
|
||||
return this.addonService.getUpgradeContent(addon);
|
||||
}
|
||||
|
||||
@Get('upgrade-task')
|
||||
async getUpgradeTask() {
|
||||
return this.addonService.getUpgradeTask();
|
||||
}
|
||||
|
||||
@Get('upgrade-pre-check/:addon?')
|
||||
async upgradePreCheck(@Param('addon') addon: string) {
|
||||
return this.addonService.upgradePreCheck(addon);
|
||||
}
|
||||
|
||||
@Post('clear-upgrade-task')
|
||||
async clearUpgradeTask() {
|
||||
return this.addonService.clearUpgradeTask(0, 1);
|
||||
}
|
||||
|
||||
@Post('operate/:operate')
|
||||
async operate(@Param('operate') operate: string) {
|
||||
return this.addonService.operate(operate);
|
||||
}
|
||||
|
||||
@Get('records')
|
||||
async getRecords(@Query() dto: { name?: string }) {
|
||||
return this.addonService.getUpgradeRecords(dto);
|
||||
}
|
||||
|
||||
@Delete('records')
|
||||
async delRecords(@Body() dto: { ids: string }) {
|
||||
return this.addonService.delUpgradeRecords(dto.ids);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user