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