Built motion from commit 9d0783e6.|2.6.13
[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 _0xd2b0=['talking','statePause','format','status','online','user:%s','emit','user:save','user:presence','exports','lodash','moment','ioredis','redis','localhost','socket.io-emitter','name','email','accountcode','fullname','state','unknown','stateTime','address','phone','interface','voiceStatus','voiceStatusTime','voiceStatusCallerIdNumber','voiceStatusQueue','onhold','local','md5','updateStatusRealtime','toLowerCase','not_inuse','idle','inuse'];(function(_0x51b51a,_0x2f156c){var _0x40bcd6=function(_0x429572){while(--_0x429572){_0x51b51a['push'](_0x51b51a['shift']());}};_0x40bcd6(++_0x2f156c);}(_0xd2b0,0x13a));var _0x0d2b=function(_0x37a79c,_0x2b19f0){_0x37a79c=_0x37a79c-0x0;var _0x561d89=_0xd2b0[_0x37a79c];return _0x561d89;};'use strict';var _=require(_0x0d2b('0x0'));var util=require('util');var moment=require(_0x0d2b('0x1'));var md5=require('md5');var Redis=require(_0x0d2b('0x2'));var config=require('../../../config/environment');config['redis']=_['defaults'](config[_0x0d2b('0x3')],{'host':_0x0d2b('0x4'),'port':0x18eb});var io=require(_0x0d2b('0x5'))(new Redis(config[_0x0d2b('0x3')]));function Agent(_0xefacf5){this['id']=_0xefacf5['id']||0x0;this[_0x0d2b('0x6')]=_0xefacf5[_0x0d2b('0x6')]||'';this[_0x0d2b('0x7')]=_0xefacf5[_0x0d2b('0x7')]||'';this[_0x0d2b('0x8')]=_0xefacf5[_0x0d2b('0x8')]||'';this[_0x0d2b('0x9')]=_0xefacf5[_0x0d2b('0x9')]||'';this[_0x0d2b('0xa')]=_0x0d2b('0xb');this[_0x0d2b('0xc')]=0x0;this['status']=_0x0d2b('0xb');this[_0x0d2b('0xd')]='';this[_0x0d2b('0xe')]='';this['mobile']='';this[_0x0d2b('0xf')]='';this['online']=_0xefacf5['online']||![];this[_0x0d2b('0x10')]=_0x0d2b('0xb');this[_0x0d2b('0x11')]=0x0;this[_0x0d2b('0x12')]='';this[_0x0d2b('0x13')]='';this[_0x0d2b('0x14')]=![];this[_0x0d2b('0x15')]=![];this[_0x0d2b('0x16')]='';}Agent['prototype'][_0x0d2b('0x17')]=function(_0x423e91){var _0xeca51b;if(_0x423e91&&_0x423e91[_0x0d2b('0xa')]){_0xeca51b=_0x423e91[_0x0d2b('0xa')][_0x0d2b('0x18')]();switch(_0xeca51b){case _0x0d2b('0x19'):_0xeca51b=_0x0d2b('0x1a');break;case _0x0d2b('0x1b'):_0xeca51b=_0x0d2b('0x1c');break;}}if(_0xeca51b&&this[_0x0d2b('0x10')]!==_0xeca51b||_0x423e91[_0x0d2b('0x1d')]){this['voiceStatusTime']=_['toNumber'](moment()[_0x0d2b('0x1e')]('x'));}if(_0xeca51b){this[_0x0d2b('0x10')]=_0xeca51b;}var _0x10a2ba={'id':this['id'],'name':this[_0x0d2b('0x6')],'email':this[_0x0d2b('0x7')],'accountcode':this[_0x0d2b('0x8')],'fullname':this[_0x0d2b('0x9')],'state':this['state'],'stateTime':this[_0x0d2b('0xc')],'status':this[_0x0d2b('0x1f')],'address':this[_0x0d2b('0xd')],'online':this[_0x0d2b('0x20')],'voiceStatus':this[_0x0d2b('0x10')],'voiceStatusTime':this[_0x0d2b('0x11')],'voiceStatusCallerIdNumber':this[_0x0d2b('0x12')],'voiceStatusQueue':this[_0x0d2b('0x13')],'interface':this['interface'],'onhold':this[_0x0d2b('0x14')]};var _0x39331c=md5(JSON['stringify'](_0x10a2ba));if(this[_0x0d2b('0x16')]!==_0x39331c){this['md5']=_0x39331c;io['to'](util[_0x0d2b('0x1e')](_0x0d2b('0x21'),_0x10a2ba['name']))[_0x0d2b('0x22')](_0x0d2b('0x23'),_0x10a2ba);io[_0x0d2b('0x22')](_0x0d2b('0x24'),_0x10a2ba);}};module[_0x0d2b('0x25')]=Agent;