import { Router } from "express"; import { finishMailVerify, startMailVerify, refreshToken, register, logout, login, me, } from "../controllers/authController"; import { authMiddleware, AuthRequest } from "../middlewares/authMiddleware"; import { validateBody } from "../middlewares/validateBody"; import { RegisterInput } from "../actions/auth/register/types"; import { LoginInput } from "../actions/auth/login/types"; import { FinishMailVerifyInput } from "../actions/auth/finishMailVerify/types"; import { RefreshTokenInput } from "../actions/auth/refreshToken/types"; const router = Router(); router.post("/finish-mail-verify", validateBody(FinishMailVerifyInput), finishMailVerify); router.post("/refresh-token", validateBody(RefreshTokenInput), refreshToken); router.post("/register", validateBody(RegisterInput), register); router.post("/login", validateBody(LoginInput), login); router.post("/logout", authMiddleware, logout); router.get("/me", authMiddleware, me); router.get("/validate-token", authMiddleware, (req: AuthRequest, res) => { res.status(200) .json({ message: "token-valid", context: req.context, code: 200 }); }); export default router;