Presupuestador_web/server/src/infrastructure/express/api/routes/auth.routes.ts
2024-06-26 13:18:22 +02:00

39 lines
1.2 KiB
TypeScript

import { checkUser, createLoginController } from "@/contexts/auth";
import { createIdentityController } from "@/contexts/auth/infrastructure/express/controllers/identity";
import Express from "express";
import passport from "passport";
export const authRouter = (appRouter: Express.Router) => {
const authRoutes: Express.Router = Express.Router({ mergeParams: true });
//appRouter.use(registerMiddleware("isUser", isUser));
//appRouter.use(registerMiddleware("isAdmin", isAdmin));
authRoutes.post(
"/login",
passport.authenticate("local-email", { session: false }),
(req: Express.Request, res: Express.Response, next: Express.NextFunction) =>
createLoginController(res.locals["context"]).execute(req, res, next)
);
authRoutes.post("/logout", checkUser, (req: Express.Request, res: Express.Response) => {
req.logout(function (err) {
if (err) {
return res.status(500).json();
}
return res.status(200).json();
});
});
authRoutes.post("/register");
authRoutes.get(
"/identity",
checkUser,
(req: Express.Request, res: Express.Response, next: Express.NextFunction) =>
createIdentityController(res.locals["context"]).execute(req, res, next)
);
appRouter.use("/auth", authRoutes);
};