Built motion from commit (unavailable).|2.5.30
[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 _0xae7e=['data1','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','lodash','util','./utils','Local/_attended@transfer','info','uniqueid','interface','channel','data2','type','getUserByInterface','then','membername','name','internal','request','CreateMemberReport','getUserByName','format','[%s][members][writeDB]','some','startsWith','devicestatechange','debug','device','state','INUSE','BUSY','TALKING','now','agent','NOT_INUSE','isNil','exitAt','diffTime','enterAt','[%s][members][devicestatechange]','agentcomplete','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','error','[%s][members][cdr]','split'];(function(_0x39a072,_0x1dcbc7){var _0x291f82=function(_0x8dc534){while(--_0x8dc534){_0x39a072['push'](_0x39a072['shift']());}};_0x291f82(++_0x1dcbc7);}(_0xae7e,0x9f));var _0xeae7=function(_0x2dafbe,_0x5d04de){_0x2dafbe=_0x2dafbe-0x0;var _0x58a45a=_0xae7e[_0x2dafbe];return _0x58a45a;};'use strict';var _=require(_0xeae7('0x0'));var util=require(_0xeae7('0x1'));var utils=require(_0xeae7('0x2'));var members={};var exclude=[_0xeae7('0x3'),'Queue:'];function writeDB(_0x247a52){utils[_0xeae7('0x4')](util['format']('[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s',_0x247a52[_0xeae7('0x5')],_0x247a52[_0xeae7('0x6')],_0x247a52[_0xeae7('0x7')],_0x247a52[_0xeae7('0x8')],_0x247a52['membername'],_0x247a52[_0xeae7('0x9')]));if(_0x247a52['interface']){utils[_0xeae7('0xa')](_0x247a52[_0xeae7('0x6')])[_0xeae7('0xb')](function(_0x2b003f){if(_0x2b003f){_0x247a52[_0xeae7('0xc')]=_0x2b003f[_0xeae7('0xd')];_0x247a52[_0xeae7('0xe')]=_0x2b003f['internal'];utils[_0xeae7('0xf')](_0xeae7('0x10'),_0x247a52);}else{utils[_0xeae7('0x11')](_0x247a52['interface']['split']('/')[0x1])['then'](function(_0x58fa2e){if(_0x58fa2e){_0x247a52[_0xeae7('0xc')]=_0x58fa2e[_0xeae7('0xd')];_0x247a52['internal']=_0x58fa2e[_0xeae7('0xe')];utils[_0xeae7('0xf')]('CreateMemberReport',_0x247a52);}});}})['catch'](function(_0x44cad4){utils['error'](util[_0xeae7('0x12')](_0xeae7('0x13'),_0x247a52[_0xeae7('0x5')]),_0x44cad4);});}delete members[_0x247a52[_0xeae7('0x6')]];}function startsWith(_0x1de630,_0x19eab0){return _[_0xeae7('0x14')](_0x1de630,function(_0x36a204){return _[_0xeae7('0x15')](_0x19eab0,_0x36a204);});}exports[_0xeae7('0x16')]=function(_0x44fed4){try{utils[_0xeae7('0x17')](util[_0xeae7('0x12')]('[%s][members][devicestatechange]',members[_0x44fed4[_0xeae7('0x18')]]?members[_0x44fed4['device']][_0xeae7('0x5')]:_0x44fed4[_0xeae7('0x18')]),_0x44fed4);utils[_0xeae7('0x4')](util[_0xeae7('0x12')]('[%s][members][devicestatechange]\x20state:%s\x20interface:%s',members[_0x44fed4[_0xeae7('0x18')]]?members[_0x44fed4[_0xeae7('0x18')]][_0xeae7('0x5')]:_0x44fed4[_0xeae7('0x18')],_0x44fed4[_0xeae7('0x19')],_0x44fed4['device']));switch(_0x44fed4[_0xeae7('0x19')]){case _0xeae7('0x1a'):case _0xeae7('0x1b'):if(!startsWith(exclude,_0x44fed4[_0xeae7('0x18')])){members[_0x44fed4['device']]={'channel':'voice','interface':_0x44fed4[_0xeae7('0x18')],'type':_0xeae7('0x1c'),'enterAt':utils[_0xeae7('0x1d')](),'role':_0xeae7('0x1e')};}break;case _0xeae7('0x1f'):if(!_[_0xeae7('0x20')](members[_0x44fed4[_0xeae7('0x18')]])){members[_0x44fed4['device']][_0xeae7('0x21')]=utils[_0xeae7('0x1d')]();members[_0x44fed4[_0xeae7('0x18')]]['duration']=utils[_0xeae7('0x22')](members[_0x44fed4[_0xeae7('0x18')]][_0xeae7('0x21')],members[_0x44fed4[_0xeae7('0x18')]][_0xeae7('0x23')]);if(members[_0x44fed4[_0xeae7('0x18')]][_0xeae7('0x5')]){writeDB(members[_0x44fed4[_0xeae7('0x18')]]);}}break;default:break;}}catch(_0x167ef2){utils['error'](util[_0xeae7('0x12')](_0xeae7('0x24'),members[_0x44fed4[_0xeae7('0x18')]]?members[_0x44fed4[_0xeae7('0x18')]][_0xeae7('0x5')]:_0x44fed4['device']),_0x167ef2);}};exports[_0xeae7('0x25')]=function(_0x711721){try{if(!_[_0xeae7('0x20')](members[_0x711721[_0xeae7('0x6')]])){utils[_0xeae7('0x17')](util['format'](_0xeae7('0x26'),_0x711721[_0xeae7('0x5')]),_0x711721);utils['info'](util[_0xeae7('0x12')](_0xeae7('0x27'),_0x711721['uniqueid'],_0x711721[_0xeae7('0x6')],_0x711721[_0xeae7('0x28')]));members[_0x711721[_0xeae7('0x6')]]=_[_0xeae7('0x29')](members[_0x711721[_0xeae7('0x6')]],{'data4':_0x711721[_0xeae7('0x28')],'uniqueid':_0x711721[_0xeae7('0x5')]});}}catch(_0x234bf3){utils[_0xeae7('0x2a')](util[_0xeae7('0x12')](_0xeae7('0x26'),_0x711721[_0xeae7('0x5')]),_0x234bf3);}};exports['cdr']=function(_0x53a4b4){try{utils[_0xeae7('0x17')](util[_0xeae7('0x12')](_0xeae7('0x2b'),_0x53a4b4['uniqueid']),_0x53a4b4);if(_0x53a4b4[_0xeae7('0x7')]){var _0x4bbb1d=_0x53a4b4['channel'][_0xeae7('0x2c')]('-')[0x0];if(!_[_0xeae7('0x20')](members[_0x4bbb1d])){members[_0x4bbb1d]=_[_0xeae7('0x29')](members[_0x4bbb1d],{'data1':members[_0x4bbb1d][_0xeae7('0x2d')]||_0x53a4b4[_0xeae7('0x9')],'data2':members[_0x4bbb1d][_0xeae7('0x8')]||_0x53a4b4[_0xeae7('0x2e')],'data3':members[_0x4bbb1d][_0xeae7('0x2f')]||_0x53a4b4[_0xeae7('0x30')],'uniqueid':members[_0x4bbb1d][_0xeae7('0x5')]||_0x53a4b4[_0xeae7('0x5')]});utils['info'](util[_0xeae7('0x12')](_0xeae7('0x31'),_0x53a4b4[_0xeae7('0x5')],members[_0x4bbb1d][_0xeae7('0x2d')],members[_0x4bbb1d][_0xeae7('0x8')],members[_0x4bbb1d]['data3']));if(members[_0x4bbb1d][_0xeae7('0x21')]){writeDB(members[_0x4bbb1d]);}}}if(_0x53a4b4[_0xeae7('0x32')]){var _0x1d5abe=_0x53a4b4['destinationchannel'][_0xeae7('0x2c')]('-')[0x0];if(!_[_0xeae7('0x20')](members[_0x1d5abe])){members[_0x1d5abe]=_[_0xeae7('0x29')](members[_0x1d5abe],{'data1':members[_0x1d5abe][_0xeae7('0x2d')]||_0x53a4b4['type'],'data2':members[_0x1d5abe][_0xeae7('0x8')]||_0x53a4b4[_0xeae7('0x2e')],'data3':members[_0x1d5abe]['data3']||_0x53a4b4[_0xeae7('0x30')],'uniqueid':members[_0x1d5abe][_0xeae7('0x5')]||_0x53a4b4[_0xeae7('0x5')]});utils[_0xeae7('0x4')](util[_0xeae7('0x12')]('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x53a4b4[_0xeae7('0x5')],members[_0x1d5abe][_0xeae7('0x2d')],members[_0x1d5abe]['data2'],members[_0x1d5abe]['data3']));if(members[_0x1d5abe]['exitAt']){writeDB(members[_0x1d5abe]);}}}}catch(_0x51add6){utils[_0xeae7('0x2a')](util['format'](_0xeae7('0x2b'),_0x53a4b4[_0xeae7('0x5')]),_0x51add6);}};