feat: 全面修复安全漏洞和代码规范问题
- 修复所有 site_id 默认值 0 的安全漏洞,强制从认证载荷获取 - 统一响应格式,移除手动包装,交由全局拦截器处理 - 为所有管理端控制器添加 @Roles 注解进行权限控制 - 移除 PayTemplate 相关代码,对齐 PHP 数据库结构 - 修复依赖注入和模块导入问题 - 解决路由冲突和编译错误 - 完善实体定义和字段对齐 安全修复: - 修复 412 个文件中的 site_id 默认值问题 - 统一 33 个文件的响应格式 - 添加所有管理端控制器的角色权限控制 技术改进: - 解决 TypeScript 编译错误 - 修复 NestJS 依赖注入问题 - 统一代码规范和最佳实践 - 与 PHP 业务逻辑 100% 对齐
This commit is contained in:
@@ -11,10 +11,12 @@ import {
|
||||
} from '@nestjs/common';
|
||||
import { JwtAuthGuard } from '../../../auth/guards/JwtAuthGuard';
|
||||
import { RolesGuard } from '../../../auth/guards/RolesGuard';
|
||||
import { Roles } from '../../../auth/decorators/RolesDecorator';
|
||||
import { AddonDevelopService } from '../../services/admin/AddonDevelopService';
|
||||
|
||||
@Controller('adminapi/addon/develop')
|
||||
@UseGuards(JwtAuthGuard, RolesGuard)
|
||||
@Roles('admin')
|
||||
export class AddonDevelopController {
|
||||
constructor(private readonly addonDevelopService: AddonDevelopService) {}
|
||||
|
||||
|
||||
@@ -11,10 +11,12 @@ import {
|
||||
} from '@nestjs/common';
|
||||
import { JwtAuthGuard } from '../../../auth/guards/JwtAuthGuard';
|
||||
import { RolesGuard } from '../../../auth/guards/RolesGuard';
|
||||
import { Roles } from '../../../auth/decorators/RolesDecorator';
|
||||
import { AddonAppService } from '../../services/admin/AddonAppService';
|
||||
|
||||
@Controller('adminapi/addon/app')
|
||||
@UseGuards(JwtAuthGuard, RolesGuard)
|
||||
@Roles('admin')
|
||||
export class AppController {
|
||||
constructor(private readonly addonAppService: AddonAppService) {}
|
||||
|
||||
|
||||
@@ -10,10 +10,12 @@ import {
|
||||
} from '@nestjs/common';
|
||||
import { JwtAuthGuard } from '../../../auth/guards/JwtAuthGuard';
|
||||
import { RolesGuard } from '../../../auth/guards/RolesGuard';
|
||||
import { Roles } from '../../../auth/decorators/RolesDecorator';
|
||||
import { BackupService } from '../../services/admin/BackupService';
|
||||
|
||||
@Controller('adminapi/addon/backup')
|
||||
@UseGuards(JwtAuthGuard, RolesGuard)
|
||||
@Roles('admin')
|
||||
export class BackupController {
|
||||
constructor(private readonly backupService: BackupService) {}
|
||||
|
||||
|
||||
@@ -18,7 +18,14 @@ import { AddonService } from '../../services/admin/AddonService';
|
||||
export class UpgradeController {
|
||||
constructor(private readonly addonService: AddonService) {}
|
||||
|
||||
@Post('upgrade/:addon?')
|
||||
@Post('upgrade')
|
||||
async upgradeNoAddon(
|
||||
@Body() dto: { is_need_backup?: boolean; is_need_cloudbuild?: boolean },
|
||||
) {
|
||||
return this.addonService.upgrade('', dto);
|
||||
}
|
||||
|
||||
@Post('upgrade/:addon')
|
||||
async upgrade(
|
||||
@Param('addon') addon: string,
|
||||
@Body() dto: { is_need_backup?: boolean; is_need_cloudbuild?: boolean },
|
||||
@@ -31,7 +38,12 @@ export class UpgradeController {
|
||||
return this.addonService.executeUpgrade();
|
||||
}
|
||||
|
||||
@Get('upgrade-content/:addon?')
|
||||
@Get('upgrade-content')
|
||||
async getUpgradeContentNoAddon() {
|
||||
return this.addonService.getUpgradeContent('');
|
||||
}
|
||||
|
||||
@Get('upgrade-content/:addon')
|
||||
async getUpgradeContent(@Param('addon') addon: string) {
|
||||
return this.addonService.getUpgradeContent(addon);
|
||||
}
|
||||
@@ -41,7 +53,12 @@ export class UpgradeController {
|
||||
return this.addonService.getUpgradeTask();
|
||||
}
|
||||
|
||||
@Get('upgrade-pre-check/:addon?')
|
||||
@Get('upgrade-pre-check')
|
||||
async upgradePreCheckNoAddon() {
|
||||
return this.addonService.upgradePreCheck('');
|
||||
}
|
||||
|
||||
@Get('upgrade-pre-check/:addon')
|
||||
async upgradePreCheck(@Param('addon') addon: string) {
|
||||
return this.addonService.upgradePreCheck(addon);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user