update api cards and backoffice
This commit is contained in:
Generated
+27
@@ -747,6 +747,11 @@
|
|||||||
"supports-color": "^7.1.0"
|
"supports-color": "^7.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"charenc": {
|
||||||
|
"version": "0.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
|
||||||
|
"integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA=="
|
||||||
|
},
|
||||||
"check-error": {
|
"check-error": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
|
||||||
@@ -1041,6 +1046,11 @@
|
|||||||
"which": "^2.0.1"
|
"which": "^2.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"crypt": {
|
||||||
|
"version": "0.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
|
||||||
|
"integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow=="
|
||||||
|
},
|
||||||
"crypto": {
|
"crypto": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/crypto/-/crypto-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/crypto/-/crypto-1.0.1.tgz",
|
||||||
@@ -2981,6 +2991,23 @@
|
|||||||
"ssri": "^8.0.1"
|
"ssri": "^8.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"md5": {
|
||||||
|
"version": "2.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz",
|
||||||
|
"integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==",
|
||||||
|
"requires": {
|
||||||
|
"charenc": "0.0.2",
|
||||||
|
"crypt": "0.0.2",
|
||||||
|
"is-buffer": "~1.1.6"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"is-buffer": {
|
||||||
|
"version": "1.1.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
|
||||||
|
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"media-typer": {
|
"media-typer": {
|
||||||
"version": "0.3.0",
|
"version": "0.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
"handlebars": "^4.7.7",
|
"handlebars": "^4.7.7",
|
||||||
"jsonwebtoken": "^8.5.1",
|
"jsonwebtoken": "^8.5.1",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
|
"md5": "^2.3.0",
|
||||||
"morgan": "1.9.1",
|
"morgan": "1.9.1",
|
||||||
"node-gyp": "^9.0.0",
|
"node-gyp": "^9.0.0",
|
||||||
"nodemailer": "^6.7.2",
|
"nodemailer": "^6.7.2",
|
||||||
|
|||||||
Executable
+27
@@ -0,0 +1,27 @@
|
|||||||
|
const memberServices = require("../services").adminService.bkouser;
|
||||||
|
|
||||||
|
console.log(memberServices)
|
||||||
|
module.exports = {
|
||||||
|
register(req, res) {
|
||||||
|
const errors = validationResult(req);
|
||||||
|
if (!errors.isEmpty()) {
|
||||||
|
console.log(errors)
|
||||||
|
return res.status(400).json({ errors: errors.array() });
|
||||||
|
}
|
||||||
|
return memberServices.create(req)
|
||||||
|
.then(member => {
|
||||||
|
res.status(200).send({
|
||||||
|
message: "Register succesfully"
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
res.status(400).send(error.errors)
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
login(req, res) {
|
||||||
|
memberServices.login(req)
|
||||||
|
.then(accessToken => res.status(200).send(accessToken))
|
||||||
|
.catch(error => res.status(400).send(error.errors));
|
||||||
|
},
|
||||||
|
};
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
const member = require("./member");
|
const member = require("./member");
|
||||||
|
const bkoUser = require("./bkouser");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
member
|
member,
|
||||||
|
bkoUser
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -142,4 +142,37 @@ module.exports = {
|
|||||||
res.status(400).send(error.errors)
|
res.status(400).send(error.errors)
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
saveDashCard(req, res) {
|
||||||
|
console.log('saveDashCard')
|
||||||
|
memberServices.saveDashCard(req)
|
||||||
|
.then(data => {
|
||||||
|
return res.status(200).send(data)
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
res.status(400).send(error.errors)
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
getDashCards(req, res) {
|
||||||
|
console.log('getDashCard');
|
||||||
|
memberServices.getDashCards(req)
|
||||||
|
.then(data => {
|
||||||
|
return res.status(200).send(data)
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
res.status(400).send(error.errors)
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
subscribeCard(req, res) {
|
||||||
|
console.log('subscribeCard')
|
||||||
|
memberServices.subscribeCard(req)
|
||||||
|
.then(data => {
|
||||||
|
return res.status(200).send(data)
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
res.status(400).send(error.errors)
|
||||||
|
});
|
||||||
|
},
|
||||||
};
|
};
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
const BkoUserController = require("../controllers").bkoUser;
|
||||||
|
|
||||||
|
module.exports = (app, url) => {
|
||||||
|
/**
|
||||||
|
* @swagger
|
||||||
|
* /v1/user/login:
|
||||||
|
* post:
|
||||||
|
* tags:
|
||||||
|
* - Users
|
||||||
|
* summary: Create a JSONPlaceholder user.
|
||||||
|
* requestBody:
|
||||||
|
* required: true
|
||||||
|
* content:
|
||||||
|
* application/json:
|
||||||
|
* schema:
|
||||||
|
* type: object
|
||||||
|
* properties:
|
||||||
|
* username:
|
||||||
|
* type: string
|
||||||
|
* description: The user's username.
|
||||||
|
* example: test
|
||||||
|
* password:
|
||||||
|
* type: string
|
||||||
|
* description: The user's password.
|
||||||
|
* example: password
|
||||||
|
* responses:
|
||||||
|
* 200:
|
||||||
|
* description: Login success
|
||||||
|
* content:
|
||||||
|
* application/json:
|
||||||
|
* schema:
|
||||||
|
* type: object
|
||||||
|
* properties:
|
||||||
|
* accessToken:
|
||||||
|
* type: string
|
||||||
|
* description: Message
|
||||||
|
* example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InRlc3RAZmxvYXQuc2ciLCJpYXQiOjE2NDcwODIxNDIsImV4cCI6MTY0NzA4Mzk0Mn0.fMQYB4ielKPh21QcZFwOJSjlGNCAg8rkvEcKWctxdX8
|
||||||
|
* 400:
|
||||||
|
* description: Invalid
|
||||||
|
* content:
|
||||||
|
* application/json:
|
||||||
|
* schema:
|
||||||
|
* type: object
|
||||||
|
* properties:
|
||||||
|
* message:
|
||||||
|
* type: string
|
||||||
|
* description: Message
|
||||||
|
* example: Wrong username or password
|
||||||
|
*/
|
||||||
|
app.post(url + "admin/login", BkoUserController.login);
|
||||||
|
|
||||||
|
};
|
||||||
@@ -1,6 +1,8 @@
|
|||||||
const member = require("./member");
|
const member = require("./member");
|
||||||
|
const admin = require("./admin");
|
||||||
|
|
||||||
const url = '/api/v1/';
|
const url = '/api/v1/';
|
||||||
module.exports = (app) => {
|
module.exports = (app) => {
|
||||||
member(app, url)
|
member(app, url);
|
||||||
|
admin(app, url);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -292,8 +292,10 @@ module.exports = (app, url) => {
|
|||||||
* app.post("refreshlinkemail");
|
* app.post("refreshlinkemail");
|
||||||
* app.post("usertransportlist");
|
* app.post("usertransportlist");
|
||||||
* app.post("usertransportprofile");
|
* app.post("usertransportprofile");
|
||||||
* app.post("getdashcarddata");
|
*
|
||||||
*/
|
* */
|
||||||
|
app.get(url + "user/getdashcarddata", auth, memberController.getDashCards);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @swagger
|
* @swagger
|
||||||
* /v1/user/loadsavedcards:
|
* /v1/user/loadsavedcards:
|
||||||
@@ -314,8 +316,55 @@ module.exports = (app, url) => {
|
|||||||
* $ref: '#/components/schemas/Member'
|
* $ref: '#/components/schemas/Member'
|
||||||
*/
|
*/
|
||||||
app.get(url + "user/loadsavedcards", auth, memberController.loadSavedCards);
|
app.get(url + "user/loadsavedcards", auth, memberController.loadSavedCards);
|
||||||
|
/**
|
||||||
|
* @swagger
|
||||||
|
* /v1/user/savedashcard:
|
||||||
|
* post:
|
||||||
|
* tags:
|
||||||
|
* - Users
|
||||||
|
* summary: Create a JSONPlaceholder user.
|
||||||
|
* requestBody:
|
||||||
|
* required: true
|
||||||
|
* content:
|
||||||
|
* application/json:
|
||||||
|
* schema:
|
||||||
|
* type: object
|
||||||
|
* properties:
|
||||||
|
* email:
|
||||||
|
* type: string
|
||||||
|
* description: The user's username.
|
||||||
|
* example: test@float.sg
|
||||||
|
* mode:
|
||||||
|
* type: integer
|
||||||
|
* description: The reset mode
|
||||||
|
* example: 100
|
||||||
|
* responses:
|
||||||
|
* 200:
|
||||||
|
* description: Login success
|
||||||
|
* content:
|
||||||
|
* application/json:
|
||||||
|
* schema:
|
||||||
|
* type: object
|
||||||
|
* properties:
|
||||||
|
* accessToken:
|
||||||
|
* type: string
|
||||||
|
* description: Message
|
||||||
|
* example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InRlc3RAZmxvYXQuc2ciLCJpYXQiOjE2NDcwODIxNDIsImV4cCI6MTY0NzA4Mzk0Mn0.fMQYB4ielKPh21QcZFwOJSjlGNCAg8rkvEcKWctxdX8
|
||||||
|
* 400:
|
||||||
|
* description: Invalid
|
||||||
|
* content:
|
||||||
|
* application/json:
|
||||||
|
* schema:
|
||||||
|
* type: object
|
||||||
|
* properties:
|
||||||
|
* message:
|
||||||
|
* type: string
|
||||||
|
* description: Message
|
||||||
|
* example: Wrong username or password
|
||||||
|
*/
|
||||||
|
app.post(url + "user/savedashcard", auth, memberController.saveDashCard);
|
||||||
/*
|
/*
|
||||||
* app.post("savedashcard");
|
*
|
||||||
* app.post("saveuserbudget");
|
* app.post("saveuserbudget");
|
||||||
* app.post("resetpass");
|
* app.post("resetpass");
|
||||||
* app.post("settingsarray");
|
* app.post("settingsarray");
|
||||||
@@ -346,9 +395,9 @@ module.exports = (app, url) => {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
app.get(url + "user/getslidecarddata", auth, memberController.getSlideCardData);
|
app.get(url + "user/getslidecarddata", auth, memberController.getSlideCardData);
|
||||||
|
app.post(url + "user/subscribecard", auth, memberController.subscribeCard);
|
||||||
/**
|
/**
|
||||||
* app.post("subscribedcarddata");
|
* app.post("subscribedcarddata");
|
||||||
* app.post("subscribecard");
|
|
||||||
* app.post("savesurvey");
|
* app.post("savesurvey");
|
||||||
* app.post("pointsdetail");
|
* app.post("pointsdetail");
|
||||||
* app.post("loadredeemabale");
|
* app.post("loadredeemabale");
|
||||||
|
|||||||
Executable
+93
@@ -0,0 +1,93 @@
|
|||||||
|
const jwt = require('jsonwebtoken');
|
||||||
|
const bcrypt = require('bcrypt');
|
||||||
|
const crypto = require('crypto');
|
||||||
|
const {pick, merge } = require('lodash');
|
||||||
|
const BkoUser = require("../../models").BkoUsers;
|
||||||
|
var md5 = require('md5');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
RESET_START: 100,
|
||||||
|
RESET_CONFIRM: 200,
|
||||||
|
RESET_COMPLETE: 300,
|
||||||
|
async create(req) {
|
||||||
|
const { username, password, firstname, lastname, phone, email, signUpSurveyData } = req.body;
|
||||||
|
const salt = bcrypt.genSaltSync(10);
|
||||||
|
const hashpassword = bcrypt.hashSync(password, salt);
|
||||||
|
const user = {
|
||||||
|
username: username,
|
||||||
|
password: hashpassword,
|
||||||
|
firstname: firstname,
|
||||||
|
lastname: lastname,
|
||||||
|
phone: phone,
|
||||||
|
email: email
|
||||||
|
}
|
||||||
|
|
||||||
|
const member = await BkoUser.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) {
|
||||||
|
console.log('sss');
|
||||||
|
try {
|
||||||
|
const user = await BkoUser.findOne({
|
||||||
|
where: {
|
||||||
|
username: req.body.username,
|
||||||
|
status: 1
|
||||||
|
}
|
||||||
|
});
|
||||||
|
console.log(md5(req.body.password));
|
||||||
|
if (user) {
|
||||||
|
if (md5(req.body.password) == user.password) {
|
||||||
|
user.last_login = Date.now()
|
||||||
|
user.save()
|
||||||
|
rs = [
|
||||||
|
'firstname',
|
||||||
|
'lastname',
|
||||||
|
'username',
|
||||||
|
'email',
|
||||||
|
'pid',
|
||||||
|
'loc'
|
||||||
|
];
|
||||||
|
b = pick(user, rs)
|
||||||
|
var a ={
|
||||||
|
session_id: md5(Math.random(99)*10000),
|
||||||
|
retval: 0
|
||||||
|
}
|
||||||
|
return merge(a,b)
|
||||||
|
} else {
|
||||||
|
return {
|
||||||
|
message: "Wrong username or password."
|
||||||
|
};
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return {
|
||||||
|
message: "Wrong email."
|
||||||
|
};
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.debug(error)
|
||||||
|
return {
|
||||||
|
message: "Internal Server error Occured"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
const bkouser = require("./bkouser");
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
bkouser
|
||||||
|
};
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
const sequelize = require("../../models").sequelize;
|
const sequelize = require("../../models").sequelize;
|
||||||
const { Op } = require("sequelize");
|
const { Op } = require("sequelize");
|
||||||
const { forEach, invoke } = require('lodash');
|
const { forEach, invoke, omit, merge } = require('lodash');
|
||||||
const MembersCardAssign = require("../../models").MembersCardAssign;
|
const MembersCardAssign = require("../../models").MembersCardAssign;
|
||||||
|
const MainCards = require("../../models").MainCards;
|
||||||
|
const MemberSavedCards = require("../../models").MemberSavedCards;
|
||||||
|
|
||||||
module.exports = (memberService) => {
|
module.exports = (memberService) => {
|
||||||
const cardService = {
|
const cardService = {
|
||||||
@@ -73,14 +75,18 @@ module.exports = (memberService) => {
|
|||||||
status: 1,
|
status: 1,
|
||||||
updated: Date.now()
|
updated: Date.now()
|
||||||
};
|
};
|
||||||
|
const condition = {
|
||||||
|
member_id: memberId,
|
||||||
|
card_id: cardId,
|
||||||
|
}
|
||||||
console.log('cardClick', cardClick)
|
console.log('cardClick', cardClick)
|
||||||
if (cardClick) {
|
if (cardClick) {
|
||||||
if (cardClick.expiration == 0) {
|
if (cardClick.expiration == 0) {
|
||||||
this.updateMemberCardAssign(memberId, cardId, data);
|
this.updateMemberCardAssign(condition, data);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
//update card status
|
//update card status
|
||||||
this.updateMemberCardAssign(memberId, cardId, data);
|
this.updateMemberCardAssign(condition, data);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
//status already added
|
//status already added
|
||||||
@@ -93,7 +99,7 @@ module.exports = (memberService) => {
|
|||||||
status: 1
|
status: 1
|
||||||
}
|
}
|
||||||
//console.log(data);
|
//console.log(data);
|
||||||
//this.memberCardAssignInsert(data);
|
this.memberCardAssignInsert(data);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -133,16 +139,13 @@ module.exports = (memberService) => {
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
async updateMemberCardAssign(memberId, cardId, data) {
|
async updateMemberCardAssign(condition, data) {
|
||||||
console.log('updateMemberCardAssign')
|
console.log('updateMemberCardAssign')
|
||||||
return MembersCardAssign
|
return MembersCardAssign
|
||||||
.update(data,
|
.update(data,
|
||||||
{
|
{
|
||||||
returning: true,
|
returning: true,
|
||||||
where: {
|
where: condition
|
||||||
member_id: memberId,
|
|
||||||
card_id: cardId,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
.then(([rowsUpdate, [updatedRow]]) => {
|
.then(([rowsUpdate, [updatedRow]]) => {
|
||||||
@@ -206,7 +209,7 @@ module.exports = (memberService) => {
|
|||||||
queryMain = `FROM main_cards a LEFT JOIN card_actions b ON (b.id=a.card_action_id)
|
queryMain = `FROM main_cards a LEFT JOIN card_actions b ON (b.id=a.card_action_id)
|
||||||
WHERE a.status = 1 AND a.deleted IS NULL`;
|
WHERE a.status = 1 AND a.deleted IS NULL`;
|
||||||
sqlCount += queryMain;
|
sqlCount += queryMain;
|
||||||
sqlSelect += queryMain + ` ORDER BY RANDOM()`;
|
sqlSelect += queryMain + ` ORDER BY RANDOM()`;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
sql = `select 1 from 1`;
|
sql = `select 1 from 1`;
|
||||||
@@ -349,9 +352,9 @@ module.exports = (memberService) => {
|
|||||||
async getSavedCards(memberId) {
|
async getSavedCards(memberId) {
|
||||||
console.log(memberId)
|
console.log(memberId)
|
||||||
var result = {
|
var result = {
|
||||||
total_record : 0,
|
total_record: 0,
|
||||||
session_valid : '',
|
session_valid: '',
|
||||||
internal_return : 0,
|
internal_return: 0,
|
||||||
status: 'OK'
|
status: 'OK'
|
||||||
}
|
}
|
||||||
var saveCardsSql = `SELECT m.id AS saved_card_id, mc.*,mc.id AS card_id
|
var saveCardsSql = `SELECT m.id AS saved_card_id, mc.*,mc.id AS card_id
|
||||||
@@ -389,6 +392,151 @@ module.exports = (memberService) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return { result: result }
|
return { result: result }
|
||||||
|
},
|
||||||
|
|
||||||
|
async getDashCards(cardCount) {
|
||||||
|
var result = {
|
||||||
|
name: "Save Money",
|
||||||
|
short_title: "Save Money",
|
||||||
|
title: "Let start saving money...",
|
||||||
|
description: "I'm Float. Together we are going to make your travel, commute, and life a whole lot better. Did you bring a life jacket?",
|
||||||
|
background_picture: "https://adminsavvy.sworks.float.sg/SAVVY/img/feed1.jpg",
|
||||||
|
button1: "",
|
||||||
|
button1_text: "Let Start",
|
||||||
|
button1_action: "GOOFFERS",
|
||||||
|
can_save: 0,
|
||||||
|
card_id: 0
|
||||||
|
};
|
||||||
|
|
||||||
|
if (cardCount > 0) {
|
||||||
|
var card = await MainCards.findOne({
|
||||||
|
where: {
|
||||||
|
id: cardCount
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (card) {
|
||||||
|
result = card.dataValues;
|
||||||
|
result.card_id = result.id
|
||||||
|
return omit(result, 'id');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
},
|
||||||
|
|
||||||
|
async saveDashCard(memberId, cardId) {
|
||||||
|
result = {
|
||||||
|
saved_card_id: 0
|
||||||
|
};
|
||||||
|
var data = {
|
||||||
|
member_id: memberId,
|
||||||
|
card_id: cardId
|
||||||
|
};
|
||||||
|
var saveCard = await MemberSavedCards.findOne({
|
||||||
|
where: data
|
||||||
|
});
|
||||||
|
console.log(saveCard)
|
||||||
|
if (!saveCard) {
|
||||||
|
return await MemberSavedCards.create(data);
|
||||||
|
}
|
||||||
|
return saveCard;
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
async subscribeCard(memberId, cardId, dir) {
|
||||||
|
memberService.refreshMembersPersonalty(memberId);
|
||||||
|
return
|
||||||
|
var result = {
|
||||||
|
saved_card_id: 0
|
||||||
|
}
|
||||||
|
var condition = {
|
||||||
|
member_id: memberId,
|
||||||
|
card_id: cardId
|
||||||
|
};
|
||||||
|
var cardAssign = await MembersCardAssign.findOne({
|
||||||
|
where: merge(condition, {
|
||||||
|
status: 1
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(cardAssign)
|
||||||
|
if (cardAssign) {
|
||||||
|
switch (dir) {
|
||||||
|
case 1:
|
||||||
|
var data = {
|
||||||
|
subscribe: Date.now()
|
||||||
|
};
|
||||||
|
this.updateMemberCardAssign(
|
||||||
|
merge(condition, {subscribe: null}),
|
||||||
|
data
|
||||||
|
);
|
||||||
|
result.sub_status = "SUBSCRIB";
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
var data = {
|
||||||
|
subscribe: null
|
||||||
|
};
|
||||||
|
this.updateMemberCardAssign(
|
||||||
|
merge(condition, {subscribe: {
|
||||||
|
[Op.ne]: null
|
||||||
|
}}),
|
||||||
|
data
|
||||||
|
);
|
||||||
|
result.sub_status = "UNSUB";
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
var cardAssign = await MembersCardAssign.findOne({
|
||||||
|
where: merge(condition, {
|
||||||
|
status: 0
|
||||||
|
})
|
||||||
|
});
|
||||||
|
if (!cardAssign) {
|
||||||
|
var dataCard = {
|
||||||
|
member_id: memberId,
|
||||||
|
card_id: cardId,
|
||||||
|
how: "DEALS"
|
||||||
|
}
|
||||||
|
card = await this.memberCardAssignInsert(dataCard);
|
||||||
|
if (card.id) {
|
||||||
|
var data = {
|
||||||
|
subscribe: Date.now(),
|
||||||
|
status: 3
|
||||||
|
};
|
||||||
|
var condition = {
|
||||||
|
member_id: memberId,
|
||||||
|
card_id: card.id,
|
||||||
|
subscribe: null
|
||||||
|
};
|
||||||
|
this.updateMemberCardAssign(condition, data);
|
||||||
|
result.sub_status = "SUBSCRIB";
|
||||||
|
memberService.refreshMembersPersonalty(memberId)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
var data = {
|
||||||
|
subscribe: Date.now(),
|
||||||
|
status: 3,
|
||||||
|
how: "DEALS"
|
||||||
|
};
|
||||||
|
var condition = {
|
||||||
|
member_id: memberId,
|
||||||
|
card_id: card.id,
|
||||||
|
id: cardAssign.id
|
||||||
|
};
|
||||||
|
this.updateMemberCardAssign(condition, data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
cardAssign = await MembersCardAssign.findOne({
|
||||||
|
where: {
|
||||||
|
member_id: memberId,
|
||||||
|
card_id: cardId,
|
||||||
|
status: 1
|
||||||
|
}
|
||||||
|
});
|
||||||
|
memberService.refreshMembersPersonalty(memberId)
|
||||||
|
console.log(cardAssign)
|
||||||
|
return cardAssign;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
const cardService = require("./card");
|
const cardService = require("./card");
|
||||||
const mailService = require("./mail");
|
const mailService = require("./mail");
|
||||||
const memberService = require("./member");
|
const memberService = require("./member");
|
||||||
|
const adminService = require("./admin");
|
||||||
|
|
||||||
/*console.log({
|
/*console.log({
|
||||||
cardService,
|
cardService,
|
||||||
@@ -10,5 +11,6 @@ const memberService = require("./member");
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
cardService,
|
cardService,
|
||||||
mailService,
|
mailService,
|
||||||
memberService
|
memberService,
|
||||||
|
adminService
|
||||||
};
|
};
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user