feat: integrate invitation access, world NPCs, and deployment

This commit is contained in:
2026-09-08 22:22:38 +08:00
parent 2a3125075f
commit 513a3eba31
75 changed files with 9566 additions and 1070 deletions

View 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: '邀请码已作废' };
}
}