97 lines
3.1 KiB
TypeScript
97 lines
3.1 KiB
TypeScript
import {
|
|
Body,
|
|
Controller,
|
|
Get,
|
|
HttpCode,
|
|
HttpStatus,
|
|
Post,
|
|
Query,
|
|
UseGuards,
|
|
} from '@nestjs/common';
|
|
import { ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger';
|
|
import { JwtAuthGuard } from '@/modules/admin/identity/auth/jwt-auth.guard';
|
|
import { vbenSuccess } from '@/common';
|
|
import {
|
|
QqbotPermissionBodyDto,
|
|
QqbotPermissionConfigDto,
|
|
QqbotPermissionQueryDto,
|
|
QqbotPermissionUpdateDto,
|
|
} from './qqbot-permission.dto';
|
|
import { QqbotPermissionService } from './qqbot-permission.service';
|
|
|
|
@ApiTags('QQBot - 权限名单')
|
|
@Controller('qqbot/permission')
|
|
@UseGuards(JwtAuthGuard)
|
|
export class QqbotPermissionController {
|
|
constructor(private readonly permissionService: QqbotPermissionService) {}
|
|
|
|
@Get('config')
|
|
@ApiOperation({ summary: 'QQBot 权限名单配置' })
|
|
async config() {
|
|
return vbenSuccess(await this.permissionService.getConfig());
|
|
}
|
|
|
|
@Post('config')
|
|
@HttpCode(HttpStatus.OK)
|
|
@ApiOperation({ summary: '保存 QQBot 权限名单配置' })
|
|
async updateConfig(@Body() body: QqbotPermissionConfigDto) {
|
|
return vbenSuccess(await this.permissionService.updateConfig(body));
|
|
}
|
|
|
|
@Get('allowlist')
|
|
@ApiOperation({ summary: 'QQBot 白名单分页' })
|
|
async allowlist(@Query() query: QqbotPermissionQueryDto) {
|
|
return vbenSuccess(await this.permissionService.page('allowlist', query));
|
|
}
|
|
|
|
@Post('allowlist/save')
|
|
@HttpCode(HttpStatus.OK)
|
|
@ApiOperation({ summary: '新增 QQBot 白名单' })
|
|
async saveAllowlist(@Body() body: QqbotPermissionBodyDto) {
|
|
return vbenSuccess(await this.permissionService.save('allowlist', body));
|
|
}
|
|
|
|
@Post('allowlist/update')
|
|
@HttpCode(HttpStatus.OK)
|
|
@ApiOperation({ summary: '编辑 QQBot 白名单' })
|
|
async updateAllowlist(@Body() body: QqbotPermissionUpdateDto) {
|
|
return vbenSuccess(await this.permissionService.update('allowlist', body));
|
|
}
|
|
|
|
@Post('allowlist/delete')
|
|
@HttpCode(HttpStatus.OK)
|
|
@ApiOperation({ summary: '删除 QQBot 白名单' })
|
|
@ApiQuery({ name: 'id', type: String })
|
|
async deleteAllowlist(@Query('id') id: string) {
|
|
return vbenSuccess(await this.permissionService.remove('allowlist', id));
|
|
}
|
|
|
|
@Get('blocklist')
|
|
@ApiOperation({ summary: 'QQBot 黑名单分页' })
|
|
async blocklist(@Query() query: QqbotPermissionQueryDto) {
|
|
return vbenSuccess(await this.permissionService.page('blocklist', query));
|
|
}
|
|
|
|
@Post('blocklist/save')
|
|
@HttpCode(HttpStatus.OK)
|
|
@ApiOperation({ summary: '新增 QQBot 黑名单' })
|
|
async saveBlocklist(@Body() body: QqbotPermissionBodyDto) {
|
|
return vbenSuccess(await this.permissionService.save('blocklist', body));
|
|
}
|
|
|
|
@Post('blocklist/update')
|
|
@HttpCode(HttpStatus.OK)
|
|
@ApiOperation({ summary: '编辑 QQBot 黑名单' })
|
|
async updateBlocklist(@Body() body: QqbotPermissionUpdateDto) {
|
|
return vbenSuccess(await this.permissionService.update('blocklist', body));
|
|
}
|
|
|
|
@Post('blocklist/delete')
|
|
@HttpCode(HttpStatus.OK)
|
|
@ApiOperation({ summary: '删除 QQBot 黑名单' })
|
|
@ApiQuery({ name: 'id', type: String })
|
|
async deleteBlocklist(@Query('id') id: string) {
|
|
return vbenSuccess(await this.permissionService.remove('blocklist', id));
|
|
}
|
|
}
|