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