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