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