feat: integrate invitation access, world NPCs, and deployment
This commit is contained in:
27
src/business/invitation/invitation_codes.controller.ts
Normal file
27
src/business/invitation/invitation_codes.controller.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { Body, Controller, Get, Param, Post, Query, Req, UseGuards, ValidationPipe, UsePipes } from '@nestjs/common';
|
||||
import { AdminGuard } from '../admin/admin.guard';
|
||||
import { GenerateInvitationCodesDto } from './invitation_code.dto';
|
||||
import { InvitationCodesService } from './invitation_codes.service';
|
||||
|
||||
@Controller('admin/invitation-codes')
|
||||
@UseGuards(AdminGuard)
|
||||
export class InvitationCodesController {
|
||||
constructor(private readonly service: InvitationCodesService) {}
|
||||
|
||||
@Post()
|
||||
@UsePipes(new ValidationPipe({ transform: true }))
|
||||
async generate(@Body() dto: GenerateInvitationCodesDto, @Req() req: any) {
|
||||
return { success: true, data: { codes: await this.service.generate(dto, req.admin?.adminId) }, message: '邀请码生成成功,请立即保存明文' };
|
||||
}
|
||||
|
||||
@Get()
|
||||
async list(@Query('limit') limit?: string, @Query('offset') offset?: string) {
|
||||
return { success: true, data: await this.service.list(Number(limit) || 100, Number(offset) || 0), message: '邀请码列表获取成功' };
|
||||
}
|
||||
|
||||
@Post(':id/revoke')
|
||||
async revoke(@Param('id') id: string) {
|
||||
await this.service.revoke(id);
|
||||
return { success: true, message: '邀请码已作废' };
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user