455 lines
21 KiB
JavaScript
455 lines
21 KiB
JavaScript
const db = require("../models");
|
|
const API = require('../helper/API_Response');
|
|
const db_helper = require("../helper/db_helper");
|
|
const helper = require("../helper/helper");
|
|
const { User, SelfPacedMaterial, SelfPacedHour, KnowledgeAsses, Practicetest, LiveEvents, Cohort, PaymentTransaction, Certificate, SelfPacedSubscription, SelfPacedOneTime, Video, MindMap, Ketexamtest, SelfPaced } = require("../models");
|
|
|
|
exports.save_self_schedule = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
let usr = {
|
|
"user_id": input.user_id,
|
|
"certi_id": input.certi_id,
|
|
"cohort_id": input.cohort_id
|
|
}
|
|
const cc = await db_helper.selectByWhere("SelfPacedSchedule", usr);
|
|
if (cc.length > 0) {
|
|
input["id"] = cc[0].id;
|
|
res.status(200).send(API._200(await db_helper.update("SelfPacedSchedule", input)));
|
|
} else {
|
|
res.status(200).send(API._200(await db_helper.addData("SelfPacedSchedule", input)));
|
|
}
|
|
};
|
|
exports.update_user_resource = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
const cc = await db.sequelize.query("update users set show_resources=1 where id= :user_id", { replacements: { user_id: input.user_id } }).then((response) => {
|
|
return Array.from(new Set(response));
|
|
})
|
|
res.status(200).send(API._200(await cc));
|
|
};
|
|
exports.get_expirydate = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
const time = await db.sequelize.query("select DATE_ADD(createdAt, INTERVAL access_duration DAY) expiry_date,createdAt from payment_transactions where user_id= :user_id and payment_type='" + input.course_type + "' and cohort_id= :cohort_id and plan_id= :method_id order by id desc limit 1", { replacements: { cohort_id: input.cohort_id, user_id: input.user_id, method_id: input.method_id } })
|
|
.then(function (data) {
|
|
return Array.from(new Set(data[0]));
|
|
})
|
|
res.status(200).send(API._200(await time));
|
|
};
|
|
exports.get_membership_materials = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
const cc = await db.sequelize.query("select * from self_paced_materials where status=0 and method_id= :method_id and method_type='" + input.method_type + "' and material_type='" + input.material_type + "'", { replacements: { method_id: input.method_id } }).then((res) => {
|
|
return Array.from(new Set(res));
|
|
})
|
|
res.status(200).send(API._200(await cc[0]));
|
|
};
|
|
exports.get_self_schedule = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
let usr = {
|
|
"user_id": input.user_id,
|
|
"certi_id": input.certi_id,
|
|
"cohort_id": input.cohort_id
|
|
}
|
|
const cc = await db_helper.selectByWhere("SelfPacedSchedule", usr);
|
|
res.status(200).send(API._200(await cc));
|
|
};
|
|
exports.SaveSelfpaced_User_Schedule = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
let all;
|
|
if (input.length > 0) {
|
|
await db.sequelize.query("delete from selfpaced_class_all_user_schedules where user_id= :user_id and cohort_id=:cohort_id", { replacements: { user_id: input[0].user_id, cohort_id: input[0].cohort_id } })
|
|
all = await db['SelfpacedClassAllUserSchedule'].bulkCreate(input);
|
|
}
|
|
const updateAll = await db_helper.query("update selfpaced_class_all_user_schedules ss inner join cohorts c on c.id=ss.cohort_id JOIN(SELECT @rank := 0) r SET ss.id =@rank:=@rank+1,ss.cohort_name=c.cohort_name; ");
|
|
|
|
res.status(200).send(API._200(await all));
|
|
};
|
|
exports.selfpaced_times = async (req, res) => {
|
|
const all = await db.sequelize.query("SELECT * FROM self_paced_hours")
|
|
.then(function (data) {
|
|
return Array.from(new Set(data[0]));
|
|
})
|
|
res.status(200).send(API._200(await all));
|
|
};
|
|
exports.update_examdate = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
const cc = await db.sequelize.query("UPDATE payment_transactions set exam_date='" + input.exam_date + "' where user_id= :user_id and cohort_id= :cohort_id", { replacements: { cohort_id: input.cohort_id, user_id: input.user_id } }).then((res) => {
|
|
return Array.from(new Set(res));
|
|
})
|
|
res.status(200).send(API._200(await cc[0]));
|
|
};
|
|
exports.update_section_video_view = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
var already = await db.sequelize.query("SELECT * FROM video_section_views where (type_id= :type_id OR name='" + input.name + "') AND cohort_id= :cohort_id AND user_id= :user_id", { replacements: { type_id: input.type_id, cohort_id: input.cohort_id, user_id: input.user_id } }).then((data) => {
|
|
return Array.from(new Set(data[0]));
|
|
})
|
|
if (already.length <= 0)
|
|
res.status(200).send(API._200(await db_helper.addData('VideoSectionView', input)));
|
|
else {
|
|
input['id'] = already[0].id;
|
|
res.status(200).send(API._200(await db_helper.update('VideoSectionView', input)));
|
|
}
|
|
};
|
|
exports.add_selfpaced_hours = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
const all = await db.sequelize.query("SELECT * FROM self_paced_hours")
|
|
.then(function (data) {
|
|
return Array.from(new Set(data[0]));
|
|
})
|
|
let result = null;
|
|
if (all.length > 0) {
|
|
input['id'] = 1;
|
|
const hour = await SelfPacedHour.findByPk(input.id);
|
|
hour.flashcard_app = input.flashcard_app;
|
|
hour.flashcard_app_revision = input.flashcard_app_revision;
|
|
hour.practice_que_app = input.practice_que_app;
|
|
hour.practice_que_app_revision = input.practice_que_app_revision;
|
|
hour.know_ass_revision = input.know_ass_revision;
|
|
hour.practice_test_revision = input.practice_test_revision;
|
|
result = await hour.save();
|
|
} else {
|
|
result = db_helper.addData("SelfPacedHour", input)
|
|
}
|
|
res.status(200).send(API._200(await result));
|
|
|
|
};
|
|
exports.all = async (req, res) => {
|
|
const all = await db.sequelize.query("select main.*, c.certificate_name, coh.company_id, coh.userslist,coh.knowassessments,coh.practicetests, LENGTH(coh.userslist) - LENGTH(REPLACE(coh.userslist, ',', '')) count_userslist from(select id, certi_id, class_name, description, features_visible, live_events, only_show_study, publish_free_trial, 0 cat_exam_attempts, '' cat_attempts_fee, '' one_time_description, 0 one_time_access_duration, '' one_time_price, cohort_id, pt_id, ka_id, '' array_subscriptions, 'free' course_type, mentor_id, time_zone from self_paceds where status = 0 union all select id, certi_id, price_label, '' description, features_visible, live_events, only_show_study, publish_subscription, cat_exam_attempts, attempts_fee, '' one_time_description, 0 one_time_access_duration, '' one_time_price, cohort_id, 0 pt_id, 0 ka_id, subscriptions, 'subscription' course_type, mentor_id, time_zone from self_paced_subscriptions where status = 0 union all select id, certi_id, price_label, '' description, features_visible, live_events, only_show_study, publish_subscription, cat_exam_attempts, attempts_fee, description one_time_description, access_duration, price, cohort_id, 0 pt_id, 0 ka_id, '' array_subscriptions, 'onetime' course_type, mentor_id, time_zone from self_paced_one_times where status = 0 )main left join certificates as c on c.id=main.certi_id left join cohorts as coh on coh.id=main.cohort_id order by c.id")
|
|
.then(function (data) {
|
|
return Array.from(new Set(data[0]));
|
|
})
|
|
for (let i = 0; i < all.length; i++) {
|
|
let users = all[i].userslist;
|
|
if (users) {
|
|
let user_list = await db_helper.query("SELECT id FROM users WHERE id IN(" + users + ")");
|
|
all[i].count_userslist = user_list[0]
|
|
}
|
|
}
|
|
res.status(200).send(API._200(await all));
|
|
|
|
};
|
|
exports.alldropdown = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
const ka = await KnowledgeAsses.findAll({
|
|
attributes: ['id', 'knowass_name', 'certi_id'],
|
|
where: {
|
|
status: 0,
|
|
certi_id: input.certi_id
|
|
}
|
|
});
|
|
const pt = await Practicetest.findAll({
|
|
attributes: ['id', 'practice_name', 'certi_id'],
|
|
where: {
|
|
status: 0,
|
|
certi_id: input.certi_id
|
|
}
|
|
});
|
|
const lv = await LiveEvents.findAll({
|
|
attributes: ['id', 'event_name', 'start_date', 'start_time', 'time_zone'],
|
|
where: {
|
|
status: 0,
|
|
certi_id: input.certi_id
|
|
}
|
|
});
|
|
let response = { "KnowledgeAssessments": ka, "PracticeExams": pt, "LiveEvents": lv };
|
|
res.status(200).send(API._200(await response));
|
|
|
|
};
|
|
exports.delete = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
await db_helper.query("delete from self_paced_one_times where certi_id=" + input.id);
|
|
await db_helper.query("delete from self_paced_subscriptions where certi_id=" + input.id);
|
|
await db_helper.query("update cohorts set status=1 where certi_id=" + input.id);
|
|
res.status(200).send(API._200(await db_helper.query("delete from self_paceds where certi_id=" + input.id)));
|
|
};
|
|
exports.delete_self_class = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
var result = []
|
|
if (input.course_type == 'subscription') {
|
|
result = await db.sequelize.query("delete from self_paced_subscriptions where id= :id", { replacements: { id: input.id } }).then((res) => {
|
|
return Array.from(new Set(res));
|
|
})
|
|
}
|
|
if (input.course_type == 'onetime') {
|
|
result = await db.sequelize.query("delete from self_paced_one_times where id= :id", { replacements: { id: input.id } }).then((res) => {
|
|
return Array.from(new Set(res));
|
|
})
|
|
}
|
|
if (input.cohort_id) {
|
|
await db.sequelize.query("delete from payment_transactions where payment_type='" + input.course_type + "' and plan_id= :id and cohort_id= :cohort_id", { replacements: { id: input.id, cohort_id: input.cohort_id } })
|
|
await db.sequelize.query("delete from cohorts where id= :cohort_id", { replacements: { cohort_id: input.cohort_id } })
|
|
}
|
|
res.status(200).send(API._200(await result));
|
|
};
|
|
exports.enrollments_detail = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
const all = await PaymentTransaction.findAll({
|
|
where: {
|
|
status: 0,
|
|
user_id: input.user_id
|
|
},
|
|
include: [{
|
|
model: Certificate,
|
|
attributes: ['id', 'certificate_name']
|
|
}]
|
|
})
|
|
|
|
for (let i = 0; i < all.length; i++) {
|
|
const cohort = await Cohort.findAll({
|
|
where: {
|
|
status: 0,
|
|
id: all[i].cohort_id
|
|
},
|
|
attributes: ['cohort_name', 'flashcard_access', 'question_access']
|
|
})
|
|
if (all[i].plan_id == 0) {
|
|
if (cohort.length > 0)
|
|
all[i].email = { price_label: cohort[0].cohort_name, flashcard_access: cohort[0].flashcard_access, question_access: cohort[0].question_access };
|
|
} else {
|
|
if (all[i].payment_type == "subscription") {
|
|
const sub = await SelfPacedSubscription.findAll({
|
|
where: {
|
|
status: 0,
|
|
id: all[i].plan_id
|
|
},
|
|
attributes: ['id', 'price_label']
|
|
})
|
|
let access = { id: sub[0].id, price_label: sub[0].price_label, flashcard_access: cohort[0].flashcard_access, question_access: cohort[0].question_access };
|
|
all[i].email = access;
|
|
|
|
} else if (all[i].payment_type == "onetime") {
|
|
const one = await SelfPacedOneTime.findAll({
|
|
where: {
|
|
status: 0,
|
|
id: all[i].plan_id,
|
|
},
|
|
attributes: ['id', 'price_label']
|
|
})
|
|
let access = { id: one[0].id, price_label: one[0].price_label, flashcard_access: cohort[0].flashcard_access, question_access: cohort[0].question_access };
|
|
all[i].email = access
|
|
}
|
|
}
|
|
}
|
|
res.status(200).send(API._200(await all));
|
|
};
|
|
exports.get_all_hybrid_materials = async (req, res) => {
|
|
const ka = await KnowledgeAsses.findAll({
|
|
attributes: ['id', 'knowass_name', 'certi_id'],
|
|
where: {
|
|
status: 0,
|
|
}
|
|
});
|
|
const pt = await Practicetest.findAll({
|
|
attributes: ['id', 'practice_name', 'certi_id'],
|
|
where: {
|
|
status: 0,
|
|
}
|
|
});
|
|
const vd = await Video.findAll({
|
|
attributes: ['id', 'video_title', 'certi_id'],
|
|
where: {
|
|
status: 0,
|
|
}
|
|
});
|
|
const md = await MindMap.findAll({
|
|
attributes: ['id', 'name', 'certi_id'],
|
|
where: {
|
|
status: 0,
|
|
}
|
|
});
|
|
const catexam = await Ketexamtest.findAll({
|
|
attributes: ['id', 'ketexam_name', 'certi_id'],
|
|
where: {
|
|
status: 0,
|
|
}
|
|
});
|
|
let response = { "KnowledgeAssessments": ka, "PracticeExams": pt, "Videos": vd, "MindMaps": md, "CatExams": catexam };
|
|
res.status(200).send(API._200(await response));
|
|
};
|
|
exports.get_all_materials = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
const ka = await KnowledgeAsses.findAll({
|
|
attributes: ['id', 'knowass_name'],
|
|
where: {
|
|
status: 0,
|
|
certi_id: input.certi_id
|
|
}
|
|
});
|
|
const pt = await Practicetest.findAll({
|
|
attributes: ['id', 'practice_name', 'certi_id'],
|
|
where: {
|
|
status: 0,
|
|
certi_id: input.certi_id
|
|
}
|
|
});
|
|
const vd = await Video.findAll({
|
|
attributes: ['id', 'video_title'],
|
|
where: {
|
|
status: 0,
|
|
certi_id: input.certi_id
|
|
}
|
|
});
|
|
const md = await MindMap.findAll({
|
|
attributes: ['id', 'name'],
|
|
where: {
|
|
status: 0,
|
|
certi_id: input.certi_id
|
|
}
|
|
});
|
|
let response = { "KnowledgeAssessments": ka, "PracticeExams": pt, "Videos": vd, "MindMaps": md };
|
|
res.status(200).send(API._200(await response));
|
|
};
|
|
exports.get_all_mentor = async (req, res) => {
|
|
const all = await User.findAll({
|
|
where: {
|
|
status: 0,
|
|
roll_id: 1
|
|
},
|
|
attributes: ['id', 'name', 'email']
|
|
})
|
|
res.status(200).send(API._200(await all));
|
|
};
|
|
exports.get_saved_materials = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
const sub = await SelfPacedMaterial.findAll({
|
|
where: {
|
|
status: 0,
|
|
method_id: input.method_id,
|
|
method_type: input.method_type
|
|
}
|
|
});
|
|
res.status(200).send(API._200(await sub));
|
|
};
|
|
exports.get_selfpaced_summary_report = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
var output = [];
|
|
if (input.userslist) {
|
|
var users = await db.sequelize.query("SELECT id,mentor_notes,mentor_id,aliasname,name,email,onbording_date,schedule_date exam_date FROM users WHERE id IN(" + input.userslist + ")")
|
|
.then(function (data) {
|
|
return Array.from(new Set(data[0]));
|
|
})
|
|
for (let u = 0; u < users.length; u++) {
|
|
let log = await db_helper.query("select createdAt FROM login_logs WHERE user_id= " + users[u].id + " order by createdAt DESC limit 1; SELECT count(*) total_KA_complete FROM knowcompletes WHERE user_id=" + users[u].id + " AND cohort_id=" + input.id + "; select * from flashans_offlines where UserId=" + users[u].id + " and cohort_id=" + input.id + " limit 1")
|
|
let know = await db_helper.query("select sum(case when kaqa.correct=1 then 1 else 0 end) ttlpointget,(select count(*) from know_ass_ques where status=0 and ass_id=ka.id) as ttlpoint from know_ass_ques_ans as kaqa left join knowledge_asses as ka on ka.id=kaqa.ass_id where kaqa.active=1 and kaqa.cohort_id= " + input.id + " and kaqa.user_id= " + users[u].id + " group by ka.id")
|
|
let practice = await db_helper.query("select sum(case when ptqa.correct=1 then 1 else 0 end) ttlpointget,(select count(*) from practiceques where status=0 and test_id=pt.id) as ttlpoint from practice_ans as ptqa left join practicetests as pt on pt.id=ptqa.test_id where ptqa.active=1 and ptqa.cohort_id=" + input.id + " and ptqa.user_id=" + users[u].id + " group by pt.id; SELECT count(*) total_PT_complete FROM ptestcomplates WHERE user_id=" + users[u].id + " AND cohort_id=" + input.id)
|
|
let flash;
|
|
if (log[0][2].length > 0) {
|
|
flash = await db_helper.query("select count(distinct (case when user_res = 1 then cid end)) as ttlright,count(distinct (case when user_res = 2 then cid end)) as ttlreview,count(distinct (case when mark = 1 then cid end)) as ttlbookmark, count(distinct (case when(notes = 1 && user_res=0) then cid end)) as ttlnotes, ifnull(ttlcards,0)ttlcards from flashans_offlines fo right join (SELECT COUNT(*) as ttlcards FROM flashcards WHERE certi_id in(select certi_id from cohorts where id=" + input.id + ") and status=0)fl on 1=1 where UserId=" + users[u].id + " and cohort_id=" + input.id);
|
|
}
|
|
else {
|
|
flash = await db_helper.query("select count(distinct (case when user_res = 1 then cid end)) as ttlright,count(distinct (case when user_res = 2 then cid end)) as ttlreview,count(distinct (case when mark = 1 then cid end)) as ttlbookmark, count(distinct (case when(notes = 1 && user_res=0) then cid end)) as ttlnotes, ifnull(ttlcards,0)ttlcards from flashans_offlines fo right join (SELECT COUNT(*) as ttlcards FROM flashcards WHERE certi_id in(select certi_id from cohorts where id=" + input.id + ") and status=0)fl on 1=1 where UserId=" + users[u].id);
|
|
}
|
|
output.push({
|
|
cohort_id: input.id,
|
|
userslist: input.userslist,
|
|
knowassessments: input.knowassessments,
|
|
practicetests: input.practicetests,
|
|
user_id: users[u].id,
|
|
mentor_notes: users[u].mentor_notes,
|
|
mentor_id: users[u].mentor_id,
|
|
aliasname: users[u].aliasname,
|
|
name: users[u].name,
|
|
email: users[u].email,
|
|
onbording_date: users[u].onbording_date,
|
|
exam_date: users[u].exam_date,
|
|
last_activity: log[0][0].length > 0 ? log[0][0][0].createdAt : null,
|
|
total_KA_complete: log[0][1].length > 0 ? log[0][1][0].total_KA_complete : 0,
|
|
total_PT_complete: practice[0][1].length > 0 ? practice[0][1][0].total_PT_complete : 0,
|
|
knowledge: know[0],
|
|
practice: practice[0][0],
|
|
flashcards: flash[0]
|
|
})
|
|
}
|
|
|
|
}
|
|
res.status(200).send(API._200(await output));
|
|
};
|
|
exports.pay_trn_byid = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
const time = await db.sequelize.query("select *,DATE_FORMAT(createdAt,'%b %d,%Y') createdAt,DATE_FORMAT(DATE_ADD(createdAt, INTERVAL access_duration DAY),'%b %d,%Y') expiry_date,DATE_FORMAT(DATE_ADD(createdAt, INTERVAL access_duration+1 DAY),'%b %d,%Y') next_date from payment_transactions where id= :id", { replacements: { id: input.id } })
|
|
.then(function (data) {
|
|
return Array.from(new Set(data[0]));
|
|
})
|
|
res.status(200).send(API._200(await time));
|
|
};
|
|
exports.remove_enrollments = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
await db.sequelize.query("delete from payment_transactions where id= :id", { replacements: { id: input.id } })
|
|
await db.sequelize.query("update users set course_id=null where id= :user_id", { replacements: { user_id: input.user_id } })
|
|
const cohort = await Cohort.findByPk(input.cohort_id);
|
|
let users = "";
|
|
users = cohort.userslist;
|
|
let ids = "";
|
|
for (let i = 0; i < users.length; i++) {
|
|
if (users[i] != input.user_id) {
|
|
ids += users[i] + ","
|
|
}
|
|
}
|
|
if (ids.endsWith(",")) {
|
|
ids = ids.substring(0, ids.length - 1);
|
|
}
|
|
if (ids.startsWith(",")) {
|
|
ids = ids.substring(1, ids.length);
|
|
}
|
|
cohort.userslist = ids;
|
|
let result = cohort.save();
|
|
res.status(200).send(API._200(await result));
|
|
};
|
|
exports.save_materials = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
await db.sequelize.query("delete from self_paced_materials where method_id= :method_id and method_type='" + input.method_type + "'", { replacements: { method_id: input.method_id } })
|
|
|
|
let Subscriptions = input.Subscriptions;
|
|
let OneTime = input.OneTime;
|
|
let data;
|
|
for (let i = 0; i < Subscriptions.length; i++) {
|
|
data = await db_helper.addData("SelfPacedMaterial", Subscriptions[i])
|
|
}
|
|
for (let i = 0; i < OneTime.length; i++) {
|
|
data = await db_helper.addData("SelfPacedMaterial", OneTime[i])
|
|
}
|
|
res.status(200).send(API._200(await data));
|
|
};
|
|
exports.selfpaced_classes = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
const all = await SelfPaced.findAll({
|
|
where: {
|
|
status: 0,
|
|
certi_id: input.certi_id
|
|
}
|
|
})
|
|
const sub = await SelfPacedSubscription.findAll({
|
|
where: {
|
|
status: 0,
|
|
certi_id: input.certi_id
|
|
}
|
|
})
|
|
const one = await SelfPacedOneTime.findAll({
|
|
where: {
|
|
status: 0,
|
|
certi_id: input.certi_id
|
|
}
|
|
})
|
|
var data = { all, sub, one };
|
|
res.status(200).send(API._200(await data));
|
|
};
|
|
exports.update = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
res.status(200).send(API._200(await db_helper.update('SelfPaced', input)));
|
|
};
|
|
exports.update_mentor_notes = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
res.status(200).send(API._200(await db_helper.query("update users set mentor_notes='" + input.notes + "' where id=" + input.user_id)));
|
|
};
|
|
exports.update_one_time = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
if (input.id == 0)
|
|
res.status(200).send(API._200(await db_helper.addData('SelfPacedOneTime', input)));
|
|
else
|
|
res.status(200).send(API._200(await db_helper.update('SelfPacedOneTime', input)));
|
|
};
|
|
exports.update_subscription = async (req, res) => {
|
|
const input = await helper.decryptRequest(req.body.data);
|
|
if (input.id == 0)
|
|
res.status(200).send(API._200(await db_helper.addData('SelfPacedSubscription', input)));
|
|
else
|
|
res.status(200).send(API._200(await db_helper.update('SelfPacedSubscription', input)));
|
|
}; |