import { Controller, Get, Param, Post, Query, Req, UseGuards, } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; import { JwtAuthGuard } from 'src/auth/jwt-auth.guard'; import { MyLogger } from 'src/logger/logger.service'; import { CardService } from './card.service'; @ApiTags('Card') @Controller('api/card') export class CardController { constructor( private readonly cardServcie: CardService, private readonly logger: MyLogger, ) {} @Get('all') async getAll() { return await this.cardServcie.getAll(); } @UseGuards(JwtAuthGuard) @Post('create/:type') async createCard( @Req() req: any, @Query('start') start: number, @Query('end') end: number, @Param('type') type: number, ) { return await this.cardServcie.createCard(req.user._id, start, end, type); } @Get('valid/:id') async validCheck(@Param('id') cardId: number) { return await this.cardServcie.validCheck(cardId); } @Get('using') async getUsingInfo() { return await this.cardServcie.getUsingInfo(); } @Get('usingCard') async getUsingCard() { return await this.cardServcie.getUsingCard(); } @Post('release/:id') async releaseCard(@Param('id') id: number) { return await this.cardServcie.releaseCard(id); } }