app2-api/modules/auth/auth.routes.js

95 lines
2.7 KiB
JavaScript

const routes = require("express").Router();
const passport = require("passport");
const authController = require("./auth.controller");
const authValidation = require("./auth.validations");
const SchemaValidator = require("../../middlewares/schemaValidator");
const AccessValidator = require("../../middlewares/accessValidator");
const commentController = require("../comments/comment.controller");
const events_questionsController = require("../events/events_questions.controller");
const events_inscriptionsController = require("../events/events_inscriptions.controller");
//const postService = require('./post.service')(models.Post);
//const postController = require('./post.controller')(postService);
//const { ModelHandler } = require('sequelize-handlers');
//const postHandler = new ModelHandler(models.Post);
// [ADMIN] - Login
routes.post(
"/auth",
SchemaValidator(authValidation.LoginWinEmailInputType, true),
AccessValidator.isRegisteredUserEmail,
authController.login
);
//routes.get('/auth',
// SchemaValidator(authValidation.LoginInputType, true),
// AccessValidator.isRegisteredUserEmail,
// authController.login2,
//);
routes.get(
"/auth/verify",
AccessValidator.isAdministratorUser,
authController.adminVerify
);
// Registro de usuario a partir del usuario de Firebase y
// los datos del formulario.
routes.post(
"/register",
SchemaValidator(authValidation.RegisterInputType, true),
AccessValidator.isRegisteredUserPhone,
authController.register
);
routes.get(
"/loginWithPhone",
SchemaValidator(authValidation.LoginWithPhoneInputType, true),
AccessValidator.isRegisteredUserPhone,
authController.loginWithPhone
);
routes.post("/signup", authController.singup);
routes.get("/test_jwt", AccessValidator.isLoggedUser, function (req, res) {
res.json({ success: "You are authenticated with JWT!", user: req.user });
});
routes.get(
"/verify",
SchemaValidator(authValidation.VerifyInputType, true),
AccessValidator.isLoggedUser,
authController.verify
);
routes.post(
"/deleteAccount",
SchemaValidator(authValidation.RequestDeleteAccount, true),
AccessValidator.isAPIKeyUser,
commentController.deleteCommentsByUser,
events_questionsController.deleteQuestionsByUser,
events_inscriptionsController.deleteInscriptionsByUser,
//events_reservationsController.deleteInscriptionsByUser,
authController.deleteUser
);
routes.post(
"/token",
SchemaValidator(authValidation.RequestRefreshTokenInputType, true),
AccessValidator.isLoggedUser,
authController.regenerateToken
);
routes.post("/token/reject", authController.rejectToken);
routes.post("/prueba", AccessValidator.isLoggedUser, function (req, res) {
res.json({ success: "You are authenticated with JWT!", user: req.user });
});
module.exports = routes;