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