Presupuestador_web/server/src/infrastructure/express/api/routes/auth.routes.ts

40 lines
1.4 KiB
TypeScript
Raw Normal View History

2024-05-15 19:56:22 +00:00
import Express from "express";
import passport from "passport";
2024-06-14 12:07:20 +00:00
import { createLoginController } from "../../../../contexts/auth/infrastructure/express/controllers";
import { createIdentityController } from "../../../../contexts/auth/infrastructure/express/controllers/identity";
import { checkUser } from "../../../../contexts/auth/infrastructure/express/passport";
2024-05-15 19:56:22 +00:00
2024-06-14 12:07:20 +00:00
export const authRouter = (appRouter: Express.Router) => {
2024-05-15 19:56:22 +00:00
const authRoutes: Express.Router = Express.Router({ mergeParams: true });
2024-05-23 15:38:41 +00:00
//appRouter.use(registerMiddleware("isUser", isUser));
//appRouter.use(registerMiddleware("isAdmin", isAdmin));
2024-05-15 19:56:22 +00:00
authRoutes.post(
"/login",
passport.authenticate("local-email", { session: false }),
(req: Express.Request, res: Express.Response, next: Express.NextFunction) =>
2024-05-23 15:38:41 +00:00
createLoginController(res.locals["context"]).execute(req, res, next)
2024-05-15 19:56:22 +00:00
);
2024-06-14 12:07:20 +00:00
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();
});
2024-05-23 15:38:41 +00:00
});
2024-05-16 18:16:00 +00:00
authRoutes.post("/register");
2024-06-09 16:17:22 +00:00
authRoutes.get(
"/identity",
2024-06-14 12:07:20 +00:00
checkUser,
2024-06-09 16:17:22 +00:00
(req: Express.Request, res: Express.Response, next: Express.NextFunction) =>
createIdentityController(res.locals["context"]).execute(req, res, next)
);
2024-05-15 19:56:22 +00:00
appRouter.use("/auth", authRoutes);
};