Built motion from commit 1038d87.|0.0.141
[motion.git] / server / models / user_has_voice_queue.js
index fd11461..de8c7e1 100644 (file)
@@ -1 +1,117 @@
-var _0x8ec7=["\x63\x72\x79\x70\x74\x6F","\x65\x78\x70\x6F\x72\x74\x73","\x55\x73\x65\x72\x48\x61\x73\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x42\x4F\x4F\x4C\x45\x41\x4E","\x44\x41\x54\x45","\x49\x4E\x54\x45\x47\x45\x52","\x53\x54\x52\x49\x4E\x47","\x30","\x6C\x61\x73\x74\x63\x61\x6C\x6C","\x73\x65\x74\x44\x61\x74\x61\x56\x61\x6C\x75\x65","\x46\x52\x4F\x4D\x5F\x55\x4E\x49\x58\x54\x49\x4D\x45","\x25\x59\x2D\x25\x6D\x2D\x25\x64\x20\x25\x48\x3A\x25\x69\x3A\x25\x73","\x66\x6E","\x73\x74\x61\x74\x75\x73","\x55\x4E\x4B\x4E\x4F\x57\x4E","\x4E\x4F\x54\x5F\x49\x4E\x55\x53\x45","\x31","\x49\x4E\x55\x53\x45","\x32","\x42\x55\x53\x59","\x33","\x49\x4E\x56\x41\x4C\x49\x44","\x34","\x55\x4E\x41\x56\x41\x49\x4C\x41\x42\x4C\x45","\x35","\x52\x49\x4E\x47\x49\x4E\x47","\x36","\x52\x49\x4E\x47\x49\x4E\x55\x53\x45","\x37","\x4F\x4E\x48\x4F\x4C\x44","\x38","\x73\x74\x61\x74\x75\x73\x64\x65\x73\x63","\x73\x74\x61\x74\x75\x73\x41\x74","\x4E\x4F\x57","\x70\x61\x75\x73\x65\x64","\x75\x73\x65\x72\x5F\x68\x61\x73\x5F\x76\x6F\x69\x63\x65\x5F\x71\x75\x65\x75\x65\x73","\x6D\x65\x6D\x62\x65\x72\x6E\x61\x6D\x65","\x64\x65\x66\x69\x6E\x65"];var crypto=require(_0x8ec7[0]);module[_0x8ec7[1]]=function(_0x48d6x2,_0x48d6x3){var _0x48d6x4=_0x48d6x2[_0x8ec7[37]](_0x8ec7[2],{logged:{type:_0x48d6x3[_0x8ec7[3]],defaultValue:false},loggedAt:{type:_0x48d6x3[_0x8ec7[4]]},ringinuse:{type:_0x48d6x3[_0x8ec7[3]]},penalty:{type:_0x48d6x3[_0x8ec7[5]]},stateinterface:{type:_0x48d6x3[_0x8ec7[6]]},queue:{type:_0x48d6x3[_0x8ec7[6]]},membername:{type:_0x48d6x3[_0x8ec7[6]]},interface:{type:_0x48d6x3[_0x8ec7[6]]},membership:{type:_0x48d6x3[_0x8ec7[6]]},callstaken:{type:_0x48d6x3[_0x8ec7[5]]},lastcall:{type:_0x48d6x3[_0x8ec7[4]],set:function(_0x48d6x5){if(_0x48d6x5===_0x8ec7[7]){this[_0x8ec7[9]](_0x8ec7[8],null)}else {this[_0x8ec7[9]](_0x8ec7[8],_0x48d6x2[_0x8ec7[12]](_0x8ec7[10],_0x48d6x5,_0x8ec7[11]))}}},status:{type:_0x48d6x3[_0x8ec7[5]],set:function(_0x48d6x6){this[_0x8ec7[9]](_0x8ec7[13],_0x48d6x6);var _0x48d6x7=_0x8ec7[14];switch(_0x48d6x6){case _0x8ec7[7]:_0x48d6x7=_0x8ec7[14];break ;;case _0x8ec7[16]:_0x48d6x7=_0x8ec7[15];break ;;case _0x8ec7[18]:_0x48d6x7=_0x8ec7[17];break ;;case _0x8ec7[20]:_0x48d6x7=_0x8ec7[19];break ;;case _0x8ec7[22]:_0x48d6x7=_0x8ec7[21];break ;;case _0x8ec7[24]:_0x48d6x7=_0x8ec7[23];break ;;case _0x8ec7[26]:_0x48d6x7=_0x8ec7[25];break ;;case _0x8ec7[28]:_0x48d6x7=_0x8ec7[27];break ;;case _0x8ec7[30]:_0x48d6x7=_0x8ec7[29];break ;;};this[_0x8ec7[9]](_0x8ec7[31],_0x48d6x7);this[_0x8ec7[9]](_0x8ec7[32],_0x48d6x2[_0x8ec7[12]](_0x8ec7[33]));}},statusdesc:{type:_0x48d6x3[_0x8ec7[6]]},statusAt:{type:_0x48d6x3[_0x8ec7[4]]},paused:{type:_0x48d6x3[_0x8ec7[3]],defaultValue:false,set:function(_0x48d6x8){this[_0x8ec7[9]](_0x8ec7[34],parseInt(_0x48d6x8,10)?true:false)}},pausedAt:{type:_0x48d6x3[_0x8ec7[4]]},reason:{type:_0x48d6x3[_0x8ec7[6]]}},{tableName:_0x8ec7[35],indexes:[{name:_0x8ec7[36],fields:[_0x8ec7[36]]}]});return _0x48d6x4;};
\ No newline at end of file
+/**
+ * Chat Website Model
+ */
+
+var moment = require('moment');
+
+module.exports = function(sequelize, DataTypes) {
+       var UserHasVoiceQueue = sequelize.define('UserHasVoiceQueue', {
+               logged: {
+                       type: DataTypes.BOOLEAN,
+                       defaultValue: false
+               },
+               loggedAt: {
+                       type: DataTypes.DATE
+               },
+               ringinuse: {
+                       type: DataTypes.BOOLEAN
+               },
+               penalty: {
+                       type: DataTypes.INTEGER,
+                       defaultValue: 0
+               },
+               stateinterface: {
+                       type: DataTypes.STRING
+               },
+               queue: {
+                       type: DataTypes.STRING
+               },
+               membername: {
+                       type: DataTypes.STRING
+               },
+               interface: {
+                       type: DataTypes.STRING
+               },
+               membership: {
+                       type: DataTypes.STRING
+               },
+               callstaken: {
+                       type: DataTypes.INTEGER
+               },
+               lastcall: {
+                       type: DataTypes.DATE,
+                       set: function(lastcall) {
+                               if (lastcall === '0') {
+                                       this.setDataValue('lastcall', null);
+                               } else {
+                                       this.setDataValue('lastcall', moment().format('YYYY-MM-DD HH:mm:ss'));
+                               }
+                       }
+               },
+               status: {
+                       type: DataTypes.INTEGER,
+                       set: function(status) {
+                               this.setDataValue('status', status);
+                               var detail = 'UNKNOWN';
+                               switch (status) {
+                                       case '0':
+                                               detail = 'UNKNOWN';
+                                               break;
+                                       case '1':
+                                               detail = 'NOT_INUSE';
+                                               break;
+                                       case '2':
+                                               detail = 'INUSE';
+                                               break;
+                                       case '3':
+                                               detail = 'BUSY';
+                                               break;
+                                       case '4':
+                                               detail = 'INVALID';
+                                               break;
+                                       case '5':
+                                               detail = 'UNAVAILABLE';
+                                               break;
+                                       case '6':
+                                               detail = 'RINGING';
+                                               break;
+                                       case '7':
+                                               detail = 'RINGINUSE';
+                                               break;
+                                       case '8':
+                                               detail = 'ONHOLD';
+                                               break;
+                               }
+                               this.setDataValue('statusdesc', detail);
+                               this.setDataValue('statusAt', sequelize.fn('NOW'))
+                       },
+               },
+               statusdesc: {
+                       type: DataTypes.STRING
+               },
+               statusAt: {
+                       type: DataTypes.DATE
+               },
+               paused: {
+                       type: DataTypes.BOOLEAN,
+                       defaultValue: false,
+                       set: function(paused) {
+                               this.setDataValue('paused', parseInt(paused, 10) ? true : false);
+                       }
+               },
+               pausedAt: {
+                       type: DataTypes.DATE
+               },
+               reason: {
+                       type: DataTypes.STRING
+               }
+       }, {
+               tableName: 'user_has_voice_queues',
+               indexes: [{
+                       name: 'membername',
+                       fields: ['membername']
+               }]
+       });
+
+       return UserHasVoiceQueue;
+};