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 _0x14f7=['unknown','phone','mobile','interface','online','voiceStatusTime','voiceStatusCallerIdNumber','voiceStatusQueue','local','toLowerCase','not_inuse','talking','voiceStatus','statePause','toNumber','format','fullname','address','stringify','user:%s','emit','user:save','lodash','util','md5','ioredis','../../../config/environment','redis','defaults','localhost','socket.io-emitter','name','email','accountcode','state','stateTime','status'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0x14f7,0x119));var _0x714f=function(_0x37bd26,_0x5ad346){_0x37bd26=_0x37bd26-0x0;var _0xe83dc4=_0x14f7[_0x37bd26];return _0xe83dc4;};'use strict';var _=require(_0x714f('0x0'));var util=require(_0x714f('0x1'));var moment=require('moment');var md5=require(_0x714f('0x2'));var Redis=require(_0x714f('0x3'));var config=require(_0x714f('0x4'));config[_0x714f('0x5')]=_[_0x714f('0x6')](config[_0x714f('0x5')],{'host':_0x714f('0x7'),'port':0x18eb});var io=require(_0x714f('0x8'))(new Redis(config['redis']));function Agent(_0xe5109e){this['id']=_0xe5109e['id']||0x0;this[_0x714f('0x9')]=_0xe5109e[_0x714f('0x9')]||'';this[_0x714f('0xa')]=_0xe5109e[_0x714f('0xa')]||'';this[_0x714f('0xb')]=_0xe5109e['accountcode']||'';this['fullname']=_0xe5109e['fullname']||'';this[_0x714f('0xc')]='unknown';this[_0x714f('0xd')]=0x0;this[_0x714f('0xe')]=_0x714f('0xf');this['address']='';this[_0x714f('0x10')]='';this[_0x714f('0x11')]='';this[_0x714f('0x12')]='';this[_0x714f('0x13')]=_0xe5109e[_0x714f('0x13')]||![];this['voiceStatus']=_0x714f('0xf');this[_0x714f('0x14')]=0x0;this[_0x714f('0x15')]='';this[_0x714f('0x16')]='';this['onhold']=![];this[_0x714f('0x17')]=![];this[_0x714f('0x2')]='';}Agent['prototype']['updateStatusRealtime']=function(_0x18ef3d){var _0x4ff74e;if(_0x18ef3d&&_0x18ef3d[_0x714f('0xc')]){_0x4ff74e=_0x18ef3d[_0x714f('0xc')][_0x714f('0x18')]();switch(_0x4ff74e){case _0x714f('0x19'):_0x4ff74e='idle';break;case'inuse':_0x4ff74e=_0x714f('0x1a');break;}}if(_0x4ff74e&&this[_0x714f('0x1b')]!==_0x4ff74e||_0x18ef3d[_0x714f('0x1c')]){this[_0x714f('0x14')]=_[_0x714f('0x1d')](moment()[_0x714f('0x1e')]('x'));}if(_0x4ff74e){this['voiceStatus']=_0x4ff74e;}var _0x2e28d4={'id':this['id'],'name':this[_0x714f('0x9')],'email':this['email'],'accountcode':this[_0x714f('0xb')],'fullname':this[_0x714f('0x1f')],'state':this[_0x714f('0xc')],'stateTime':this[_0x714f('0xd')],'status':this[_0x714f('0xe')],'address':this[_0x714f('0x20')],'online':this['online'],'voiceStatus':this[_0x714f('0x1b')],'voiceStatusTime':this['voiceStatusTime'],'voiceStatusCallerIdNumber':this[_0x714f('0x15')],'voiceStatusQueue':this[_0x714f('0x16')],'interface':this[_0x714f('0x12')],'onhold':this['onhold']};var _0x394ad8=md5(JSON[_0x714f('0x21')](_0x2e28d4));if(this[_0x714f('0x2')]!==_0x394ad8){this['md5']=_0x394ad8;io['to'](util[_0x714f('0x1e')](_0x714f('0x22'),_0x2e28d4['name']))[_0x714f('0x23')](_0x714f('0x24'),_0x2e28d4);}};module['exports']=Agent;