diff --git a/.env b/.env index 259f2afba10c6f1d29a832ef6ad834ca73e7c83b..0de74cea89c3d481396ff1c44660c95243b2034d 100644 --- a/.env +++ b/.env @@ -1,3 +1,4 @@ MYSQL_USERNAME=root MYSQL_PASSWORD=root MYSQL_DB=repp_users +PORT = 4000 \ No newline at end of file diff --git a/src/Controllers/UserCotroller.ts b/src/Controllers/UserCotroller.ts index 0e574d3ff329e211a0857a33c150a01202feefb6..544bb9d53a952a61b4d8bcfb138bcc2a7532a94d 100644 --- a/src/Controllers/UserCotroller.ts +++ b/src/Controllers/UserCotroller.ts @@ -140,6 +140,23 @@ 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(); +}; + const listUsersById = async (req: Request, res: Response): Promise<Response> => { try { const { userIds } = req.body; @@ -157,6 +174,8 @@ router.route('/login') router.route('/') .post(create); +router.post('/validate', validate); + router.use('/', authorized); router.route('/')