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 _0x46cc=['info','format','interface','channel','data2','membername','type','getUserByInterface','internal','request','CreateMemberReport','getUserByName','split','then','name','catch','[%s][members][writeDB]','uniqueid','some','startsWith','devicestatechange','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','BUSY','voice','now','agent','isNil','exitAt','diffTime','enterAt','error','agentcomplete','debug','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','assign','queue','[%s][members][agentcomplete]','cdr','[%s][members][cdr]','data1','data3','destinationchannel','destination','util','./utils','Queue:'];(function(_0x47d601,_0x59a5fe){var _0xff661d=function(_0x43ac5d){while(--_0x43ac5d){_0x47d601['push'](_0x47d601['shift']());}};_0xff661d(++_0x59a5fe);}(_0x46cc,0xc1));var _0xc46c=function(_0x22b64b,_0x5de02f){_0x22b64b=_0x22b64b-0x0;var _0x2b24de=_0x46cc[_0x22b64b];return _0x2b24de;};'use strict';var _=require('lodash');var util=require(_0xc46c('0x0'));var utils=require(_0xc46c('0x1'));var members={};var exclude=['Local/_attended@transfer',_0xc46c('0x2')];function writeDB(_0x36840f){utils[_0xc46c('0x3')](util[_0xc46c('0x4')]('[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s',_0x36840f['uniqueid'],_0x36840f[_0xc46c('0x5')],_0x36840f[_0xc46c('0x6')],_0x36840f[_0xc46c('0x7')],_0x36840f[_0xc46c('0x8')],_0x36840f[_0xc46c('0x9')]));if(_0x36840f[_0xc46c('0x5')]){utils[_0xc46c('0xa')](_0x36840f[_0xc46c('0x5')])['then'](function(_0x1af0de){if(_0x1af0de){_0x36840f[_0xc46c('0x8')]=_0x1af0de['name'];_0x36840f[_0xc46c('0xb')]=_0x1af0de[_0xc46c('0xb')];utils[_0xc46c('0xc')](_0xc46c('0xd'),_0x36840f);}else{utils[_0xc46c('0xe')](_0x36840f[_0xc46c('0x5')][_0xc46c('0xf')]('/')[0x1])[_0xc46c('0x10')](function(_0x2e49a9){if(_0x2e49a9){_0x36840f[_0xc46c('0x8')]=_0x2e49a9[_0xc46c('0x11')];_0x36840f[_0xc46c('0xb')]=_0x2e49a9[_0xc46c('0xb')];utils[_0xc46c('0xc')](_0xc46c('0xd'),_0x36840f);}});}})[_0xc46c('0x12')](function(_0x2c9766){utils['error'](util[_0xc46c('0x4')](_0xc46c('0x13'),_0x36840f[_0xc46c('0x14')]),_0x2c9766);});}delete members[_0x36840f['interface']];}function startsWith(_0x50190d,_0x26e968){return _[_0xc46c('0x15')](_0x50190d,function(_0x9d913a){return _[_0xc46c('0x16')](_0x26e968,_0x9d913a);});}exports[_0xc46c('0x17')]=function(_0x2df1c4){try{utils['debug'](util[_0xc46c('0x4')](_0xc46c('0x18'),members[_0x2df1c4[_0xc46c('0x19')]]?members[_0x2df1c4[_0xc46c('0x19')]][_0xc46c('0x14')]:_0x2df1c4[_0xc46c('0x19')]),_0x2df1c4);utils[_0xc46c('0x3')](util['format'](_0xc46c('0x1a'),members[_0x2df1c4[_0xc46c('0x19')]]?members[_0x2df1c4['device']][_0xc46c('0x14')]:_0x2df1c4['device'],_0x2df1c4[_0xc46c('0x1b')],_0x2df1c4['device']));switch(_0x2df1c4['state']){case'INUSE':case _0xc46c('0x1c'):if(!startsWith(exclude,_0x2df1c4[_0xc46c('0x19')])){members[_0x2df1c4[_0xc46c('0x19')]]={'channel':_0xc46c('0x1d'),'interface':_0x2df1c4['device'],'type':'TALKING','enterAt':utils[_0xc46c('0x1e')](),'role':_0xc46c('0x1f')};}break;case'NOT_INUSE':if(!_[_0xc46c('0x20')](members[_0x2df1c4['device']])){members[_0x2df1c4['device']][_0xc46c('0x21')]=utils[_0xc46c('0x1e')]();members[_0x2df1c4[_0xc46c('0x19')]]['duration']=utils[_0xc46c('0x22')](members[_0x2df1c4[_0xc46c('0x19')]][_0xc46c('0x21')],members[_0x2df1c4[_0xc46c('0x19')]][_0xc46c('0x23')]);if(members[_0x2df1c4[_0xc46c('0x19')]][_0xc46c('0x14')]){writeDB(members[_0x2df1c4[_0xc46c('0x19')]]);}}break;default:break;}}catch(_0x379a8e){utils[_0xc46c('0x24')](util['format'](_0xc46c('0x18'),members[_0x2df1c4['device']]?members[_0x2df1c4[_0xc46c('0x19')]][_0xc46c('0x14')]:_0x2df1c4[_0xc46c('0x19')]),_0x379a8e);}};exports[_0xc46c('0x25')]=function(_0x539e1c){try{if(!_[_0xc46c('0x20')](members[_0x539e1c[_0xc46c('0x5')]])){utils[_0xc46c('0x26')](util[_0xc46c('0x4')]('[%s][members][agentcomplete]',_0x539e1c[_0xc46c('0x14')]),_0x539e1c);utils[_0xc46c('0x3')](util['format'](_0xc46c('0x27'),_0x539e1c[_0xc46c('0x14')],_0x539e1c[_0xc46c('0x5')],_0x539e1c['queue']));members[_0x539e1c[_0xc46c('0x5')]]=_[_0xc46c('0x28')](members[_0x539e1c[_0xc46c('0x5')]],{'data4':_0x539e1c[_0xc46c('0x29')],'uniqueid':_0x539e1c[_0xc46c('0x14')]});}}catch(_0x499856){utils[_0xc46c('0x24')](util['format'](_0xc46c('0x2a'),_0x539e1c[_0xc46c('0x14')]),_0x499856);}};exports[_0xc46c('0x2b')]=function(_0x4cdfa7){try{utils[_0xc46c('0x26')](util[_0xc46c('0x4')](_0xc46c('0x2c'),_0x4cdfa7[_0xc46c('0x14')]),_0x4cdfa7);if(_0x4cdfa7[_0xc46c('0x6')]){var _0x24e107=_0x4cdfa7[_0xc46c('0x6')][_0xc46c('0xf')]('-')[0x0];if(!_[_0xc46c('0x20')](members[_0x24e107])){members[_0x24e107]=_[_0xc46c('0x28')](members[_0x24e107],{'data1':members[_0x24e107][_0xc46c('0x2d')]||_0x4cdfa7[_0xc46c('0x9')],'data2':members[_0x24e107][_0xc46c('0x7')]||_0x4cdfa7['source'],'data3':members[_0x24e107]['data3']||_0x4cdfa7['destination'],'uniqueid':members[_0x24e107]['uniqueid']||_0x4cdfa7[_0xc46c('0x14')]});utils[_0xc46c('0x3')](util[_0xc46c('0x4')]('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x4cdfa7[_0xc46c('0x14')],members[_0x24e107][_0xc46c('0x2d')],members[_0x24e107][_0xc46c('0x7')],members[_0x24e107][_0xc46c('0x2e')]));if(members[_0x24e107][_0xc46c('0x21')]){writeDB(members[_0x24e107]);}}}if(_0x4cdfa7['destinationchannel']){var _0x4348ab=_0x4cdfa7[_0xc46c('0x2f')]['split']('-')[0x0];if(!_[_0xc46c('0x20')](members[_0x4348ab])){members[_0x4348ab]=_[_0xc46c('0x28')](members[_0x4348ab],{'data1':members[_0x4348ab][_0xc46c('0x2d')]||_0x4cdfa7[_0xc46c('0x9')],'data2':members[_0x4348ab]['data2']||_0x4cdfa7['source'],'data3':members[_0x4348ab]['data3']||_0x4cdfa7[_0xc46c('0x30')],'uniqueid':members[_0x4348ab][_0xc46c('0x14')]||_0x4cdfa7[_0xc46c('0x14')]});utils[_0xc46c('0x3')](util['format']('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x4cdfa7[_0xc46c('0x14')],members[_0x4348ab][_0xc46c('0x2d')],members[_0x4348ab][_0xc46c('0x7')],members[_0x4348ab][_0xc46c('0x2e')]));if(members[_0x4348ab][_0xc46c('0x21')]){writeDB(members[_0x4348ab]);}}}}catch(_0x1afa3a){utils[_0xc46c('0x24')](util[_0xc46c('0x4')](_0xc46c('0x2c'),_0x4cdfa7['uniqueid']),_0x1afa3a);}};