Created the auth.ts routes
This commit is contained in:
parent
08b7bd5373
commit
ed21efd438
30
src/routes/v1/auth.ts
Normal file
30
src/routes/v1/auth.ts
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
import { Request, Response, Router } from "express";
|
||||||
|
import { validateSchema } from "@utils/error";
|
||||||
|
import { loginValidation, tokenValidation } from "./validations/auth";
|
||||||
|
import { login, logout } from "../../controller/auth";
|
||||||
|
|
||||||
|
const app: Router = Router();
|
||||||
|
|
||||||
|
app.post("/login", async (req: Request, res: Response) => {
|
||||||
|
if (validateSchema(res, loginValidation, req.body)) return;
|
||||||
|
|
||||||
|
const session = await login(req.body, { ip: req.ip, userAgent: req.header("User-Agent") || "None" });
|
||||||
|
if (session?.code) return res.json(session);
|
||||||
|
|
||||||
|
res.header("Authorization", session?.token).json({ ...session, message: "Your session got successfully created" });
|
||||||
|
});
|
||||||
|
|
||||||
|
app.post("/verify", (req: Request, res: Response) => {
|
||||||
|
// TODO: Integrate TOTP Verification
|
||||||
|
});
|
||||||
|
|
||||||
|
app.post("/logout", async (req: Request, res: Response) => {
|
||||||
|
if (validateSchema(res, tokenValidation, req.body)) return;
|
||||||
|
|
||||||
|
const session = await logout(req.body.token);
|
||||||
|
if (session) return res.json(session);
|
||||||
|
|
||||||
|
res.json({ message: "Your session got deleted successfully" });
|
||||||
|
});
|
||||||
|
|
||||||
|
export default app;
|
Loading…
x
Reference in New Issue
Block a user