Built motion from commit (unavailable).|2.6.0
[motion2.git] / server / services / ami / model / agent.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x6773=['mobile','interface','online','voiceStatus','voiceStatusTime','voiceStatusCallerIdNumber','voiceStatusQueue','onhold','local','md5','prototype','updateStatusRealtime','toLowerCase','not_inuse','idle','talking','statePause','stringify','user:%s','emit','user:save','exports','lodash','moment','ioredis','../../../config/environment','redis','defaults','localhost','socket.io-emitter','email','accountcode','fullname','state','status','unknown','address','phone'];(function(_0x38045f,_0x551f77){var _0xfd4f8c=function(_0x362607){while(--_0x362607){_0x38045f['push'](_0x38045f['shift']());}};_0xfd4f8c(++_0x551f77);}(_0x6773,0x1b8));var _0x3677=function(_0x22b6a3,_0x1c3f7b){_0x22b6a3=_0x22b6a3-0x0;var _0x2d4f3b=_0x6773[_0x22b6a3];return _0x2d4f3b;};'use strict';var _=require(_0x3677('0x0'));var util=require('util');var moment=require(_0x3677('0x1'));var md5=require('md5');var Redis=require(_0x3677('0x2'));var config=require(_0x3677('0x3'));config[_0x3677('0x4')]=_[_0x3677('0x5')](config[_0x3677('0x4')],{'host':_0x3677('0x6'),'port':0x18eb});var io=require(_0x3677('0x7'))(new Redis(config['redis']));function Agent(_0x322a77){this['id']=_0x322a77['id']||0x0;this['name']=_0x322a77['name']||'';this[_0x3677('0x8')]=_0x322a77['email']||'';this[_0x3677('0x9')]=_0x322a77[_0x3677('0x9')]||'';this[_0x3677('0xa')]=_0x322a77[_0x3677('0xa')]||'';this[_0x3677('0xb')]='unknown';this['stateTime']=0x0;this[_0x3677('0xc')]=_0x3677('0xd');this[_0x3677('0xe')]='';this[_0x3677('0xf')]='';this[_0x3677('0x10')]='';this[_0x3677('0x11')]='';this[_0x3677('0x12')]=_0x322a77[_0x3677('0x12')]||![];this[_0x3677('0x13')]=_0x3677('0xd');this[_0x3677('0x14')]=0x0;this[_0x3677('0x15')]='';this[_0x3677('0x16')]='';this[_0x3677('0x17')]=![];this[_0x3677('0x18')]=![];this[_0x3677('0x19')]='';}Agent[_0x3677('0x1a')][_0x3677('0x1b')]=function(_0x48e377){var _0x14da68;if(_0x48e377&&_0x48e377[_0x3677('0xb')]){_0x14da68=_0x48e377[_0x3677('0xb')][_0x3677('0x1c')]();switch(_0x14da68){case _0x3677('0x1d'):_0x14da68=_0x3677('0x1e');break;case'inuse':_0x14da68=_0x3677('0x1f');break;}}if(_0x14da68&&this[_0x3677('0x13')]!==_0x14da68||_0x48e377[_0x3677('0x20')]){this[_0x3677('0x14')]=_['toNumber'](moment()['format']('x'));}if(_0x14da68){this[_0x3677('0x13')]=_0x14da68;}var _0xdfd34c={'id':this['id'],'name':this['name'],'email':this['email'],'accountcode':this[_0x3677('0x9')],'fullname':this[_0x3677('0xa')],'state':this[_0x3677('0xb')],'stateTime':this['stateTime'],'status':this[_0x3677('0xc')],'address':this[_0x3677('0xe')],'online':this[_0x3677('0x12')],'voiceStatus':this[_0x3677('0x13')],'voiceStatusTime':this['voiceStatusTime'],'voiceStatusCallerIdNumber':this[_0x3677('0x15')],'voiceStatusQueue':this[_0x3677('0x16')],'interface':this[_0x3677('0x11')],'onhold':this[_0x3677('0x17')]};var _0xea9122=md5(JSON[_0x3677('0x21')](_0xdfd34c));if(this[_0x3677('0x19')]!==_0xea9122){this[_0x3677('0x19')]=_0xea9122;io['to'](util['format'](_0x3677('0x22'),_0xdfd34c['name']))[_0x3677('0x23')](_0x3677('0x24'),_0xdfd34c);io[_0x3677('0x23')]('user:presence',_0xdfd34c);}};module[_0x3677('0x25')]=Agent;