diff --git a/src/Controllers/UserCotroller.ts b/src/Controllers/UserCotroller.ts index f2d703fbbae63a1fab8871ebf88717cd4c506e47..e6944bd47efcf6182868f7f786e08fb8c9ca4d25 100644 --- a/src/Controllers/UserCotroller.ts +++ b/src/Controllers/UserCotroller.ts @@ -140,12 +140,31 @@ const login = async (req: Request, res: Response): Promise<Response> => { } }; +const validate = async (req: Request, res: Response): Promise<Response> => { + const { token } = req.body; + if (token) { + jwt.verify(token, secret.auth, (error: Error, decoded: {id: number; type: number}) => { + if (error) { + const message = 'Invalid token'; + return res.status(401).send({ message }); + } + const userId = decoded.id; + return res.status(200).send({ userId }); + }); + } else { + return res.status(400).send('auth token not supplied'); + } + return res.status(500).send(); +}; + router.route('/login') .post(login); router.route('/') .post(create); +router.validate('/validate', validate); + router.use('/', authorized); router.route('/')