You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.6 KiB

7 years ago
  1. var mongoose = require('mongoose');
  2. var moment = require('moment');
  3. var projectModel = mongoose.model('projectModel');
  4. var userModel = mongoose.model('userModel');
  5. exports.lastConnectionUser = function() {
  6. var lastIntervalDate = new Date();
  7. var intervalObject = setInterval(function () {
  8. var actualDate= new Date();
  9. //console.log(actualDate);
  10. lastIntervalDate.setMinutes(lastIntervalDate.getMinutes() - 4);
  11. console.log(lastIntervalDate);
  12. userModel.find(function(err, users) {
  13. if(err) res.send(500, err.message);
  14. for(var i=0; i<users.length; i++)
  15. {
  16. if(users[i].connected==true)
  17. {
  18. if(users[i].lastConnection<=lastIntervalDate.setMinutes(lastIntervalDate.getMinutes() - 4))
  19. {
  20. if(users[i].connected==true)
  21. {
  22. console.log("user disconnected: " + users[i].username);
  23. users[i].connected= false;
  24. users[i].save(function(err) {
  25. if(err) return res.send(500, err.message);
  26. //console.log("user: " + users[i].username + ", connected=false");
  27. });
  28. //falta posar el .working a false, i si estava a true, anar al projecte i posar l'hora actual com a final al workStrike
  29. }
  30. }
  31. }
  32. }
  33. });
  34. lastIntervalDate= new Date();
  35. }, 60000);//every minute
  36. };