From c92492a587bfb9f04760e1244939f1bb5c4b6d24 Mon Sep 17 00:00:00 2001 From: Legonzaur Date: Thu, 7 Sep 2023 00:30:12 +0200 Subject: [PATCH] add player route --- src/templates/player.ts | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/templates/player.ts diff --git a/src/templates/player.ts b/src/templates/player.ts new file mode 100644 index 0000000..9973939 --- /dev/null +++ b/src/templates/player.ts @@ -0,0 +1,34 @@ +/* eslint-disable @typescript-eslint/naming-convention */ +import { Router, type Response } from 'express' +import { param } from 'express-validator' +import { validateErrors } from '../common' +import { validateBody, type RequestBody } from '../types' +import typia from 'typia' +import { checkUpdateOrCreatePlayer } from '../utils' + +const router = Router() + +interface PlayerConnect { + username: string + match_id: number +} + +router.post( + '/:playerId/connect', + param('playerId').exists().withMessage('Missing Player ID').bail().isNumeric().withMessage('Player ID is not numeric'), + validateErrors, + validateBody(typia.createValidate()), + (req: RequestBody, res: Response) => { + void (async () => { + console.log('player connected') + const { username } = req.body + await checkUpdateOrCreatePlayer({ + id: req.params.playerId, + name: username + }) + res.status(200).send() + })() + } +) + +export default router