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