authRoutes.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import {
  2. Router
  3. } from "express";
  4. import {
  5. finishMailVerify,
  6. startMailVerify,
  7. refreshToken,
  8. register,
  9. logout,
  10. login,
  11. me,
  12. } from "../controllers/authController";
  13. import {
  14. authMiddleware,
  15. AuthRequest
  16. } from "../middlewares/authMiddleware";
  17. import {
  18. validateBody
  19. } from "../middlewares/validateBody";
  20. import {
  21. RegisterInput
  22. } from "../actions/auth/register/types";
  23. import {
  24. LoginInput
  25. } from "../actions/auth/login/types";
  26. import {
  27. FinishMailVerifyInput
  28. } from "../actions/auth/finishMailVerify/types";
  29. import {
  30. RefreshTokenInput
  31. } from "../actions/auth/refreshToken/types";
  32. const router = Router();
  33. router.post("/finish-mail-verify", validateBody(FinishMailVerifyInput), finishMailVerify);
  34. router.post("/refresh-token", validateBody(RefreshTokenInput), refreshToken);
  35. router.post("/register", validateBody(RegisterInput), register);
  36. router.post("/login", validateBody(LoginInput), login);
  37. router.post("/logout", authMiddleware, logout);
  38. router.get("/me", authMiddleware, me);
  39. router.get("/validate-token", authMiddleware, (req: AuthRequest, res) => {
  40. res.status(200)
  41. .json({
  42. message: "token-valid",
  43. context: req.context,
  44. code: 200
  45. });
  46. });
  47. export default router;