Merge branch 'main' of https://github.com/Danakcorp/asan-service
This commit is contained in:
Generated
+4813
-3001
File diff suppressed because it is too large
Load Diff
@@ -5,9 +5,8 @@ const { secretKey } = require('../authentication')
|
||||
const { _sr } = require('../plugins/serverResponses')
|
||||
const { checkValidations } = require('../plugins/controllersHelperFunctions')
|
||||
const UserGPS = require('../models/GPS.User')
|
||||
const { generateRandomDigits
|
||||
} = require('../plugins/controllersHelperFunctions')
|
||||
const { SMS } = require('../plugins/SMS_Module')
|
||||
const { generateRandomDigits } = require('../plugins/controllersHelperFunctions')
|
||||
const sms = require('../plugins/SMS_Module')
|
||||
module.exports.login_with_pass = [
|
||||
[
|
||||
body('username')
|
||||
@@ -56,7 +55,7 @@ module.exports.login_with_pass = [
|
||||
})
|
||||
// eslint-disable-next-line eqeqeq
|
||||
if (user?.lastIP && user?.lastIP != req.ip) {
|
||||
SMS([user.mobile_number], "کاربر گرامی، \n با دستگاه جدیدی به اکانت شما در آسان سرویس وارد شدند")
|
||||
await sms.auth.deviceLogin(user.mobile_number, req.ip)
|
||||
}
|
||||
user.lastIP = req.ip
|
||||
user.token = token
|
||||
@@ -72,12 +71,8 @@ module.exports.login_with_pass = [
|
||||
|
||||
module.exports.login_with_otp = [
|
||||
[
|
||||
body('mobile_number')
|
||||
.notEmpty()
|
||||
.withMessage(_sr.fa.required.phone_number),
|
||||
body('otp')
|
||||
.notEmpty()
|
||||
.withMessage(_sr.fa.required.phone_number)
|
||||
body('mobile_number').notEmpty().withMessage(_sr.fa.required.phone_number),
|
||||
body('otp').notEmpty().withMessage(_sr.fa.required.phone_number)
|
||||
],
|
||||
checkValidations(validationResult),
|
||||
async (req, res) => {
|
||||
@@ -85,7 +80,7 @@ module.exports.login_with_otp = [
|
||||
const { mobile_number, otp } = req.body
|
||||
const user = await UserGPS.findOne({ mobile_number })
|
||||
if (!user) throw new Error(_sr.fa.not_found.user_id)
|
||||
if (user.otp !== otp) throw new Error("کد اشتباه است")
|
||||
if (user.otp !== otp) throw new Error('کد اشتباه است')
|
||||
if (user.otp === otp) {
|
||||
if (!user.active) {
|
||||
throw new Error('حساب شما هنوز تاییده نشده است')
|
||||
@@ -95,21 +90,18 @@ module.exports.login_with_otp = [
|
||||
})
|
||||
// eslint-disable-next-line eqeqeq
|
||||
if (user?.lastIP && user?.lastIP != req.ip) {
|
||||
SMS([user.mobile_number], "کاربر گرامی، \n با دستگاه جدیدی به اکانت شما در آسان سرویس وارد شدند")
|
||||
await sms.auth.deviceLogin(user.mobile_number, req.ip)
|
||||
}
|
||||
user.otp = generateRandomDigits(6)
|
||||
user.lastIP = req.ip
|
||||
user.token = token
|
||||
user.save()
|
||||
return res.status(200).json({ token })
|
||||
|
||||
}
|
||||
} catch (err) {
|
||||
return res.status(422).json({
|
||||
validation: { otp: { msg: err.message } }
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
]
|
||||
]
|
||||
|
||||
@@ -4,7 +4,7 @@ const { body, validationResult, param } = require('express-validator')
|
||||
const uid = require('uuid')
|
||||
const User = require('../models/GPS.User')
|
||||
const { _sr } = require('../plugins/serverResponses')
|
||||
const { SMS } = require('../plugins/SMS_Module')
|
||||
const sms = require('../plugins/SMS_Module')
|
||||
const {
|
||||
res500,
|
||||
checkValidations,
|
||||
@@ -29,9 +29,7 @@ function sendConfirmationSMS(userId) {
|
||||
user.otp = mobileKey
|
||||
await user.save()
|
||||
|
||||
const smsMsg = ['این شماره در وبسایت آسان سرویس ثبت گردیده.', ' کد تایید شماره همراه: ', mobileKey]
|
||||
|
||||
await SMS([user.mobile_number], smsMsg.join(''))
|
||||
await sms.auth.mobileVerificationCode(user.mobile_number, mobileKey, new Date())
|
||||
|
||||
resolve()
|
||||
} catch (err) {
|
||||
|
||||
@@ -9,7 +9,7 @@ const {
|
||||
checkValidations,
|
||||
generateRandomDigits
|
||||
} = require('../plugins/controllersHelperFunctions')
|
||||
const { SMS } = require('../plugins/SMS_Module')
|
||||
const sms = require('../plugins/SMS_Module')
|
||||
// const { phrases } = require('../plugins/SMS_Phrases')
|
||||
// const { notifyAgent } = require('../WebSocket/controllers/agent_EventsController')
|
||||
const { notifyAdmin } = require('../WebSocket/controllers/admin_EventsController')
|
||||
@@ -20,10 +20,6 @@ function ArpaDateFormat(date) {
|
||||
return moment(date).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
|
||||
function SmsDateFormat(date) {
|
||||
return moment(date).format('jYYYY/jMM/jDD')
|
||||
}
|
||||
|
||||
/// ///////////////// agent
|
||||
module.exports.add_buffer_request = [
|
||||
async (req, res) => {
|
||||
@@ -172,15 +168,7 @@ module.exports.change_br_status_to_sent_by_agent = [
|
||||
br.sendDate = ArpaDateFormat(thisTime)
|
||||
|
||||
// send sms for agent
|
||||
const smsMsg = [
|
||||
' نماینده گرامی درخواست کالای بافر شما در تاریخ ',
|
||||
SmsDateFormat(thisTime),
|
||||
' با کد پیگیری ',
|
||||
trackingCode,
|
||||
' برای شرکت ارسال شد. '
|
||||
]
|
||||
|
||||
SMS([br.agent_id.mobile_number], smsMsg.join(''))
|
||||
await sms.bufferRequest.sent(br.agent_id.mobile_number, trackingCode, thisTime)
|
||||
|
||||
await br.save()
|
||||
notifyAdmin('updateNewBufferRequests')
|
||||
@@ -244,15 +232,7 @@ module.exports.get_one_br_for_admin = [
|
||||
br.statusHistory.push({ status: 'ongoing', date: thisTime })
|
||||
await br.save()
|
||||
|
||||
const smsMsg = [
|
||||
' نماینده گرامی درخواست کالای بافر شما با کد پیگیری ',
|
||||
br.trackingCode,
|
||||
' در تاریخ ',
|
||||
SmsDateFormat(thisTime),
|
||||
' در دست اقدام قرار گرفت. '
|
||||
]
|
||||
|
||||
SMS([br.agent_id.mobile_number], smsMsg.join(''))
|
||||
await sms.bufferRequest.ongoing(br.agent_id.mobile_number, br.trackingCode, thisTime)
|
||||
notifyAdmin('updateNewBufferRequests')
|
||||
}
|
||||
return res.json(br)
|
||||
@@ -294,38 +274,15 @@ module.exports.change_br_status_by_admin = [
|
||||
br.status = status
|
||||
br.statusHistory.push({ status, date: thisTime })
|
||||
|
||||
let smsMessage
|
||||
// differenet status methods
|
||||
// different status methods
|
||||
if (status === 'waiting') {
|
||||
smsMessage = [
|
||||
' نماینده گرامی درخواست کالای بافر شما با کد پیگیری ',
|
||||
br.trackingCode,
|
||||
' در تاریخ ',
|
||||
SmsDateFormat(thisTime),
|
||||
' در انتظار قطعه میباشد. '
|
||||
]
|
||||
await sms.bufferRequest.waiting(br.agent_id.mobile_number, br.trackingCode, thisTime)
|
||||
}
|
||||
|
||||
if (status === 'delivered') {
|
||||
if (deliveryCode) br.deliveryCode = deliveryCode
|
||||
|
||||
function deliveryCodePhrase() {
|
||||
if (deliveryCode.length) return `کد پیگیری مرسوله: ${deliveryCode}` + '\n'
|
||||
else return ''
|
||||
}
|
||||
|
||||
smsMessage = [
|
||||
' نماینده گرامی درخواست کالای بافر شما با کد پیگیری ',
|
||||
br.trackingCode,
|
||||
' در تاریخ ',
|
||||
SmsDateFormat(thisTime),
|
||||
' تحویل شد. ',
|
||||
'\n',
|
||||
deliveryCodePhrase()
|
||||
]
|
||||
await sms.bufferRequest.delivered(br.agent_id.mobile_number, br.trackingCode, deliveryCode, thisTime)
|
||||
}
|
||||
|
||||
await SMS([br.agent_id.mobile_number], smsMessage.join(''))
|
||||
await br.save()
|
||||
return res.json({ message: _faSr.response.success_save })
|
||||
} catch (e) {
|
||||
|
||||
@@ -9,7 +9,7 @@ const {
|
||||
checkValidations,
|
||||
generateRandomDigits
|
||||
} = require('../plugins/controllersHelperFunctions')
|
||||
const { SMS } = require('../plugins/SMS_Module')
|
||||
const sms = require('../plugins/SMS_Module')
|
||||
const { notifyAdmin } = require('../WebSocket/controllers/admin_EventsController')
|
||||
const _faSr = _sr.fa
|
||||
|
||||
@@ -18,10 +18,6 @@ function ArpaDateFormat(date) {
|
||||
return moment(date).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
|
||||
function SmsDateFormat(date) {
|
||||
return moment(date).format('jYYYY/jMM/jDD')
|
||||
}
|
||||
|
||||
/// ///////////////// agent
|
||||
module.exports.add_guaranteeReport = [
|
||||
async (req, res) => {
|
||||
@@ -201,15 +197,7 @@ module.exports.change_gr_status_to_sent_by_agent = [
|
||||
gr.sendDate = ArpaDateFormat(thisTime)
|
||||
|
||||
// send sms for agent
|
||||
const smsMsg = [
|
||||
' نماینده گرامی فرم گزارش عملکرد گارانتی شما در تاریخ ',
|
||||
SmsDateFormat(thisTime),
|
||||
' با کد پیگیری ',
|
||||
trackingCode,
|
||||
' برای شرکت ارسال شد. '
|
||||
]
|
||||
|
||||
SMS([gr.agent_id.mobile_number], smsMsg.join(''))
|
||||
await sms.guaranteeReport.sent(gr.agent_id.mobile_number, trackingCode, thisTime)
|
||||
|
||||
await gr.save()
|
||||
notifyAdmin('updateNewGuaranteeReports')
|
||||
|
||||
@@ -14,17 +14,11 @@ const {
|
||||
checkMobileNumber,
|
||||
normalizeMobileNumber
|
||||
} = require('../plugins/controllersHelperFunctions')
|
||||
const { SMS } = require('../plugins/SMS_Module')
|
||||
const { phrases } = require('../plugins/SMS_Phrases')
|
||||
const sms = require('../plugins/SMS_Module')
|
||||
|
||||
///
|
||||
const _faSr = _sr.fa
|
||||
|
||||
// date formaters
|
||||
function SmsDateFormat(date) {
|
||||
return moment(date).format('jYYYY/jMM/jDD')
|
||||
}
|
||||
|
||||
module.exports.addLottery = [
|
||||
[
|
||||
body('title').notEmpty().withMessage(_faSr.required.title),
|
||||
@@ -338,18 +332,7 @@ module.exports.enrollParticipant = [
|
||||
lottery.markModified('participants')
|
||||
await lottery.save()
|
||||
|
||||
const msg = [
|
||||
fullName,
|
||||
' عزیز، اطلاعات شما در تاریخ ',
|
||||
SmsDateFormat(Date.now()),
|
||||
' برای شرکت در قرعه کشی آسان سرویس ثبت گردید. ',
|
||||
'\n',
|
||||
'کد پیگیری: ',
|
||||
enrollCode,
|
||||
'\n',
|
||||
phrases.signature
|
||||
]
|
||||
SMS([normalizedMN], msg.join(''))
|
||||
await sms.lottery.enrollment(normalizedMN, fullName, enrollCode, Date.now())
|
||||
return res.json({ message: 'اطلاعات شما با موفیقت در سیستم ثبت شد. کد پیگیری به تلفن همراه شما ارسال گردید' })
|
||||
} catch (e) {
|
||||
return res500(res, `there is an error here --- ${e}`)
|
||||
|
||||
@@ -9,7 +9,7 @@ const {
|
||||
checkValidations,
|
||||
generateRandomDigits
|
||||
} = require('../plugins/controllersHelperFunctions')
|
||||
const { SMS } = require('../plugins/SMS_Module')
|
||||
const sms = require('../plugins/SMS_Module')
|
||||
const { notifyAdmin } = require('../WebSocket/controllers/admin_EventsController')
|
||||
const _faSr = _sr.fa
|
||||
|
||||
@@ -18,10 +18,6 @@ function ArpaDateFormat(date) {
|
||||
return moment(date).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
|
||||
function SmsDateFormat(date) {
|
||||
return moment(date).format('jYYYY/jMM/jDD')
|
||||
}
|
||||
|
||||
/// ///////////////// agent
|
||||
module.exports.add_oldPiece_request = [
|
||||
async (req, res) => {
|
||||
@@ -177,15 +173,7 @@ module.exports.change_opr_status_to_sent_by_agent = [
|
||||
opr.sendDate = ArpaDateFormat(thisTime)
|
||||
|
||||
// send sms for agent
|
||||
const smsMsg = [
|
||||
' نماینده گرامی درخواست قطعه داغی شما در تاریخ ',
|
||||
SmsDateFormat(thisTime),
|
||||
' با کد پیگیری ',
|
||||
trackingCode,
|
||||
' برای شرکت ارسال شد. '
|
||||
]
|
||||
|
||||
SMS([opr.agent_id.mobile_number], smsMsg.join(''))
|
||||
await sms.oldPieceRequest.sent(opr.agent_id.mobile_number, trackingCode, thisTime)
|
||||
|
||||
await opr.save()
|
||||
notifyAdmin('updateNewOldPieceRequests')
|
||||
@@ -247,15 +235,7 @@ module.exports.get_one_opr_for_admin = [
|
||||
opr.statusHistory.push({ status: 'ongoing', date: thisTime })
|
||||
await opr.save()
|
||||
|
||||
const smsMsg = [
|
||||
' نماینده گرامی درخواست قطعه داغی شما با کد پیگیری ',
|
||||
opr.trackingCode,
|
||||
' در تاریخ ',
|
||||
SmsDateFormat(thisTime),
|
||||
' در دست اقدام قرار گرفت. '
|
||||
]
|
||||
|
||||
SMS([opr.agent_id.mobile_number], smsMsg.join(''))
|
||||
await sms.oldPieceRequest.ongoing(opr.agent_id.mobile_number, opr.trackingCode, thisTime)
|
||||
notifyAdmin('updateNewOldPieceRequests')
|
||||
}
|
||||
return res.json(opr)
|
||||
@@ -297,38 +277,15 @@ module.exports.change_opr_status_by_admin = [
|
||||
opr.status = status
|
||||
opr.statusHistory.push({ status, date: thisTime })
|
||||
|
||||
let smsMessage
|
||||
// differenet status methods
|
||||
// different status methods
|
||||
if (status === 'waiting') {
|
||||
smsMessage = [
|
||||
' نماینده گرامی درخواست قطعه داغی شما با کد پیگیری ',
|
||||
opr.trackingCode,
|
||||
' در تاریخ ',
|
||||
SmsDateFormat(thisTime),
|
||||
' در انتظار قطعه میباشد. '
|
||||
]
|
||||
await sms.oldPieceRequest.waiting(opr.agent_id.mobile_number, opr.trackingCode, thisTime)
|
||||
}
|
||||
|
||||
if (status === 'delivered') {
|
||||
if (deliveryCode) opr.deliveryCode = deliveryCode
|
||||
|
||||
function deliveryCodePhrase() {
|
||||
if (deliveryCode.length) return `کد پیگیری مرسوله: ${deliveryCode}` + '\n'
|
||||
else return ''
|
||||
}
|
||||
|
||||
smsMessage = [
|
||||
' نماینده گرامی درخواست قطعه داغی شما با کد پیگیری ',
|
||||
opr.trackingCode,
|
||||
' در تاریخ ',
|
||||
SmsDateFormat(thisTime),
|
||||
' تحویل شد. ',
|
||||
'\n',
|
||||
deliveryCodePhrase()
|
||||
]
|
||||
await sms.oldPieceRequest.delivered(opr.agent_id.mobile_number, opr.trackingCode, deliveryCode, thisTime)
|
||||
}
|
||||
|
||||
await SMS([opr.agent_id.mobile_number], smsMessage.join(''))
|
||||
await opr.save()
|
||||
return res.json({ message: _faSr.response.success_save })
|
||||
} catch (e) {
|
||||
|
||||
@@ -9,7 +9,7 @@ const {
|
||||
checkValidations,
|
||||
generateRandomDigits
|
||||
} = require('../plugins/controllersHelperFunctions')
|
||||
const { SMS } = require('../plugins/SMS_Module')
|
||||
const sms = require('../plugins/SMS_Module')
|
||||
const { notifyAdmin } = require('../WebSocket/controllers/admin_EventsController')
|
||||
const _faSr = _sr.fa
|
||||
|
||||
@@ -18,10 +18,6 @@ function ArpaDateFormat(date) {
|
||||
return moment(date).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
|
||||
function SmsDateFormat(date) {
|
||||
return moment(date).format('jYYYY/jMM/jDD')
|
||||
}
|
||||
|
||||
/// ///////////////// agent
|
||||
module.exports.add_piece_request = [
|
||||
async (req, res) => {
|
||||
@@ -197,16 +193,7 @@ module.exports.change_pr_status_to_sent_by_agent = [
|
||||
pr.trackingCode = trackingCode
|
||||
pr.sendDate = ArpaDateFormat(thisTime)
|
||||
|
||||
// send sms for agent
|
||||
const smsMsg = [
|
||||
' نماینده گرامی درخواست قطعه شما در تاریخ ',
|
||||
SmsDateFormat(thisTime),
|
||||
' با کد پیگیری ',
|
||||
trackingCode,
|
||||
' برای شرکت ارسال شد. '
|
||||
]
|
||||
|
||||
SMS([pr.agent_id.mobile_number], smsMsg.join(''))
|
||||
await sms.pieceRequest.sent(pr.agent_id.mobile_number, trackingCode, thisTime)
|
||||
|
||||
await pr.save()
|
||||
notifyAdmin('updateNewPieceRequests')
|
||||
@@ -268,15 +255,7 @@ module.exports.get_one_pr_for_admin = [
|
||||
pr.statusHistory.push({ status: 'ongoing', date: thisTime })
|
||||
await pr.save()
|
||||
|
||||
const smsMsg = [
|
||||
' نماینده گرامی درخواست قطعه شما با کد پیگیری ',
|
||||
pr.trackingCode,
|
||||
' در تاریخ ',
|
||||
SmsDateFormat(thisTime),
|
||||
' در دست اقدام قرار گرفت. '
|
||||
]
|
||||
|
||||
SMS([pr.agent_id.mobile_number], smsMsg.join(''))
|
||||
await sms.pieceRequest.ongoing(pr.agent_id.mobile_number, pr.trackingCode, thisTime)
|
||||
notifyAdmin('updateNewPieceRequests')
|
||||
}
|
||||
return res.json(pr)
|
||||
@@ -318,38 +297,14 @@ module.exports.change_pr_status_by_admin = [
|
||||
pr.status = status
|
||||
pr.statusHistory.push({ status, date: thisTime })
|
||||
|
||||
let smsMessage
|
||||
// differenet status methods
|
||||
if (status === 'waiting') {
|
||||
smsMessage = [
|
||||
' نماینده گرامی درخواست قطعه شما با کد پیگیری ',
|
||||
pr.trackingCode,
|
||||
' در تاریخ ',
|
||||
SmsDateFormat(thisTime),
|
||||
' در انتظار قطعه میباشد. '
|
||||
]
|
||||
await sms.pieceRequest.waiting(pr.agent_id.mobile_number, pr.trackingCode, thisTime)
|
||||
}
|
||||
|
||||
if (status === 'delivered') {
|
||||
if (deliveryCode) pr.deliveryCode = deliveryCode
|
||||
|
||||
function deliveryCodePhrase() {
|
||||
if (deliveryCode.length) return `کد پیگیری مرسوله: ${deliveryCode}` + '\n'
|
||||
else return ''
|
||||
}
|
||||
|
||||
smsMessage = [
|
||||
' نماینده گرامی درخواست قطعه شما با کد پیگیری ',
|
||||
pr.trackingCode,
|
||||
' در تاریخ ',
|
||||
SmsDateFormat(thisTime),
|
||||
' تحویل شد. ',
|
||||
'\n',
|
||||
deliveryCodePhrase()
|
||||
]
|
||||
await sms.pieceRequest.delivered(pr.agent_id.mobile_number, pr.trackingCode, deliveryCode, thisTime)
|
||||
}
|
||||
|
||||
await SMS([pr.agent_id.mobile_number], smsMessage.join(''))
|
||||
await pr.save()
|
||||
return res.json({ message: _faSr.response.success_save })
|
||||
} catch (e) {
|
||||
|
||||
@@ -4,8 +4,8 @@ const moment = require('moment-jalaali')
|
||||
const Mongoose = require('mongoose')
|
||||
const Representation = require('../models/Representation')
|
||||
const User = require('../models/User')
|
||||
const { SMS } = require('../plugins/SMS_Module')
|
||||
const { phrases } = require('../plugins/SMS_Phrases')
|
||||
const sms = require('../plugins/SMS_Module')
|
||||
|
||||
const { _sr } = require('../plugins/serverResponses')
|
||||
const { notifyAdmin } = require('../WebSocket/controllers/admin_EventsController')
|
||||
const {
|
||||
@@ -26,10 +26,6 @@ const _faSr = _sr.fa
|
||||
// return moment(date).format('YYYY-MM-DD HH:mm:ss')
|
||||
// }
|
||||
|
||||
function SmsDateFormat(date) {
|
||||
return moment(date).format('jYYYY/jMM/jDD')
|
||||
}
|
||||
|
||||
module.exports.add_representation = [
|
||||
[
|
||||
body('representation_type')
|
||||
@@ -302,23 +298,9 @@ module.exports.add_representation = [
|
||||
user.representation_code = representation_code
|
||||
await user.save()
|
||||
|
||||
const smsMessage = [
|
||||
' متقاضی گرامی درخواست شما با کد پیگیری ',
|
||||
representation_code,
|
||||
' در تاریخ ',
|
||||
SmsDateFormat(Date.now()),
|
||||
' در سامانه ثبت شد. ',
|
||||
'\n',
|
||||
' بعد از بررسی مدارک توسط کارشناسان نتیجه از طریق پیامک برای شما ارسال خواهد شد، همچنین میتوانید با کد پیگیری از طریق نشانی زیر وضعیت درخواست خود را بررسی کند. ',
|
||||
'\n',
|
||||
'https://asan-service.com/representation',
|
||||
'\n',
|
||||
phrases.signature
|
||||
]
|
||||
|
||||
const responseMsg = ['درخواست شما باموفقیت ثبت شد.', '\n', ' کد پیگیری: ', representation_code]
|
||||
|
||||
SMS([mobile_number], smsMessage.join(''))
|
||||
await sms.representation.submitted(mobile_number, representation_code, Date.now())
|
||||
notifyAdmin('updateNewRepresentations')
|
||||
return res.json({ message: responseMsg.join('') })
|
||||
} catch (e) {
|
||||
@@ -610,16 +592,12 @@ module.exports.getOne = [
|
||||
if (representation.status === 'registered') {
|
||||
representation.status = 'ongoing'
|
||||
await representation.save()
|
||||
const smsMsg = [
|
||||
' متقاصی گرامی درخواست شما برای اخذ نمایندگی آسان سرویس به کد پیگیری ',
|
||||
|
||||
await sms.representation.underReview(
|
||||
representation.mobile_number,
|
||||
representation.representation_code,
|
||||
' مورخ ',
|
||||
SmsDateFormat(Date.now()),
|
||||
' توسط کارشناسان آسان سرویس مشاهده و مورد بررسی قرار گرفت. ',
|
||||
'\n',
|
||||
phrases.signature
|
||||
]
|
||||
SMS([representation.mobile_number], smsMsg.join(''))
|
||||
Date.now()
|
||||
)
|
||||
notifyAdmin('updateNewRepresentations')
|
||||
return res.json(representation)
|
||||
} else return res.json(representation)
|
||||
@@ -683,14 +661,11 @@ module.exports.change_form_status = [
|
||||
if (status === 'uploadOn') {
|
||||
representation.upload = true
|
||||
await representation.save()
|
||||
const smsMsg = [
|
||||
' متقاصی گرامی دسرسی آپلود مدارک برای درخواست ',
|
||||
await sms.representation.uploadAccess(
|
||||
representation.mobile_number,
|
||||
representation.representation_code,
|
||||
' ایجاد شد، لطفا هرچه سریع تر نسبت به آپلود مدارک خود اقدام کنید. ',
|
||||
'\n',
|
||||
phrases.signature
|
||||
]
|
||||
SMS([representation.mobile_number], smsMsg.join(''))
|
||||
Date.now()
|
||||
)
|
||||
return res.json({ message: 'وضعیت جدید در سیستم ثبت شد و پیامک اطلاع رسانی برای متقاضی ارسال شد' })
|
||||
}
|
||||
if (status === 'uploadOff') {
|
||||
@@ -702,12 +677,7 @@ module.exports.change_form_status = [
|
||||
if (status === 'editAccessOn') {
|
||||
representation.editAccess = true
|
||||
await representation.save()
|
||||
const smsMsg = [
|
||||
' نماینده گرامی دسرسی ویرایش اطلاعات نمایندگی برای شما ایجاد شد، لطفا هرچه سریع تر نسبت به ویرایش اطلاعات خود اقدام کنید.',
|
||||
'\n',
|
||||
phrases.signature
|
||||
]
|
||||
SMS([representation.mobile_number], smsMsg.join(''))
|
||||
await sms.representation.editAccess(representation.mobile_number, Date.now())
|
||||
return res.json({ message: 'وضعیت جدید در سیستم ثبت شد و پیامک اطلاع رسانی برای متقاضی ارسال شد' })
|
||||
}
|
||||
if (status === 'editAccessOff') {
|
||||
@@ -763,16 +733,12 @@ module.exports.change_form_status = [
|
||||
else return ' مورد قبول قرار گرفت. برای ادامه ی فرایند از طرف شرکت با شما تماس گرفته خواهد شد. '
|
||||
}
|
||||
|
||||
const smsMsg = [
|
||||
' متقاصی گرامی درخواست شما برای اخذ نمایندگی آسان سرویس به کد پیگیری ',
|
||||
await sms.representation.statusUpdate(
|
||||
representation.mobile_number,
|
||||
representation.representation_code,
|
||||
' مورخ ',
|
||||
SmsDateFormat(Date.now()),
|
||||
statusToPhrase(),
|
||||
'\n',
|
||||
phrases.signature
|
||||
]
|
||||
SMS([representation.mobile_number], smsMsg.join(''))
|
||||
Date.now()
|
||||
)
|
||||
return res.json({ message: 'وضعیت جدید در سیستم ثبت شد و پیامک اطلاع رسانی برای متقاضی ارسال شد' })
|
||||
} catch (e) {
|
||||
return res404(res, `there is an error here --- ${e}`)
|
||||
|
||||
@@ -2,7 +2,7 @@ const { body, validationResult } = require('express-validator')
|
||||
const SMSBroadcast = require('../models/SMSBroadcast')
|
||||
const { _sr } = require('../plugins/serverResponses')
|
||||
const { res500, checkValidations } = require('../plugins/controllersHelperFunctions')
|
||||
const { SMS } = require('../plugins/SMS_Module')
|
||||
const sms = require('../plugins/SMS_Module')
|
||||
const _faSr = _sr.fa
|
||||
|
||||
module.exports.broadcast = [
|
||||
@@ -19,9 +19,8 @@ module.exports.broadcast = [
|
||||
const data = { message, recievers, _creator: user_id }
|
||||
const smsBroadcast = new SMSBroadcast(data)
|
||||
await smsBroadcast.save()
|
||||
for await (const item of recievers) {
|
||||
await SMS([item.mobile_number], message)
|
||||
}
|
||||
const mobileNumbers = recievers.map(item => item.mobile_number)
|
||||
await sms.broadcast(mobileNumbers, message)
|
||||
return res.json({ message: 'پیامک برای همه مخاطبین ارسال گردید' })
|
||||
} catch (e) {
|
||||
return res500(res, e)
|
||||
|
||||
@@ -2,8 +2,7 @@ const { body, validationResult } = require('express-validator')
|
||||
const User = require('../models/User')
|
||||
const SurveyCheck = require('../models/SurveyCheck')
|
||||
const { res406, res500, checkValidations } = require('../plugins/controllersHelperFunctions')
|
||||
const { SMS } = require('../plugins/SMS_Module')
|
||||
const { phrases } = require('../plugins/SMS_Phrases')
|
||||
const sms = require('../plugins/SMS_Module')
|
||||
|
||||
module.exports.reception = [
|
||||
[
|
||||
@@ -19,23 +18,13 @@ module.exports.reception = [
|
||||
const user = await User.findOne({ $or: [{ verity_businessID: BusinessID }, { panatech_businessID: BusinessID }] })
|
||||
if (!user) return res406(res, 'Incorrect BusinessID')
|
||||
|
||||
function getMessageTxt() {
|
||||
const msgArray = [
|
||||
'مشتری گرامی',
|
||||
user.first_name + ' ' + user.last_name,
|
||||
'\n',
|
||||
'کالاهای شما با شماره پذیرش موقت',
|
||||
TempReceiptTransNumber,
|
||||
'توسط واحد گارانتی آسان سرویس دریافت شد و با شماره پذیرش دائم',
|
||||
ItemReceptionTransNumber,
|
||||
'دردست بررسی می باشد. به محض آماده شدن کالاها به شما اطلاع رسانی خواهد شد.',
|
||||
'\n',
|
||||
phrases.signature
|
||||
]
|
||||
return msgArray.join(' ')
|
||||
}
|
||||
|
||||
SMS([user.mobile_number], getMessageTxt())
|
||||
await sms.warranty.reception(
|
||||
user.mobile_number,
|
||||
user.first_name + ' ' + user.last_name,
|
||||
TempReceiptTransNumber,
|
||||
ItemReceptionTransNumber,
|
||||
Date.now()
|
||||
)
|
||||
return res.json({ message: 'Message sent successfully' })
|
||||
} catch (e) {
|
||||
return res500(res, e)
|
||||
@@ -57,23 +46,13 @@ module.exports.repair = [
|
||||
const user = await User.findOne({ $or: [{ verity_businessID: BusinessID }, { panatech_businessID: BusinessID }] })
|
||||
if (!user) return res406(res, 'Incorrect BusinessID')
|
||||
|
||||
function getMessageTxt() {
|
||||
const msgArray = [
|
||||
'مشتری گرامی',
|
||||
user.first_name + ' ' + user.last_name,
|
||||
'\n',
|
||||
'مراحل تعمیر و بررسی کالاهای ارسالی شما با شماره پذیرش',
|
||||
ItemReceptionTransNumber,
|
||||
'توسط واحد گارانتی آسان سرویس انجام شد و با شماره فاکتور گارانتی',
|
||||
TransNumber,
|
||||
'ثبت شد. به زودی کالاها به آدرس شما ارسال می گردد. ',
|
||||
'\n',
|
||||
phrases.signature
|
||||
]
|
||||
return msgArray.join(' ')
|
||||
}
|
||||
|
||||
SMS([user.mobile_number], getMessageTxt())
|
||||
await sms.warranty.repairCompleted(
|
||||
user.mobile_number,
|
||||
user.first_name + ' ' + user.last_name,
|
||||
ItemReceptionTransNumber,
|
||||
TransNumber,
|
||||
Date.now()
|
||||
)
|
||||
return res.json({ message: 'Message sent successfully' })
|
||||
} catch (e) {
|
||||
return res500(res, e)
|
||||
@@ -95,22 +74,6 @@ module.exports.sendBack = [
|
||||
const user = await User.findOne({ $or: [{ verity_businessID: BusinessID }, { panatech_businessID: BusinessID }] })
|
||||
if (!user) return res406(res, 'Incorrect BusinessID')
|
||||
|
||||
function getMessageTxt() {
|
||||
const msgArray = [
|
||||
'مشتری گرامی',
|
||||
user.first_name + ' ' + user.last_name,
|
||||
'\n',
|
||||
'کالاهای ارسالی شما با شماره پذیرش',
|
||||
ItemReceptionTransNumber,
|
||||
'پس از انجام مراحل گارانتی توسط واحد گارانتی به آدرس شما ارسال شد. شماره بیجک بسته ارسالی',
|
||||
DeliveryCode,
|
||||
'می باشد. از همراهی و خرید شما سپاس گزاریم. ',
|
||||
'\n',
|
||||
phrases.signature
|
||||
]
|
||||
return msgArray.join(' ')
|
||||
}
|
||||
|
||||
const surveyData = {
|
||||
code: ItemReceptionTransNumber,
|
||||
user: user._id,
|
||||
@@ -121,7 +84,13 @@ module.exports.sendBack = [
|
||||
if (err) console.log('surveyCheck save error', err)
|
||||
})
|
||||
|
||||
SMS([user.mobile_number], getMessageTxt())
|
||||
await sms.warranty.sendback(
|
||||
user.mobile_number,
|
||||
user.first_name + ' ' + user.last_name,
|
||||
ItemReceptionTransNumber,
|
||||
DeliveryCode,
|
||||
Date.now()
|
||||
)
|
||||
return res.json({ message: 'Message sent successfully' })
|
||||
} catch (e) {
|
||||
return res500(res, e)
|
||||
|
||||
@@ -13,8 +13,7 @@ const {
|
||||
checkValidations,
|
||||
generateRandomDigits
|
||||
} = require('../plugins/controllersHelperFunctions')
|
||||
const { SMS } = require('../plugins/SMS_Module')
|
||||
const { phrases } = require('../plugins/SMS_Phrases')
|
||||
const sms = require('../plugins/SMS_Module')
|
||||
const { notifyAgent } = require('../WebSocket/controllers/agent_EventsController')
|
||||
const { notifyUser } = require('../WebSocket/controllers/user_EventsController')
|
||||
const _faSr = _sr.fa
|
||||
@@ -24,10 +23,6 @@ function ArpaDateFormat(date) {
|
||||
return moment(date).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
|
||||
function SmsDateFormat(date) {
|
||||
return moment(date).format('jYYYY/jMM/jDD')
|
||||
}
|
||||
|
||||
/// ///////////////// users
|
||||
module.exports.add_transaction = [
|
||||
[
|
||||
@@ -60,24 +55,10 @@ module.exports.add_transaction = [
|
||||
if (user.isAgent && agent !== 'main')
|
||||
return res406(res, 'نمایندگان فقط میتوانند به خود شرکت آسان سرویس فرم ارسال نمایند')
|
||||
|
||||
function getMessageTxt(transNumber) {
|
||||
const msgArray = [
|
||||
'مشتری گرامی',
|
||||
user.first_name + ' ' + user.last_name,
|
||||
'\n',
|
||||
'کالاهای شما با شماره پذیرش موقت',
|
||||
transNumber,
|
||||
'در سایت آسان سرویس ثبت گردید. کالاهای ارسالی شما پس از دریافت توسط واحد گارانتی، بررسی شده و به شما اطلاع رسانی خواهد شد.',
|
||||
'\n',
|
||||
phrases.signature
|
||||
]
|
||||
return msgArray.join(' ')
|
||||
}
|
||||
// TODO: here arpa service
|
||||
if (agent === 'main') {
|
||||
const ArpaResponse = await saveTransactionToArpa(data, items, db_name)
|
||||
await TransactionDraft.findByIdAndRemove(draftId)
|
||||
SMS([user.mobile_number], getMessageTxt(ArpaResponse))
|
||||
await sms.transaction.submitted(user.mobile_number, ArpaResponse, thisTime)
|
||||
notifyUser('updateDraftsCount', userId)
|
||||
return res.json({
|
||||
host: 'ar',
|
||||
@@ -97,7 +78,7 @@ module.exports.add_transaction = [
|
||||
const transaction = new Transaction(data)
|
||||
await transaction.save()
|
||||
await TransactionDraft.findByIdAndRemove(draftId)
|
||||
SMS([user.mobile_number], getMessageTxt(transaction.TempReceiptTransNumber))
|
||||
await sms.transaction.submitted(user.mobile_number, transaction.TempReceiptTransNumber, thisTime)
|
||||
notifyUser('updateDraftsCount', userId)
|
||||
notifyAgent('newAgentInbox', agent)
|
||||
notifyAgent('updateAgentInbox', agent)
|
||||
@@ -202,69 +183,27 @@ module.exports.change_transaction_status_by_agent = [
|
||||
transaction.status = status
|
||||
transaction.statusHistory.push({ status, date: thisTime })
|
||||
|
||||
let smsMessage
|
||||
// different status methods
|
||||
if (status === 'recieved') {
|
||||
const receiptTN = transaction.TempReceiptTransNumber + 'R' + generateRandomDigits(2)
|
||||
transaction.ItemReceptionTransNumber = receiptTN
|
||||
transaction.ItemReceptionTransDate = ArpaDateFormat(thisTime)
|
||||
|
||||
smsMessage = [
|
||||
' کاربر گرامی فرم گارانتی شما با کد پذیرش موقت ',
|
||||
transaction.TempReceiptTransNumber,
|
||||
' در تاریخ ',
|
||||
SmsDateFormat(thisTime),
|
||||
' تحویل دفتر نمایندگی و پذیرش شد. ',
|
||||
'\n',
|
||||
' کد پذیرش: ',
|
||||
receiptTN,
|
||||
'\n',
|
||||
phrases.signature
|
||||
]
|
||||
await sms.transaction.received(transaction.cTel1, transaction.TempReceiptTransNumber, receiptTN, thisTime)
|
||||
}
|
||||
|
||||
if (status === 'ongoing') {
|
||||
smsMessage = [
|
||||
' کاربر گرامی فرم گارانتی شما با کد پذیرش ',
|
||||
transaction.ItemReceptionTransNumber,
|
||||
' در تاریخ ',
|
||||
SmsDateFormat(thisTime),
|
||||
' در دست اقدام قرار گرفت. ',
|
||||
'\n',
|
||||
phrases.signature
|
||||
]
|
||||
await sms.transaction.ongoing(transaction.cTel1, transaction.ItemReceptionTransNumber, thisTime)
|
||||
}
|
||||
|
||||
if (status === 'waiting') {
|
||||
smsMessage = [
|
||||
' کاربر گرامی فرم گارانتی شما با کد پذیرش ',
|
||||
transaction.ItemReceptionTransNumber,
|
||||
' در تاریخ ',
|
||||
SmsDateFormat(thisTime),
|
||||
' در انتظار قطعه میباشد. ',
|
||||
'\n',
|
||||
phrases.signature
|
||||
]
|
||||
await sms.transaction.waiting(transaction.cTel1, transaction.ItemReceptionTransNumber, thisTime)
|
||||
}
|
||||
|
||||
if (status === 'delivered') {
|
||||
if (deliveryCode) transaction.deliveryCode = deliveryCode
|
||||
|
||||
function deliveryCodePhrase() {
|
||||
if (deliveryCode.length) return `کد پیگیری مرسوله: ${deliveryCode}` + '\n'
|
||||
else return ''
|
||||
}
|
||||
|
||||
smsMessage = [
|
||||
' کاربر گرامی فرم گارانتی شما با کد پذیرش ',
|
||||
transaction.ItemReceptionTransNumber,
|
||||
' در تاریخ ',
|
||||
SmsDateFormat(thisTime),
|
||||
' تحویل شد. ',
|
||||
'\n',
|
||||
deliveryCodePhrase(),
|
||||
phrases.signature
|
||||
]
|
||||
await sms.transaction.delivered(transaction.cTel1, transaction.ItemReceptionTransNumber, deliveryCode, thisTime)
|
||||
|
||||
const surveyData = {
|
||||
code: transaction.ItemReceptionTransNumber,
|
||||
@@ -277,7 +216,7 @@ module.exports.change_transaction_status_by_agent = [
|
||||
})
|
||||
}
|
||||
|
||||
await SMS([transaction.cTel1], smsMessage.join(''))
|
||||
// SMS call now handled above in the individual status methods
|
||||
await transaction.save()
|
||||
|
||||
return res.json({ message: _faSr.response.success_save })
|
||||
|
||||
@@ -7,7 +7,7 @@ const User = require('../models/User')
|
||||
const { secretKey } = require('../authentication')
|
||||
const permissions = require('../plugins/permissions')
|
||||
const { _sr } = require('../plugins/serverResponses')
|
||||
const { SMS } = require('../plugins/SMS_Module')
|
||||
const sms = require('../plugins/SMS_Module')
|
||||
const { notifyAdmin } = require('../WebSocket/controllers/admin_EventsController')
|
||||
const { saveUserToArpa, updateUserOnArpa } = require('../ArpaWebservice.js')
|
||||
const {
|
||||
@@ -98,13 +98,7 @@ function sendConfirmationSMS(userId) {
|
||||
user.mobileConfirmationKey = mobileKey
|
||||
await user.save()
|
||||
|
||||
// const smsMsg = [
|
||||
// 'این شماره در وبسایت آسان سرویس جهت ارائه خدمات گارانتی ثبت گردیده.',
|
||||
// ' کد تایید شماره همراه: ',
|
||||
// mobileKey
|
||||
// ]
|
||||
|
||||
await SMS(user.mobile_number, mobileKey)
|
||||
await sms.auth.mobileVerificationCode(user.mobile_number, mobileKey, new Date())
|
||||
|
||||
resolve()
|
||||
} catch (err) {
|
||||
@@ -676,10 +670,12 @@ module.exports.generate_reset_user_password_link = [
|
||||
if (type === 'email') query.email = email.toLowerCase().trim()
|
||||
if (type === 'mobile') query.mobile_number = normalizeMobileNumber(mobile)
|
||||
|
||||
console.log('queryyyy', query)
|
||||
|
||||
const user = await User.findOne(query)
|
||||
if (!user) throw new Error('err')
|
||||
|
||||
const resetPassKey = await crypto.randomBytes(20).toString('hex')
|
||||
const resetPassKey = crypto.randomBytes(5).toString('hex')
|
||||
user.resetPassToken = resetPassKey
|
||||
const hostURL = 'www.asan-service.com'
|
||||
|
||||
@@ -715,11 +711,10 @@ module.exports.generate_reset_user_password_link = [
|
||||
html: emailHTMLTemplate
|
||||
})
|
||||
} else {
|
||||
const smsMsg = [
|
||||
' لینک بازیابی کلمه عبور آسان سرویس: ',
|
||||
`https://${hostURL}/auth/resetpass-newpass/${resetPassKey}`
|
||||
]
|
||||
await SMS([user.mobile_number], smsMsg.join(''))
|
||||
// const resetLink = `asan-service.com/auth/resetpass-newpass/${resetPassKey}`
|
||||
const resetLink = `${resetPassKey}`
|
||||
console.log(resetLink)
|
||||
await sms.auth.passwordReset(user.mobile_number, resetLink, new Date())
|
||||
}
|
||||
|
||||
await user.save()
|
||||
@@ -730,7 +725,7 @@ module.exports.generate_reset_user_password_link = [
|
||||
return res.json({ message: responseMsg })
|
||||
} catch (err) {
|
||||
let errMsg = _faSr.not_found.user_id
|
||||
if (err.code === 'EENVELOPE') errMsg = 'مشکلی در ارسال ایمیل پیش آمد لطفا دوباره تلاش کنید'
|
||||
if (err.code === 'EENVELOPE' || err.code === 400) errMsg = 'مشکلی در ارسال ایمیل پیش آمد لطفا دوباره تلاش کنید'
|
||||
return res404(res, errMsg)
|
||||
}
|
||||
}
|
||||
|
||||
+1072
-56
File diff suppressed because it is too large
Load Diff
+15
-16
@@ -7,10 +7,10 @@ const Survey = require('../models/Survey')
|
||||
const Announcement = require('../models/Announcement')
|
||||
const { saveUserToArpa, updateUserOnArpa } = require('../ArpaWebservice')
|
||||
const { generateRandomDigitsInRangeOf } = require('./controllersHelperFunctions')
|
||||
const { SMS } = require('./SMS_Module')
|
||||
const sms = require('./SMS_Module')
|
||||
const { phrases } = require('./SMS_Phrases')
|
||||
// eslint-disable-next-line import/order
|
||||
const Cron = require("cron").CronJob;
|
||||
const Cron = require('cron').CronJob
|
||||
|
||||
/// /////// times
|
||||
const minute = 1000 * 60
|
||||
@@ -19,33 +19,32 @@ const day = hour * 24
|
||||
|
||||
/// /////// jobs
|
||||
|
||||
const job = new Cron("0 0 * * *", async () => {
|
||||
const job = new Cron('0 0 * * *', async () => {
|
||||
console.log('✅ --job: check devices for activation is running')
|
||||
|
||||
try {
|
||||
const devices = await InstalledDevice.find({
|
||||
$or: [
|
||||
{ status: 0 },
|
||||
{ status: 2 }
|
||||
]
|
||||
}).populate('userId', 'mobile_number').populate('deviceId', 'model')
|
||||
$or: [{ status: 0 }, { status: 2 }]
|
||||
})
|
||||
.populate('userId', 'mobile_number')
|
||||
.populate('deviceId', 'model')
|
||||
|
||||
for await (const device of devices) {
|
||||
// item time and timeout
|
||||
const itemTime = Date.parse(device.created_at)
|
||||
const timeout = itemTime + (day * 3)
|
||||
const timeout = itemTime + day * 3
|
||||
if (Date.now() >= timeout && !device.check) {
|
||||
device.check = true;
|
||||
device.check = true
|
||||
await device.save()
|
||||
SMS([device.userId.mobile_number], `کاربر گرامی\n \n \nجهت ثبت سیمکارت برای دستگاه ${device.deviceId.model} \nبا شناسه : ${device.IMEI} \nلطفا زود تر اقدام کنید `)
|
||||
await sms.auth.sendOTP(
|
||||
device.userId.mobile_number,
|
||||
`کاربر گرامی\n \n \nجهت ثبت سیمکارت برای دستگاه ${device.deviceId.model} \nبا شناسه : ${device.IMEI} \nلطفا زود تر اقدام کنید `
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
const jobs = {
|
||||
checkUserActivation() {
|
||||
@@ -179,7 +178,7 @@ const jobs = {
|
||||
phrases.signature
|
||||
]
|
||||
|
||||
SMS([item.mobile], msg.join(''))
|
||||
await sms.auth.sendOTP(item.mobile, msg.join(''))
|
||||
}
|
||||
|
||||
/// /////////////////////////////////////////////////////// fake data for tests
|
||||
@@ -227,7 +226,7 @@ const jobs = {
|
||||
'\n',
|
||||
`https://asan-service.com/account/survey?code=${item.code}`
|
||||
]
|
||||
SMS([item.user.mobile_number], msg.join(' '))
|
||||
await sms.auth.sendOTP(item.user.mobile_number, msg.join(' '))
|
||||
item.smsSent = true
|
||||
await item.save()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user