openworktime/intervalComprovations.js
intervalComprovations.jsRaw
1
2var mongoose = require('mongoose');
3var moment = require('moment');
4var projectModel = mongoose.model('projectModel');
5
6var userModel = mongoose.model('userModel');
7
8
9exports.lastConnectionUser = function() {
10 var lastIntervalDate = new Date();
11 var intervalObject = setInterval(function () {
12 var actualDate= new Date();
13 //console.log(actualDate);
14 lastIntervalDate.setMinutes(lastIntervalDate.getMinutes() - 4);
15 console.log(lastIntervalDate);
16
17 userModel.find(function(err, users) {
18 if(err) res.send(500, err.message);
19
20
21 for(var i=0; i<users.length; i++)
22 {
23 if(users[i].connected==true)
24 {
25 if(users[i].lastConnection<=lastIntervalDate.setMinutes(lastIntervalDate.getMinutes() - 4))
26 {
27 if(users[i].connected==true)
28 {
29 console.log("user disconnected: " + users[i].username);
30 users[i].connected= false;
31 users[i].save(function(err) {
32 if(err) return res.send(500, err.message);
33 //console.log("user: " + users[i].username + ", connected=false");
34 });
35 }
36 }
37 }
38 }
39
40 });
41
42
43 lastIntervalDate= new Date();
44 }, 60000);//every minute
45};