Newer
Older
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';
import { GeoDTO } from './geo.dto';
@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')
@UsePipes(new ValidationPipe())
async trackLocation(
@User('id') userId,
@Param('id') id,
return this.trackingservice.trackLocation(userId, id, trackdata);
@Get('players/:id')
@Roles('admin', 'factionleader')
@GameStates('STARTED', 'PAUSED')
async getPlayerLocations(@User('id') userId, @Param('id') gameId) {
return this.trackingservice.getPlayers(userId, gameId);
}