Built motion from commit 9d0783e6.|2.6.13
[motion2.git] / server / services / xdr / members.controller.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 _0x6a1d=['agent','NOT_INUSE','isNil','exitAt','diffTime','enterAt','error','agentcomplete','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','assign','queue','[%s][members][agentcomplete]','cdr','[%s][members][cdr]','data1','data2','source','data3','destinationchannel','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','lodash','util','./utils','Queue:','info','format','uniqueid','interface','channel','membername','type','then','name','internal','request','getUserByName','split','CreateMemberReport','catch','[%s][members][writeDB]','startsWith','debug','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','voice','now'];(function(_0x36982d,_0x1edb6a){var _0x32c21b=function(_0x3d4a17){while(--_0x3d4a17){_0x36982d['push'](_0x36982d['shift']());}};_0x32c21b(++_0x1edb6a);}(_0x6a1d,0xe1));var _0xd6a1=function(_0x433a86,_0x175b5c){_0x433a86=_0x433a86-0x0;var _0x23000c=_0x6a1d[_0x433a86];return _0x23000c;};'use strict';var _=require(_0xd6a1('0x0'));var util=require(_0xd6a1('0x1'));var utils=require(_0xd6a1('0x2'));var members={};var exclude=['Local/_attended@transfer',_0xd6a1('0x3')];function writeDB(_0x132122){utils[_0xd6a1('0x4')](util[_0xd6a1('0x5')]('[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s',_0x132122[_0xd6a1('0x6')],_0x132122[_0xd6a1('0x7')],_0x132122[_0xd6a1('0x8')],_0x132122['data2'],_0x132122[_0xd6a1('0x9')],_0x132122[_0xd6a1('0xa')]));if(_0x132122[_0xd6a1('0x7')]){utils['getUserByInterface'](_0x132122[_0xd6a1('0x7')])[_0xd6a1('0xb')](function(_0x5f3469){if(_0x5f3469){_0x132122[_0xd6a1('0x9')]=_0x5f3469[_0xd6a1('0xc')];_0x132122[_0xd6a1('0xd')]=_0x5f3469[_0xd6a1('0xd')];utils[_0xd6a1('0xe')]('CreateMemberReport',_0x132122);}else{utils[_0xd6a1('0xf')](_0x132122['interface'][_0xd6a1('0x10')]('/')[0x1])[_0xd6a1('0xb')](function(_0x4dae43){if(_0x4dae43){_0x132122[_0xd6a1('0x9')]=_0x4dae43[_0xd6a1('0xc')];_0x132122[_0xd6a1('0xd')]=_0x4dae43['internal'];utils[_0xd6a1('0xe')](_0xd6a1('0x11'),_0x132122);}});}})[_0xd6a1('0x12')](function(_0x17f944){utils['error'](util[_0xd6a1('0x5')](_0xd6a1('0x13'),_0x132122['uniqueid']),_0x17f944);});}delete members[_0x132122['interface']];}function startsWith(_0x2f7fac,_0x53c86c){return _['some'](_0x2f7fac,function(_0x2f3e8c){return _[_0xd6a1('0x14')](_0x53c86c,_0x2f3e8c);});}exports['devicestatechange']=function(_0x459f44){try{utils[_0xd6a1('0x15')](util[_0xd6a1('0x5')](_0xd6a1('0x16'),members[_0x459f44['device']]?members[_0x459f44[_0xd6a1('0x17')]][_0xd6a1('0x6')]:_0x459f44[_0xd6a1('0x17')]),_0x459f44);utils['info'](util[_0xd6a1('0x5')](_0xd6a1('0x18'),members[_0x459f44['device']]?members[_0x459f44[_0xd6a1('0x17')]][_0xd6a1('0x6')]:_0x459f44[_0xd6a1('0x17')],_0x459f44[_0xd6a1('0x19')],_0x459f44['device']));switch(_0x459f44[_0xd6a1('0x19')]){case _0xd6a1('0x1a'):case _0xd6a1('0x1b'):if(!startsWith(exclude,_0x459f44[_0xd6a1('0x17')])){members[_0x459f44[_0xd6a1('0x17')]]={'channel':_0xd6a1('0x1c'),'interface':_0x459f44[_0xd6a1('0x17')],'type':'TALKING','enterAt':utils[_0xd6a1('0x1d')](),'role':_0xd6a1('0x1e')};}break;case _0xd6a1('0x1f'):if(!_[_0xd6a1('0x20')](members[_0x459f44[_0xd6a1('0x17')]])){members[_0x459f44['device']][_0xd6a1('0x21')]=utils['now']();members[_0x459f44['device']]['duration']=utils[_0xd6a1('0x22')](members[_0x459f44['device']][_0xd6a1('0x21')],members[_0x459f44[_0xd6a1('0x17')]][_0xd6a1('0x23')]);if(members[_0x459f44[_0xd6a1('0x17')]][_0xd6a1('0x6')]){writeDB(members[_0x459f44[_0xd6a1('0x17')]]);}}break;default:break;}}catch(_0x17b165){utils[_0xd6a1('0x24')](util[_0xd6a1('0x5')]('[%s][members][devicestatechange]',members[_0x459f44[_0xd6a1('0x17')]]?members[_0x459f44['device']][_0xd6a1('0x6')]:_0x459f44['device']),_0x17b165);}};exports[_0xd6a1('0x25')]=function(_0xaafa1c){try{if(!_['isNil'](members[_0xaafa1c[_0xd6a1('0x7')]])){utils[_0xd6a1('0x15')](util[_0xd6a1('0x5')]('[%s][members][agentcomplete]',_0xaafa1c[_0xd6a1('0x6')]),_0xaafa1c);utils['info'](util[_0xd6a1('0x5')](_0xd6a1('0x26'),_0xaafa1c['uniqueid'],_0xaafa1c[_0xd6a1('0x7')],_0xaafa1c['queue']));members[_0xaafa1c[_0xd6a1('0x7')]]=_[_0xd6a1('0x27')](members[_0xaafa1c['interface']],{'data4':_0xaafa1c[_0xd6a1('0x28')],'uniqueid':_0xaafa1c[_0xd6a1('0x6')]});}}catch(_0xe862a5){utils[_0xd6a1('0x24')](util[_0xd6a1('0x5')](_0xd6a1('0x29'),_0xaafa1c[_0xd6a1('0x6')]),_0xe862a5);}};exports[_0xd6a1('0x2a')]=function(_0x3cb2a1){try{utils[_0xd6a1('0x15')](util['format'](_0xd6a1('0x2b'),_0x3cb2a1[_0xd6a1('0x6')]),_0x3cb2a1);if(_0x3cb2a1[_0xd6a1('0x8')]){var _0x52afcd=_0x3cb2a1[_0xd6a1('0x8')]['split']('-')[0x0];if(!_[_0xd6a1('0x20')](members[_0x52afcd])){members[_0x52afcd]=_[_0xd6a1('0x27')](members[_0x52afcd],{'data1':members[_0x52afcd][_0xd6a1('0x2c')]||_0x3cb2a1['type'],'data2':members[_0x52afcd][_0xd6a1('0x2d')]||_0x3cb2a1[_0xd6a1('0x2e')],'data3':members[_0x52afcd][_0xd6a1('0x2f')]||_0x3cb2a1['destination'],'uniqueid':members[_0x52afcd][_0xd6a1('0x6')]||_0x3cb2a1['uniqueid']});utils['info'](util[_0xd6a1('0x5')]('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x3cb2a1[_0xd6a1('0x6')],members[_0x52afcd][_0xd6a1('0x2c')],members[_0x52afcd][_0xd6a1('0x2d')],members[_0x52afcd][_0xd6a1('0x2f')]));if(members[_0x52afcd][_0xd6a1('0x21')]){writeDB(members[_0x52afcd]);}}}if(_0x3cb2a1[_0xd6a1('0x30')]){var _0x4dc275=_0x3cb2a1[_0xd6a1('0x30')]['split']('-')[0x0];if(!_[_0xd6a1('0x20')](members[_0x4dc275])){members[_0x4dc275]=_[_0xd6a1('0x27')](members[_0x4dc275],{'data1':members[_0x4dc275][_0xd6a1('0x2c')]||_0x3cb2a1[_0xd6a1('0xa')],'data2':members[_0x4dc275]['data2']||_0x3cb2a1['source'],'data3':members[_0x4dc275]['data3']||_0x3cb2a1[_0xd6a1('0x31')],'uniqueid':members[_0x4dc275][_0xd6a1('0x6')]||_0x3cb2a1[_0xd6a1('0x6')]});utils[_0xd6a1('0x4')](util[_0xd6a1('0x5')](_0xd6a1('0x32'),_0x3cb2a1['uniqueid'],members[_0x4dc275][_0xd6a1('0x2c')],members[_0x4dc275]['data2'],members[_0x4dc275][_0xd6a1('0x2f')]));if(members[_0x4dc275]['exitAt']){writeDB(members[_0x4dc275]);}}}}catch(_0x267600){utils['error'](util['format'](_0xd6a1('0x2b'),_0x3cb2a1[_0xd6a1('0x6')]),_0x267600);}};