import { Controller, Post, Param, UseGuards, UsePipes, Body, } from '@nestjs/common'; import { TrackingService } from './tracking.service'; import { TrackingDTO } from './tracking.dto'; import { User } from '../user/user.decorator'; import { Roles, GameStates } from '../shared/guard.decorator'; import { ValidationPipe } from '../shared/validation.pipe'; @Controller('tracking') export class TrackingController { constructor(private trackingservice: TrackingService) {} // inserts tracking data to the database // :id is the id of the game @Post('location/:id') @Roles('soldier') @GameStates('STARTED') @UsePipes(new ValidationPipe()) async trackLocation( @User('id') userId, @Param('id') id, @Body() trackdata: TrackingDTO, ) { return this.trackingservice.trackLocation(userId, id, trackdata); } }