import { Controller, Get, Param, Post, Req, UseGuards } from '@nestjs/common'; import { JwtAuthGuard } from '../auth/jwt-auth.guard'; import { Rank } from './rank.model'; import { RankService } from './rank.service'; @Controller('rank') export class RankController { constructor(private rankService: RankService) {} @Get() getRankList(): Promise { return this.rankService.findRankList(); } @UseGuards(JwtAuthGuard) @Get('/:id') getUserRank(@Param('id') userId: string): Promise { return this.rankService.findByUserLatest(userId); } @UseGuards(JwtAuthGuard) @Get('/:id/all') getUserHistory(@Param('id') userId: string): Promise { return this.rankService.findByUser(userId); } @UseGuards(JwtAuthGuard) @Post('/add/20') add20Points(@Req() req): Promise { return this.rankService.create(20, req.user.id); } @UseGuards(JwtAuthGuard) @Post('/add/60') add60Points(@Req() req): Promise { return this.rankService.create(60, req.user.id); } @UseGuards(JwtAuthGuard) @Post('/add/100') add100Points(@Req() req): Promise { return this.rankService.create(100, req.user.id); } }