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) {
|
||||
const api = new SibApiV3Sdk.ContactsApi();
|
||||
@ -205,16 +221,22 @@ function deleteMemberFromList(listId, member) {
|
||||
return _removeMemberFromList(member, listId);
|
||||
}
|
||||
|
||||
|
||||
function updateMemberByEmail(userEmail, userData) {
|
||||
return _updateMember(userEmail, userData);
|
||||
}
|
||||
|
||||
function deleteMemberByEmail(userEmail) {
|
||||
return _deleteMember(userEmail);
|
||||
}
|
||||
|
||||
|
||||
module.exports = {
|
||||
sendEmailTransactional,
|
||||
getLists,
|
||||
addMemberToList,
|
||||
deleteMemberFromList,
|
||||
updateMemberByEmail
|
||||
updateMemberByEmail,
|
||||
deleteMemberByEmail
|
||||
}
|
||||
|
||||
|
||||
@ -203,10 +203,13 @@ async function register(req, res, next) {
|
||||
const oldUserData = newUser;
|
||||
|
||||
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);
|
||||
} catch (error) {
|
||||
@ -522,13 +525,22 @@ async function deleteUser(req, res, next) {
|
||||
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) {
|
||||
// No se ha encontrado
|
||||
return controllerHelper.handleResultResponse(
|
||||
"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);
|
||||
}
|
||||
|
||||
|
||||
@ -4,6 +4,9 @@ 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);
|
||||
@ -60,6 +63,18 @@ routes.get(
|
||||
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),
|
||||
@ -69,6 +84,9 @@ routes.post(
|
||||
|
||||
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 });
|
||||
});
|
||||
|
||||
@ -72,8 +72,8 @@ const extraMethods = {
|
||||
where: {
|
||||
id: userId,
|
||||
email: userEmail,
|
||||
userPhone: userPhone,
|
||||
entityLevel: 1,
|
||||
phone: userPhone,
|
||||
level: 1,
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@ -42,6 +42,12 @@ const RequestRefreshTokenInputType = Joi.object().keys({
|
||||
email: Joi.string().required(),
|
||||
});
|
||||
|
||||
const RequestDeleteAccount = Joi.object().keys({
|
||||
id: Joi.string().required(),
|
||||
phone: Joi.string().required(),
|
||||
email: Joi.string().required(),
|
||||
});
|
||||
|
||||
module.exports = {
|
||||
LoginWithPhoneInputType,
|
||||
LoginWithEmailInputType,
|
||||
@ -49,4 +55,5 @@ module.exports = {
|
||||
LoginOutputType,
|
||||
VerifyInputType,
|
||||
RequestRefreshTokenInputType,
|
||||
RequestDeleteAccount
|
||||
};
|
||||
|
||||
@ -2,13 +2,34 @@
|
||||
|
||||
const generateControllers = require('../../core/controllers');
|
||||
const commentService = require('./comment.service');
|
||||
const { extractParamsFromRequest, handleErrorResponse, handleResultResponse } = require('../../helpers/controller.helper');
|
||||
const { buildContext } = require('../../core/controllers');
|
||||
|
||||
// Module Name
|
||||
const MODULE_NAME = '[comment.controller]';
|
||||
|
||||
const controllerOptions = { MODULE_NAME };
|
||||
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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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
|
||||
_validateInscription: (inscriptionId, userId) => {
|
||||
return models.EventInscription.update(
|
||||
|
||||
@ -2,13 +2,34 @@
|
||||
|
||||
const generateControllers = require('../../core/controllers');
|
||||
const eventQuestionService = require('./events_questions.service');
|
||||
const { buildContext } = require('../../core/controllers');
|
||||
|
||||
|
||||
// Module Name
|
||||
const MODULE_NAME = '[eventQuestion.controller]';
|
||||
|
||||
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);
|
||||
|
||||
|
||||
@ -147,11 +147,11 @@ async function syncronizeEventWithMarketingList(eventId) {
|
||||
|
||||
function userToMarktingDTO(user) {
|
||||
const result = {};
|
||||
result.email = user.email;
|
||||
result.name = user.name;
|
||||
result.surname = user.surname;
|
||||
result.userId = user.id;
|
||||
result.entity = user.Entity ? user.Entity.name : "";
|
||||
result.email = user.email ? user.email : '';
|
||||
result.name = user.name ? user.name : '';
|
||||
result.surname = user.surname ? user.surname : '';
|
||||
result.userId = user.id ? user.id : '';
|
||||
result.entity = user.Entity ? user.Entity.name : '';
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user