dt_expressapp/app/controllers/jwt_controller.js
2024-02-17 15:11:13 +05:30

109 lines
4.6 KiB
JavaScript

const { MacModel } = require('../models')
const {logMsg} = require('../services/logger')
const secretKeyJwt = process.env.SECRETKEY;
const { info, log } = require('winston');
const moment = require('moment');
module.exports.addMacValue= async(req, res, next)=>{
try {
const today = moment().format('YYYY/MM/DD');
const one_year = moment().add(1, 'year');
const nextFiscalYearEndDate = one_year.format('YYYY/MM/DD');
const {key, mac_id, mail, company_name, app_version} = req.body
const mac =await MacModel.findOne({where:{licency_key: key},raw:true});
//Check License Key IN DB
if (mac && mac.licency_key == key)
{
//Check isActive and App Version are Same
if (mac.isActive == false && mac.app_version == app_version) {
const info={
licency_key:key,
mac_id: JSON.stringify(mac_id),
mail: mail,
company_name: company_name,
isActive:true,
activation_date:today,
expiry_date:nextFiscalYearEndDate,
}
const macUpdate = await MacModel.update(info, {where:{id: mac.id}});
console.log("Update ");
console.log(macUpdate);
if (macUpdate) {
logMsg.info({status:200,message:"Update Success!", data: info});
res.send({status:200,message:" Update Success!", data: info})
}
} else {
var expiryDate = new Date(mac.expiry_date);
//Check expired or not!
if (expiryDate > new Date()) {
const info={
licency_key: key,
mail: mail,
company_name: company_name,
activation_date:today,
expiry_date:nextFiscalYearEndDate,
}
logMsg.info({status:404,message:" Your Mac is Already Activated!", data: info});
res.send({status:404,message:" Your Mac is Already Activated!", data: info});
} else {
logMsg.info({status:404,message:" Product Expired!", data: "No Data!"});
res.send({status:404,message:" Product Expired!", data: "No Data!"});
}
// const macId = JSON.parse(mac.mac_id);
// var DBData= [];
// macId.forEach(function(macid) {
// DBData.push(macid.mac)
// });
// var BodyData = [];
// var BodyValue = req.body.mac_id;
// BodyValue.forEach(function(body) {
// BodyData.push(body.mac)
// });
// function hasCommonElement(arr1, arr2) {
// for (let element of arr1) {
// if (arr2.includes(element)) {
// return true;
// }
// }
// return false;
// }
// const isMatch = hasCommonElement(DBData, BodyData);
// if (isMatch) {
// const info={
// licency_key:req.body.key,
// mail: req.body.mail,
// company_name:req.body.company_name,
// activation_date:today,
// expiry_date:nextFiscalYearEndDate,
// }
// logMsg.info({status:200,message:" Your Mac is Already Activated!", data: info});
// res.send({status:200,message:" Your Mac is Already Activated!", data: info});
// } else {
// logMsg.info({status:404,message:" Your Mac is Not Match!", data: "No Data!"});
// res.send({status:404,message:" Your Mac is Not Match!", data: "No Data!"});
// }
}
}else{
logMsg.info({status:404,message:" Licency Key is No Match DB!", data: "No Data"});
res.send({status:404,message:" Licency Key is No Match DB!", data: "No Data"})
}
} catch (error) {
logMsg.info("addMacValue ->Internal Server Error!", error);
console.error(error);
res.status(404).send('addMacValue ->Internal Server Error!', error);
}
}