Ajout endpoint pour changer de joueur⋅se actif⋅ve

This commit is contained in:
Emmy D'Anello 2024-12-08 20:01:43 +01:00
parent 4c157ff67f
commit 3eea3a7409
Signed by: ynerant
GPG Key ID: 3A75C55819C8CF85
2 changed files with 28 additions and 0 deletions

View File

@ -35,6 +35,18 @@ export class GameController {
return new GameEntity(await this.gameService.start())
}
/**
* Change de joueurse en course après une capture
*
* @throws {401} Non authentifiée
*/
@Post('/switch-running-player')
@UseGuards(JwtAuthGuard)
@ApiBearerAuth()
async switchRunningPlayer(): Promise<GameEntity> {
return new GameEntity(await this.gameService.switchRunningPlayer())
}
/**
* Arrêter le jeu
* @remarks Arrête le jeu (si déjà lancé), à n'utiliser qu'en fin de partie.

View File

@ -38,6 +38,22 @@ export class GameService {
})
}
async switchRunningPlayer(): Promise<Game> {
const game = await this.find()
const newRunnerId = game.currentRunnerId == 1 ? 2 : 1
await this.prisma.moneyUpdate.create({
data: {
playerId: newRunnerId,
amount: 300,
reason: MoneyUpdateType.START,
}
})
return await this.prisma.game.update({
where: { id: game.id },
data: { currentRunnerId: newRunnerId },
})
}
async stop(): Promise<Game> {
const game = await this.find()
if (!game.started)