Created
December 27, 2016 16:41
-
-
Save chanakaDe/aa9d6a511070c3c78ba3ebc018306ad8 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var User = require('../models/user'); | |
var Story = require('../models/story'); | |
var Log = require('../models/log'); | |
var email = require('../util/email'); | |
var config = require('../../config'); | |
var jsonwebtoken = require('jsonwebtoken'); | |
var secretKey = config.secretKey; | |
var mongoose = require("mongoose"); | |
var request = require('request'); | |
var db = require('../util/database'); | |
var pool = db.getPool(); | |
/** | |
* Connecting to MongoDB using Mongoose. | |
*/ | |
mongoose.connect(config.database, function (err) { | |
if (err) { | |
console.error(err); | |
} else { | |
console.log("Connected to database"); | |
} | |
}); | |
var userArray = []; | |
var minutes = 1, the_interval = minutes * 60 * 1000; | |
setInterval(function() { | |
console.log("I am doing my 1 minute check" + new Date()); | |
var query = "SELECT u.ID,u.Username,a.telephone FROM user u JOIN useraccount ua ON u.ID = ua.UserID JOIN address a ON a.ID = u.ID where ua.Type = 'Freeview' "; | |
pool.getConnection(function (err, connection) { | |
connection.query(query, function (err, rows) { | |
connection.release(); | |
var userArray = rows; | |
for (var i = 0 ; i < userArray.length ; i++) { | |
var selectedUserID = userArray[i].ID; | |
var selectedUserTelephone = userArray[i].telephone; | |
/** | |
* When there is no phone number. | |
* This condition activates. | |
**/ | |
if (selectedUserTelephone == "") { | |
console.log("***********no number found"); | |
pool.getConnection(function (err, connection) { | |
connection.query('UPDATE useraccount SET Active = ?,synapse_active = ? where UserID = ?', | |
["N", "N" , userArray[i].ID], function (err, result) { | |
connection.release(); | |
}); | |
}); | |
pool.getConnection(function (err, connection) { | |
connection.query('UPDATE userstatus SET EmailUnconfirmed = ?,FreeviewUnconfirmed = ?,CardExpired = ?,CardDetailsMissing = ? where UserID = ?', | |
["Y", "Y","Y", "Y" , userArray[i].ID], function (err, result) { | |
connection.release(); | |
}); | |
}); | |
// Saving log to MongoDB | |
var log = new Log({ | |
userID: userArray[i].ID, | |
message: "UNKNOWN", | |
phoneNo: "UNKNOWN", | |
email: "UNKNOWN" | |
}); | |
log.save(function (err) { | |
if (err) { | |
console.log("ERROR : ",err); | |
return | |
} | |
// res.json({message: "New Log Created", type: "success", code: 200}); | |
console.log("New Log created at UNKNOWN "+ new Date()); | |
}); | |
}else { | |
/** | |
* When there is a phone number. | |
* This condition activates. | |
**/ | |
request('http://dev.demo.com/api/v1/freeviewAccount/getFreeviewLoginAndCallAPI/'+userArray[i].telephone, function (error, response, body) { | |
if (!error && response.statusCode == 200) { | |
var json = JSON.parse(body); | |
if (json.Response["@attributes"].Message == "CUSTOMER_ACTIVE") { | |
pool.getConnection(function (err, connection) { | |
connection.query('UPDATE useraccount SET Active = ?,synapse_active = ? where UserID = ?', | |
["Y", "Y" , userArray[i].ID], function (err, result) { | |
connection.release(); | |
}); | |
}); | |
pool.getConnection(function (err, connection) { | |
connection.query('UPDATE userstatus SET CardDetailsMissing = ?,EmailUnconfirmed = ?,SkyUnconfirmed = ?,FreeviewUnconfirmed = ?,VoucherUnconfirmed = ?,EmailNone = ?,CardExpired = ?,PaymentFailed = ?,Suspended = ?,Migrated = ?,Notification = ?,VirginUnconfirmed = ?,PasswordExpired = ? where UserID = ?', | |
["N", "N","N", "N","N", "N","N", "N","N", "N","N", "N","N" , userArray[i].ID], function (err, result) { | |
connection.release(); | |
}); | |
}); | |
// Saving log to MongoDB | |
var log = new Log({ | |
userID: userArray[i].ID, | |
message: json.Response["@attributes"].Message, | |
phoneNo: selectedUserTelephone, | |
email: json.Response["@attributes"].Email | |
}); | |
log.save(function (err) { | |
if (err) { | |
console.log("ERROR : ",err); | |
return | |
} | |
// res.json({message: "New Log Created", type: "success", code: 200}); | |
console.log("New Log created at CUSTOMER_ACTIVE "+ new Date()); | |
}); | |
} | |
if(json.Response["@attributes"].Message == "CUSTOMER_INACTIVE"){ | |
pool.getConnection(function (err, connection) { | |
connection.query('UPDATE useraccount SET Active = ?,synapse_active = ? where UserID = ?', | |
["N", "N" , userArray[i].ID], function (err, result) { | |
connection.release(); | |
}); | |
}); | |
pool.getConnection(function (err, connection) { | |
connection.query('UPDATE userstatus SET EmailUnconfirmed = ?,FreeviewUnconfirmed = ?,CardExpired = ?,CardDetailsMissing = ? where UserID = ?', | |
["Y", "Y","Y", "Y" , userArray[i].ID], function (err, result) { | |
connection.release(); | |
}); | |
}); | |
// Saving log to MongoDB | |
var log = new Log({ | |
userID: userArray[i].ID, | |
message: json.Response["@attributes"].Message, | |
phoneNo: selectedUserTelephone, | |
email: json.Response["@attributes"].Email | |
}); | |
log.save(function (err) { | |
if (err) { | |
console.log("ERROR : ",err); | |
return | |
} | |
// res.json({message: "New Log Created", type: "success", code: 200}); | |
console.log("New Log created at CUSTOMER_INACTIVE "+ new Date()); | |
}); | |
} | |
} | |
}) | |
} | |
} | |
}); | |
}); | |
}, the_interval); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment