Files
wwjcloud-nest-v1/wwjcloud/src/common/addon/controllers/adminapi/AddonDevelopController.ts

104 lines
2.3 KiB
TypeScript
Raw Normal View History

2025-09-11 22:06:19 +08:00
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';
2025-09-11 22:06:19 +08:00
import { AddonDevelopService } from '../../services/admin/AddonDevelopService';
@Controller('adminapi/addon/develop')
@UseGuards(JwtAuthGuard, RolesGuard)
@Roles('admin')
2025-09-11 22:06:19 +08:00
export class AddonDevelopController {
constructor(private readonly addonDevelopService: AddonDevelopService) {}
/**
*
*/
@Get('lists')
async lists(@Query() query: any) {
return this.addonDevelopService.getPage(query);
}
/**
*
*/
@Get('info/:addon_id')
async info(@Param('addon_id') addon_id: string) {
return this.addonDevelopService.getInfo(parseInt(addon_id));
}
/**
*
*/
@Post('create')
async create(@Body() data: {
addon_name: string;
addon_key: string;
addon_desc?: string;
addon_version?: string;
addon_author?: string;
addon_config?: any;
}) {
return this.addonDevelopService.create(data);
}
/**
*
*/
@Put('edit/:addon_id')
async edit(
@Param('addon_id') addon_id: string,
@Body() data: {
addon_name?: string;
addon_key?: string;
addon_desc?: string;
addon_version?: string;
addon_author?: string;
addon_config?: any;
},
) {
return this.addonDevelopService.edit(parseInt(addon_id), data);
}
/**
*
*/
@Delete('delete/:addon_id')
async delete(@Param('addon_id') addon_id: string) {
return this.addonDevelopService.delete(parseInt(addon_id));
}
/**
*
*/
@Post('build/:addon_id')
async build(@Param('addon_id') addon_id: string) {
return this.addonDevelopService.build(parseInt(addon_id));
}
/**
*
*/
@Get('download/:addon_id')
async download(@Param('addon_id') addon_id: string) {
return this.addonDevelopService.download(parseInt(addon_id));
}
/**
*
*/
@Get('templates')
async getTemplates() {
return this.addonDevelopService.getTemplates();
}
}