Built motion from commit d5e4af8c.|2.6.23
[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 _0x7397=['state','stateTime','status','address','phone','interface','online','voiceStatus','unknown','voiceStatusTime','voiceStatusCallerIdNumber','voiceStatusQueue','onhold','local','prototype','updateStatusRealtime','toLowerCase','not_inuse','idle','talking','statePause','toNumber','format','stringify','emit','user:ami:update','user:presence','exports','lodash','util','md5','ioredis','../../../config/environment','redis','defaults','socket.io-emitter','name','email','accountcode','fullname'];(function(_0x14a731,_0x38be9b){var _0x324e00=function(_0x334ab0){while(--_0x334ab0){_0x14a731['push'](_0x14a731['shift']());}};_0x324e00(++_0x38be9b);}(_0x7397,0xbc));var _0x7739=function(_0x3bb7d4,_0x1cc2a8){_0x3bb7d4=_0x3bb7d4-0x0;var _0x3293d4=_0x7397[_0x3bb7d4];return _0x3293d4;};'use strict';var _=require(_0x7739('0x0'));var util=require(_0x7739('0x1'));var moment=require('moment');var md5=require(_0x7739('0x2'));var Redis=require(_0x7739('0x3'));var config=require(_0x7739('0x4'));config[_0x7739('0x5')]=_[_0x7739('0x6')](config[_0x7739('0x5')],{'host':'localhost','port':0x18eb});var io=require(_0x7739('0x7'))(new Redis(config[_0x7739('0x5')]));function Agent(_0xaa8c05){this['id']=_0xaa8c05['id']||0x0;this[_0x7739('0x8')]=_0xaa8c05[_0x7739('0x8')]||'';this['email']=_0xaa8c05[_0x7739('0x9')]||'';this[_0x7739('0xa')]=_0xaa8c05[_0x7739('0xa')]||'';this[_0x7739('0xb')]=_0xaa8c05[_0x7739('0xb')]||'';this[_0x7739('0xc')]='unknown';this[_0x7739('0xd')]=0x0;this[_0x7739('0xe')]='unknown';this[_0x7739('0xf')]='';this[_0x7739('0x10')]='';this['mobile']='';this[_0x7739('0x11')]='';this[_0x7739('0x12')]=_0xaa8c05['online']||![];this[_0x7739('0x13')]=_0x7739('0x14');this[_0x7739('0x15')]=0x0;this[_0x7739('0x16')]='';this[_0x7739('0x17')]='';this[_0x7739('0x18')]=![];this[_0x7739('0x19')]=![];this[_0x7739('0x2')]='';}Agent[_0x7739('0x1a')][_0x7739('0x1b')]=function(_0x3fc748){var _0x2224b7;if(_0x3fc748&&_0x3fc748['state']){_0x2224b7=_0x3fc748[_0x7739('0xc')][_0x7739('0x1c')]();switch(_0x2224b7){case _0x7739('0x1d'):_0x2224b7=_0x7739('0x1e');break;case'inuse':_0x2224b7=_0x7739('0x1f');break;}}if(_0x2224b7&&this[_0x7739('0x13')]!==_0x2224b7||_0x3fc748[_0x7739('0x20')]){this[_0x7739('0x15')]=_[_0x7739('0x21')](moment()[_0x7739('0x22')]('x'));}if(_0x2224b7){this[_0x7739('0x13')]=_0x2224b7;}var _0x53b47e={'id':this['id'],'name':this[_0x7739('0x8')],'email':this[_0x7739('0x9')],'accountcode':this[_0x7739('0xa')],'fullname':this['fullname'],'state':this[_0x7739('0xc')],'stateTime':this['stateTime'],'status':this[_0x7739('0xe')],'address':this[_0x7739('0xf')],'online':this[_0x7739('0x12')],'voiceStatus':this['voiceStatus'],'voiceStatusTime':this[_0x7739('0x15')],'voiceStatusCallerIdNumber':this[_0x7739('0x16')],'voiceStatusQueue':this[_0x7739('0x17')],'interface':this['interface'],'onhold':this[_0x7739('0x18')]};var _0x2e9b2b=md5(JSON[_0x7739('0x23')](_0x53b47e));if(this[_0x7739('0x2')]!==_0x2e9b2b){this[_0x7739('0x2')]=_0x2e9b2b;io['to'](util['format']('user:%s',_0x53b47e[_0x7739('0x8')]))[_0x7739('0x24')](_0x7739('0x25'),_['omit'](_0x53b47e,[_0x7739('0x12')]));io[_0x7739('0x24')](_0x7739('0x26'),_0x53b47e);}};module[_0x7739('0x27')]=Agent;