authRoutes.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. FinishMailVerifyInput,
  22. StartMailVerifyInput,
  23. RefreshTokenInput,
  24. RegisterInput,
  25. LoginInput
  26. } from "../actions/auth/types/index";
  27. const router = Router();
  28. router.post("/finishMailVerify", validateBody(FinishMailVerifyInput), finishMailVerify);
  29. router.post("/startMailVerify", validateBody(StartMailVerifyInput), startMailVerify);
  30. router.post("/refreshToken", validateBody(RefreshTokenInput), refreshToken);
  31. router.post("/register", validateBody(RegisterInput), register);
  32. router.post("/login", validateBody(LoginInput), login);
  33. router.post("/logout", authMiddleware, logout);
  34. router.get("/validateToken", authMiddleware, (req: AuthRequest, res) => {
  35. res.status(200)
  36. .json({
  37. message: "token-valid",
  38. context: req.context,
  39. code: 200
  40. });
  41. });
  42. router.get("/me", authMiddleware, me);
  43. export default router;