Built motion from commit fa8c70b.|0.0.144
[motion.git] / server / models / user.js
index 409fdd9..9d0daa9 100644 (file)
@@ -4,7 +4,6 @@ var crypto = require('crypto');
 var md5 = require('md5');
 var _ = require('lodash');
 var moment = require('moment');
-var VoiceQueue = require('.').VoiceQueue;
 
 module.exports = function(sequelize, DataTypes) {
   var User = sequelize.define('User', {
@@ -1065,6 +1064,53 @@ module.exports = function(sequelize, DataTypes) {
         }
         return scope;
       });
+
+      User.addScope('me', function(userId) {
+        var scope = {
+          where: {
+            id: userId
+          },
+          attributes: ['id', 'fullname', 'name', 'email', 'role', 'userpic', 'lastLoginAt', 'voicePause',
+            'mailPause',
+            'chatPause',
+            'faxPause',
+            'smsPause',
+            'openchannelPause',
+            'lastPauseAt',
+            'pauseType',
+            'phoneBarRemoteControl',
+            'phoneBarRemoteControlPort',
+            'loginInPause'
+          ],
+          include: [{
+            model: models.Module,
+            include: [{
+              model: models.Module,
+              as: 'SubModules',
+              required: false,
+              include: [{
+                all: true
+              }]
+            }]
+          }, {
+            model: models.VoiceQueue,
+            as: 'PVoiceQueues'
+          }, {
+            model: models.ChatQueue,
+            as: 'PChatQueues'
+          }, {
+            model: models.MailQueue,
+            as: 'PMailQueues'
+          }, {
+            model: models.FaxQueue,
+            as: 'PFaxQueues'
+          }, {
+            model: models.SmsQueue,
+            as: 'PSmsQueues'
+          }]
+        };
+        return scope;
+      });
     }
   });