From 99f7c68b73641cba73ff3c50445273267f379e10 Mon Sep 17 00:00:00 2001 From: Le Viet Date: Tue, 26 Apr 2022 12:53:07 +0700 Subject: [PATCH] update survey register --- src/server/controllers/member.js | 6 ++-- src/server/services/member/member.js | 53 ++++++++++++++++++++++------ 2 files changed, 47 insertions(+), 12 deletions(-) diff --git a/src/server/controllers/member.js b/src/server/controllers/member.js index f97ac49..7eb9ad9 100755 --- a/src/server/controllers/member.js +++ b/src/server/controllers/member.js @@ -10,7 +10,9 @@ module.exports = { } return memberServices.create(req) .then(member => { - res.status(200).send("Register succesfully") + res.status(200).send({ + message: "Register succesfully" + }) }) .catch(error => { res.status(400).send(error.errors) @@ -38,7 +40,7 @@ module.exports = { }, async resetPassword(req, res) { - const mode = req.body.mode; + const mode = parseInt(req.body.mode); var errors = null; switch (mode) { case memberServices.RESET_START: diff --git a/src/server/services/member/member.js b/src/server/services/member/member.js index a84d4f4..2778cf2 100755 --- a/src/server/services/member/member.js +++ b/src/server/services/member/member.js @@ -1,8 +1,9 @@ const jwt = require('jsonwebtoken'); -const { pick } = require('lodash'); +const { pick, forEach } = require('lodash'); const bcrypt = require('bcrypt'); const crypto = require('crypto'); const Member = require("../../models").Members; +const MemberOnboardingSurvey = require("../../models").MembersOnboardingSurvey; const sequelize = require("../../models").sequelize; const resetPasswordService = require("./resetPassword"); const cardService = require("../card/card"); @@ -14,7 +15,7 @@ module.exports = { RESET_CONFIRM: 200, RESET_COMPLETE: 300, async create(req) { - const { username, password, firstname, lastname, phone, email } = req.body; + const { username, password, firstname, lastname, phone, email, signUpSurveyData } = req.body; const salt = bcrypt.genSaltSync(10); const hashpassword = bcrypt.hashSync(password, salt); const user = { @@ -26,7 +27,26 @@ module.exports = { email: email } - return await Member.create(user); + const member = await Member.create(user); + if (member.id > 0) { + var arrayData = []; + forEach(signUpSurveyData, async function (survey) { + var answers = survey.answers; + forEach(answers, function (answer, answerKey) { + if (answer === true) { + var surveyData = { + member_id: member.id, + answers_key: answerKey, + answers: answer, + status: 1 + } + arrayData.push(surveyData) + } + }) + }); + MemberOnboardingSurvey.bulkCreate(arrayData); + } + return member; }, async login(req) { @@ -54,14 +74,20 @@ module.exports = { accessToken: token }; } else { - return "Wrong username or password."; + return { + message: "Wrong username or password." + }; } } else { - return "Wrong username or password."; + return { + message: "Wrong username or password." + }; } } catch (error) { console.debug(error) - return "Internal Server error Occured"; + return { + message: "Internal Server error Occured" + }; } }, @@ -86,14 +112,20 @@ module.exports = { accessToken: token }; } else { - return "Wrong username or password."; + return { + message: "Wrong username or password." + }; } } else { - return "Wrong username or password."; + return { + message: "Wrong username or password." + }; } } catch (error) { console.debug(error) - return "Internal Server error Occured"; + return { + message: "Internal Server error Occured" + }; } }, @@ -111,7 +143,7 @@ module.exports = { let expired = date.setDate(date.getDate() + 7); var status = 3; - console.log(user) + if (user == null) { console.log('user null') return false; @@ -129,6 +161,7 @@ module.exports = { } var sendmail = mailServiceMember.emailResetPassword(user, reset_pin) + console.log("send email ", sendmail); if (sendmail != false) { resetPasswordService.create(resetPasswordData) .then(result => {