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