Skip to content
Snippets Groups Projects

Group fix

Merged Ghost User requested to merge group-fix into Development
9 files
+ 89
58
Compare changes
  • Side-by-side
  • Inline
Files
9
@@ -7,12 +7,19 @@ import {
Body,
Get,
Put,
UseInterceptors,
ClassSerializerInterceptor,
} from '@nestjs/common';
import { AuthGuard } from '../shared/auth.guard';
import { ValidationPipe } from '../shared/validation.pipe';
import { User } from '../user/user.decorator';
import { GameGroupDTO, PromotePlayerDTO, JoinFactionDTO } from './faction.dto';
import {
GameGroupDTO,
PromotePlayerDTO,
JoinFactionDTO,
JoinGameGroupDTO,
} from './faction.dto';
import { FactionService } from './faction.service';
import { Roles } from '../shared/roles.decorator';
@@ -20,8 +27,9 @@ import { Roles } from '../shared/roles.decorator';
export class FactionController {
constructor(private factionservice: FactionService) {}
@Post(':id')
@UseGuards(new AuthGuard())
// takes gameId from the url to verify user role
@Post('create-group/:id')
@Roles('soldier')
@UsePipes(new ValidationPipe())
async createGroup(
@User('id') person,
@@ -33,17 +41,24 @@ export class FactionController {
} catch (error) {}
}
@Get('get-groups')
async getGroups() {
return this.factionservice.showGroups();
// id is faction ID
@Get('get-groups/:id')
async getGroups(@Param('id') id) {
return this.factionservice.showGroups(id);
}
@Put('groups/:id')
@UseGuards(new AuthGuard())
async joinGroup(@User('id') person, @Param('id') id) {
return this.factionservice.joinGroup(person, id);
// takes gameId from the url to verify user role
@Put('join-group/:id')
@Roles('soldier')
async joinGroup(
@User('id') person,
@Param('id') id,
@Body() data: JoinGameGroupDTO,
) {
return this.factionservice.joinGroup(person, id, data);
}
@UseInterceptors(ClassSerializerInterceptor)
@Get('get-faction-members/:id')
async getFactionMembers(@Param('id') factionId) {
return this.factionservice.listFactionMembers(factionId);
Loading