Built motion from commit (unavailable).|2.5.13
[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 _0x0072=['voiceStatusTime','voiceStatusCallerIdNumber','voiceStatusQueue','onhold','prototype','updateStatusRealtime','not_inuse','idle','inuse','talking','statePause','toNumber','format','emit','user:save','exports','lodash','util','moment','md5','ioredis','../../../config/environment','defaults','redis','localhost','socket.io-emitter','name','email','accountcode','fullname','state','unknown','stateTime','status','address','phone','mobile','interface','online','voiceStatus'];(function(_0x420f8f,_0x247dfa){var _0x42646e=function(_0x231fa0){while(--_0x231fa0){_0x420f8f['push'](_0x420f8f['shift']());}};_0x42646e(++_0x247dfa);}(_0x0072,0xd8));var _0x2007=function(_0x26cf47,_0x525618){_0x26cf47=_0x26cf47-0x0;var _0x21d21a=_0x0072[_0x26cf47];return _0x21d21a;};'use strict';var _=require(_0x2007('0x0'));var util=require(_0x2007('0x1'));var moment=require(_0x2007('0x2'));var md5=require(_0x2007('0x3'));var Redis=require(_0x2007('0x4'));var config=require(_0x2007('0x5'));config['redis']=_[_0x2007('0x6')](config[_0x2007('0x7')],{'host':_0x2007('0x8'),'port':0x18eb});var io=require(_0x2007('0x9'))(new Redis(config['redis']));function Agent(_0x3c5836){this['id']=_0x3c5836['id']||0x0;this[_0x2007('0xa')]=_0x3c5836[_0x2007('0xa')]||'';this[_0x2007('0xb')]=_0x3c5836[_0x2007('0xb')]||'';this[_0x2007('0xc')]=_0x3c5836[_0x2007('0xc')]||'';this[_0x2007('0xd')]=_0x3c5836['fullname']||'';this[_0x2007('0xe')]=_0x2007('0xf');this[_0x2007('0x10')]=0x0;this[_0x2007('0x11')]=_0x2007('0xf');this[_0x2007('0x12')]='';this[_0x2007('0x13')]='';this[_0x2007('0x14')]='';this[_0x2007('0x15')]='';this[_0x2007('0x16')]=_0x3c5836[_0x2007('0x16')]||![];this[_0x2007('0x17')]=_0x2007('0xf');this[_0x2007('0x18')]=0x0;this[_0x2007('0x19')]='';this[_0x2007('0x1a')]='';this[_0x2007('0x1b')]=![];this['local']=![];this['md5']='';}Agent[_0x2007('0x1c')][_0x2007('0x1d')]=function(_0x5416d8){var _0x22fa98;if(_0x5416d8&&_0x5416d8[_0x2007('0xe')]){_0x22fa98=_0x5416d8[_0x2007('0xe')]['toLowerCase']();switch(_0x22fa98){case _0x2007('0x1e'):_0x22fa98=_0x2007('0x1f');break;case _0x2007('0x20'):_0x22fa98=_0x2007('0x21');break;}}if(_0x22fa98&&this[_0x2007('0x17')]!==_0x22fa98||_0x5416d8[_0x2007('0x22')]){this[_0x2007('0x18')]=_[_0x2007('0x23')](moment()['format']('x'));}if(_0x22fa98){this['voiceStatus']=_0x22fa98;}var _0x3e88bf={'id':this['id'],'name':this[_0x2007('0xa')],'email':this[_0x2007('0xb')],'accountcode':this['accountcode'],'fullname':this[_0x2007('0xd')],'state':this['state'],'stateTime':this[_0x2007('0x10')],'status':this[_0x2007('0x11')],'address':this[_0x2007('0x12')],'online':this[_0x2007('0x16')],'voiceStatus':this['voiceStatus'],'voiceStatusTime':this[_0x2007('0x18')],'voiceStatusCallerIdNumber':this[_0x2007('0x19')],'voiceStatusQueue':this[_0x2007('0x1a')],'interface':this[_0x2007('0x15')],'onhold':this[_0x2007('0x1b')]};var _0x5f209e=md5(JSON['stringify'](_0x3e88bf));if(this[_0x2007('0x3')]!==_0x5f209e){this[_0x2007('0x3')]=_0x5f209e;io['to'](util[_0x2007('0x24')]('user:%s',_0x3e88bf[_0x2007('0xa')]))[_0x2007('0x25')](_0x2007('0x26'),_0x3e88bf);}};module[_0x2007('0x27')]=Agent;