Borrado de un usuario para que lo use la web de bajas
This commit is contained in:
parent
1738cce3d7
commit
d068c0443c
@ -119,6 +119,22 @@ function _updateMember(email, member) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function _deleteMember(email) {
|
||||||
|
const api = new SibApiV3Sdk.ContactsApi();
|
||||||
|
|
||||||
|
return new Promise(function (resolve, reject) {
|
||||||
|
|
||||||
|
api.deleteContact(email)
|
||||||
|
.then(function (data) {
|
||||||
|
console.debug('API called successfully. Returned data: ' + data);
|
||||||
|
resolve();
|
||||||
|
})
|
||||||
|
.catch(function (error) {
|
||||||
|
console.error(error);
|
||||||
|
reject(error);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
function _addMemberToList(member, listId) {
|
function _addMemberToList(member, listId) {
|
||||||
const api = new SibApiV3Sdk.ContactsApi();
|
const api = new SibApiV3Sdk.ContactsApi();
|
||||||
@ -205,16 +221,22 @@ function deleteMemberFromList(listId, member) {
|
|||||||
return _removeMemberFromList(member, listId);
|
return _removeMemberFromList(member, listId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function updateMemberByEmail(userEmail, userData) {
|
function updateMemberByEmail(userEmail, userData) {
|
||||||
return _updateMember(userEmail, userData);
|
return _updateMember(userEmail, userData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function deleteMemberByEmail(userEmail) {
|
||||||
|
return _deleteMember(userEmail);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
sendEmailTransactional,
|
sendEmailTransactional,
|
||||||
getLists,
|
getLists,
|
||||||
addMemberToList,
|
addMemberToList,
|
||||||
deleteMemberFromList,
|
deleteMemberFromList,
|
||||||
updateMemberByEmail
|
updateMemberByEmail,
|
||||||
|
deleteMemberByEmail
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -203,10 +203,13 @@ async function register(req, res, next) {
|
|||||||
const oldUserData = newUser;
|
const oldUserData = newUser;
|
||||||
|
|
||||||
newUser = await authService.extraMethods.updateUser(newUser.id, data);
|
newUser = await authService.extraMethods.updateUser(newUser.id, data);
|
||||||
const userDTO = marketingService.userToMarktingDTO(newUser);
|
|
||||||
console.log(userDTO);
|
|
||||||
|
|
||||||
marketing.updateMemberByEmail(oldUserData.email, userDTO);
|
try {
|
||||||
|
const userDTO = marketingService.userToMarktingDTO(newUser);
|
||||||
|
marketing.updateMemberByEmail(oldUserData.email, userDTO);
|
||||||
|
} catch (err) {
|
||||||
|
console.error(err);
|
||||||
|
}
|
||||||
|
|
||||||
console.log("MODIFICAMOS EL USUARIO EN NUESTRO SISTEMA", newUser);
|
console.log("MODIFICAMOS EL USUARIO EN NUESTRO SISTEMA", newUser);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@ -522,13 +525,22 @@ async function deleteUser(req, res, next) {
|
|||||||
email: req.body ? req.body.email : null,
|
email: req.body ? req.body.email : null,
|
||||||
};
|
};
|
||||||
|
|
||||||
const resultCount = await authService.deleteUser(dataUser.id, dataUser.email, dataUser.phone);
|
const resultCount = await authService.extraMethods.deleteUser(dataUser.id, dataUser.email, dataUser.phone);
|
||||||
if (resultCount < 1) {
|
if (resultCount < 1) {
|
||||||
// No se ha encontrado
|
// No se ha encontrado
|
||||||
return controllerHelper.handleResultResponse(
|
return controllerHelper.handleResultResponse(
|
||||||
"No se ha podido encontrar el usuario", null, params, res, httpStatus.NOT_FOUND);
|
"No se ha podido encontrar el usuario", null, params, res, httpStatus.NOT_FOUND);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Delete in Sendinblue
|
||||||
|
try {
|
||||||
|
const userDTO = marketingService.userToMarktingDTO(dataUser);
|
||||||
|
marketing.deleteMemberByEmail(userDTO.email);
|
||||||
|
} catch (err) {
|
||||||
|
console.error(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return controllerHelper.handleResultResponse(resultCount, resultCount, params, res, httpStatus.OK);
|
return controllerHelper.handleResultResponse(resultCount, resultCount, params, res, httpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -4,6 +4,9 @@ const authController = require("./auth.controller");
|
|||||||
const authValidation = require("./auth.validations");
|
const authValidation = require("./auth.validations");
|
||||||
const SchemaValidator = require("../../middlewares/schemaValidator");
|
const SchemaValidator = require("../../middlewares/schemaValidator");
|
||||||
const AccessValidator = require("../../middlewares/accessValidator");
|
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 postService = require('./post.service')(models.Post);
|
||||||
//const postController = require('./post.controller')(postService);
|
//const postController = require('./post.controller')(postService);
|
||||||
@ -60,6 +63,18 @@ routes.get(
|
|||||||
authController.verify
|
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(
|
routes.post(
|
||||||
"/token",
|
"/token",
|
||||||
SchemaValidator(authValidation.RequestRefreshTokenInputType, true),
|
SchemaValidator(authValidation.RequestRefreshTokenInputType, true),
|
||||||
@ -69,6 +84,9 @@ routes.post(
|
|||||||
|
|
||||||
routes.post("/token/reject", authController.rejectToken);
|
routes.post("/token/reject", authController.rejectToken);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
routes.post("/prueba", AccessValidator.isLoggedUser, function (req, res) {
|
routes.post("/prueba", AccessValidator.isLoggedUser, function (req, res) {
|
||||||
res.json({ success: "You are authenticated with JWT!", user: req.user });
|
res.json({ success: "You are authenticated with JWT!", user: req.user });
|
||||||
});
|
});
|
||||||
|
|||||||
@ -72,8 +72,8 @@ const extraMethods = {
|
|||||||
where: {
|
where: {
|
||||||
id: userId,
|
id: userId,
|
||||||
email: userEmail,
|
email: userEmail,
|
||||||
userPhone: userPhone,
|
phone: userPhone,
|
||||||
entityLevel: 1,
|
level: 1,
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -42,6 +42,12 @@ const RequestRefreshTokenInputType = Joi.object().keys({
|
|||||||
email: Joi.string().required(),
|
email: Joi.string().required(),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const RequestDeleteAccount = Joi.object().keys({
|
||||||
|
id: Joi.string().required(),
|
||||||
|
phone: Joi.string().required(),
|
||||||
|
email: Joi.string().required(),
|
||||||
|
});
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
LoginWithPhoneInputType,
|
LoginWithPhoneInputType,
|
||||||
LoginWithEmailInputType,
|
LoginWithEmailInputType,
|
||||||
@ -49,4 +55,5 @@ module.exports = {
|
|||||||
LoginOutputType,
|
LoginOutputType,
|
||||||
VerifyInputType,
|
VerifyInputType,
|
||||||
RequestRefreshTokenInputType,
|
RequestRefreshTokenInputType,
|
||||||
|
RequestDeleteAccount
|
||||||
};
|
};
|
||||||
|
|||||||
@ -2,13 +2,34 @@
|
|||||||
|
|
||||||
const generateControllers = require('../../core/controllers');
|
const generateControllers = require('../../core/controllers');
|
||||||
const commentService = require('./comment.service');
|
const commentService = require('./comment.service');
|
||||||
const { extractParamsFromRequest, handleErrorResponse, handleResultResponse } = require('../../helpers/controller.helper');
|
const { buildContext } = require('../../core/controllers');
|
||||||
|
|
||||||
// Module Name
|
// Module Name
|
||||||
const MODULE_NAME = '[comment.controller]';
|
const MODULE_NAME = '[comment.controller]';
|
||||||
|
|
||||||
const controllerOptions = { MODULE_NAME };
|
const controllerOptions = { MODULE_NAME };
|
||||||
const extraControllers = {
|
const extraControllers = {
|
||||||
|
deleteCommentsByUser: async (req, res, next) => {
|
||||||
|
const context = {};
|
||||||
|
|
||||||
|
try {
|
||||||
|
const user = {
|
||||||
|
id: req.body.id,
|
||||||
|
phone: req.body.phone,
|
||||||
|
email: req.body.email,
|
||||||
|
};
|
||||||
|
|
||||||
|
await commentService.delete({
|
||||||
|
query: {
|
||||||
|
userId: user.id
|
||||||
|
}
|
||||||
|
}, context);
|
||||||
|
|
||||||
|
next();
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = generateControllers(commentService, extraControllers, controllerOptions);
|
module.exports = generateControllers(commentService, extraControllers, controllerOptions);
|
||||||
|
|||||||
@ -517,6 +517,28 @@ const extraControllers = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
deleteInscriptionsByUser: async (req, res, next) => {
|
||||||
|
|
||||||
|
try {
|
||||||
|
//const context = buildContext(req, config);
|
||||||
|
//const user = context.user ? context.user : null;
|
||||||
|
|
||||||
|
const user = {
|
||||||
|
id: req.body.id,
|
||||||
|
phone: req.body.phone,
|
||||||
|
email: req.body.email,
|
||||||
|
};
|
||||||
|
|
||||||
|
await eventInscriptionService._deleteInscriptionByUser(user.id);
|
||||||
|
|
||||||
|
next();
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = generateControllers(eventInscriptionService, extraControllers, controllerOptions);
|
module.exports = generateControllers(eventInscriptionService, extraControllers, controllerOptions);
|
||||||
|
|||||||
@ -228,6 +228,15 @@ const extraMethods = {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_deleteInscriptionByUser: (userId) => {
|
||||||
|
|
||||||
|
return models.EventInscription.destroy({
|
||||||
|
where: {
|
||||||
|
userId: userId,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
//Validamos la inscripcion la quitamos de las lista de espera y asignamos el usuario que la ha validado
|
//Validamos la inscripcion la quitamos de las lista de espera y asignamos el usuario que la ha validado
|
||||||
_validateInscription: (inscriptionId, userId) => {
|
_validateInscription: (inscriptionId, userId) => {
|
||||||
return models.EventInscription.update(
|
return models.EventInscription.update(
|
||||||
|
|||||||
@ -2,13 +2,34 @@
|
|||||||
|
|
||||||
const generateControllers = require('../../core/controllers');
|
const generateControllers = require('../../core/controllers');
|
||||||
const eventQuestionService = require('./events_questions.service');
|
const eventQuestionService = require('./events_questions.service');
|
||||||
|
const { buildContext } = require('../../core/controllers');
|
||||||
|
|
||||||
|
|
||||||
// Module Name
|
// Module Name
|
||||||
const MODULE_NAME = '[eventQuestion.controller]';
|
const MODULE_NAME = '[eventQuestion.controller]';
|
||||||
|
|
||||||
const controllerOptions = { MODULE_NAME };
|
const controllerOptions = { MODULE_NAME };
|
||||||
const extraControllers = {};
|
const extraControllers = {
|
||||||
|
deleteQuestionsByUser: async (req, res, next) => {
|
||||||
|
try {
|
||||||
|
const context = {};
|
||||||
|
|
||||||
|
const user = {
|
||||||
|
id: req.body.id,
|
||||||
|
phone: req.body.phone,
|
||||||
|
email: req.body.email,
|
||||||
|
};
|
||||||
|
|
||||||
|
await eventQuestionService.delete({
|
||||||
|
query: { userId: user.id }
|
||||||
|
}, context);
|
||||||
|
|
||||||
|
next();
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
module.exports = generateControllers(eventQuestionService, extraControllers, controllerOptions);
|
module.exports = generateControllers(eventQuestionService, extraControllers, controllerOptions);
|
||||||
|
|
||||||
|
|||||||
@ -147,11 +147,11 @@ async function syncronizeEventWithMarketingList(eventId) {
|
|||||||
|
|
||||||
function userToMarktingDTO(user) {
|
function userToMarktingDTO(user) {
|
||||||
const result = {};
|
const result = {};
|
||||||
result.email = user.email;
|
result.email = user.email ? user.email : '';
|
||||||
result.name = user.name;
|
result.name = user.name ? user.name : '';
|
||||||
result.surname = user.surname;
|
result.surname = user.surname ? user.surname : '';
|
||||||
result.userId = user.id;
|
result.userId = user.id ? user.id : '';
|
||||||
result.entity = user.Entity ? user.Entity.name : "";
|
result.entity = user.Entity ? user.Entity.name : '';
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user