add player route
This commit is contained in:
@@ -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<PlayerConnect>()),
|
||||
(req: RequestBody<PlayerConnect>, 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
|
||||
Reference in New Issue
Block a user