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