Built motion from commit (unavailable).|2.6.0
[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 _0x6ba5=['some','startsWith','devicestatechange','debug','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','voice','TALKING','now','agent','NOT_INUSE','isNil','exitAt','diffTime','enterAt','agentcomplete','queue','assign','[%s][members][agentcomplete]','cdr','[%s][members][cdr]','source','data3','destination','destinationchannel','data1','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','lodash','util','./utils','Local/_attended@transfer','Queue:','info','interface','channel','data2','type','then','membername','name','internal','request','CreateMemberReport','split','catch','error','format','uniqueid'];(function(_0x592960,_0x57bcc6){var _0x2c7ea2=function(_0x3dc96a){while(--_0x3dc96a){_0x592960['push'](_0x592960['shift']());}};_0x2c7ea2(++_0x57bcc6);}(_0x6ba5,0x1bf));var _0x56ba=function(_0x132d12,_0x2c9799){_0x132d12=_0x132d12-0x0;var _0x1c3163=_0x6ba5[_0x132d12];return _0x1c3163;};'use strict';var _=require(_0x56ba('0x0'));var util=require(_0x56ba('0x1'));var utils=require(_0x56ba('0x2'));var members={};var exclude=[_0x56ba('0x3'),_0x56ba('0x4')];function writeDB(_0x516c21){utils[_0x56ba('0x5')](util['format']('[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s',_0x516c21['uniqueid'],_0x516c21[_0x56ba('0x6')],_0x516c21[_0x56ba('0x7')],_0x516c21[_0x56ba('0x8')],_0x516c21['membername'],_0x516c21[_0x56ba('0x9')]));if(_0x516c21['interface']){utils['getUserByInterface'](_0x516c21[_0x56ba('0x6')])[_0x56ba('0xa')](function(_0x5d506c){if(_0x5d506c){_0x516c21[_0x56ba('0xb')]=_0x5d506c[_0x56ba('0xc')];_0x516c21[_0x56ba('0xd')]=_0x5d506c['internal'];utils[_0x56ba('0xe')](_0x56ba('0xf'),_0x516c21);}else{utils['getUserByName'](_0x516c21[_0x56ba('0x6')][_0x56ba('0x10')]('/')[0x1])[_0x56ba('0xa')](function(_0x53cb53){if(_0x53cb53){_0x516c21['membername']=_0x53cb53[_0x56ba('0xc')];_0x516c21['internal']=_0x53cb53[_0x56ba('0xd')];utils[_0x56ba('0xe')](_0x56ba('0xf'),_0x516c21);}});}})[_0x56ba('0x11')](function(_0x15ac99){utils[_0x56ba('0x12')](util[_0x56ba('0x13')]('[%s][members][writeDB]',_0x516c21[_0x56ba('0x14')]),_0x15ac99);});}delete members[_0x516c21[_0x56ba('0x6')]];}function startsWith(_0x5c9d7b,_0xa36f00){return _[_0x56ba('0x15')](_0x5c9d7b,function(_0x5216a9){return _[_0x56ba('0x16')](_0xa36f00,_0x5216a9);});}exports[_0x56ba('0x17')]=function(_0x4e3ab2){try{utils[_0x56ba('0x18')](util[_0x56ba('0x13')](_0x56ba('0x19'),members[_0x4e3ab2['device']]?members[_0x4e3ab2[_0x56ba('0x1a')]][_0x56ba('0x14')]:_0x4e3ab2[_0x56ba('0x1a')]),_0x4e3ab2);utils[_0x56ba('0x5')](util[_0x56ba('0x13')](_0x56ba('0x1b'),members[_0x4e3ab2['device']]?members[_0x4e3ab2[_0x56ba('0x1a')]][_0x56ba('0x14')]:_0x4e3ab2['device'],_0x4e3ab2[_0x56ba('0x1c')],_0x4e3ab2[_0x56ba('0x1a')]));switch(_0x4e3ab2[_0x56ba('0x1c')]){case _0x56ba('0x1d'):case _0x56ba('0x1e'):if(!startsWith(exclude,_0x4e3ab2[_0x56ba('0x1a')])){members[_0x4e3ab2[_0x56ba('0x1a')]]={'channel':_0x56ba('0x1f'),'interface':_0x4e3ab2['device'],'type':_0x56ba('0x20'),'enterAt':utils[_0x56ba('0x21')](),'role':_0x56ba('0x22')};}break;case _0x56ba('0x23'):if(!_[_0x56ba('0x24')](members[_0x4e3ab2[_0x56ba('0x1a')]])){members[_0x4e3ab2['device']][_0x56ba('0x25')]=utils['now']();members[_0x4e3ab2[_0x56ba('0x1a')]]['duration']=utils[_0x56ba('0x26')](members[_0x4e3ab2[_0x56ba('0x1a')]][_0x56ba('0x25')],members[_0x4e3ab2['device']][_0x56ba('0x27')]);if(members[_0x4e3ab2['device']]['uniqueid']){writeDB(members[_0x4e3ab2['device']]);}}break;default:break;}}catch(_0x7a49ee){utils['error'](util[_0x56ba('0x13')](_0x56ba('0x19'),members[_0x4e3ab2[_0x56ba('0x1a')]]?members[_0x4e3ab2[_0x56ba('0x1a')]][_0x56ba('0x14')]:_0x4e3ab2['device']),_0x7a49ee);}};exports[_0x56ba('0x28')]=function(_0x11a34e){try{if(!_[_0x56ba('0x24')](members[_0x11a34e['interface']])){utils[_0x56ba('0x18')](util[_0x56ba('0x13')]('[%s][members][agentcomplete]',_0x11a34e[_0x56ba('0x14')]),_0x11a34e);utils[_0x56ba('0x5')](util[_0x56ba('0x13')]('[%s][members][agentcomplete]\x20interface:%s\x20queue:%s',_0x11a34e[_0x56ba('0x14')],_0x11a34e[_0x56ba('0x6')],_0x11a34e[_0x56ba('0x29')]));members[_0x11a34e[_0x56ba('0x6')]]=_[_0x56ba('0x2a')](members[_0x11a34e[_0x56ba('0x6')]],{'data4':_0x11a34e[_0x56ba('0x29')],'uniqueid':_0x11a34e['uniqueid']});}}catch(_0x20802e){utils[_0x56ba('0x12')](util[_0x56ba('0x13')](_0x56ba('0x2b'),_0x11a34e['uniqueid']),_0x20802e);}};exports[_0x56ba('0x2c')]=function(_0x30579f){try{utils[_0x56ba('0x18')](util['format'](_0x56ba('0x2d'),_0x30579f[_0x56ba('0x14')]),_0x30579f);if(_0x30579f['channel']){var _0x2d52dc=_0x30579f[_0x56ba('0x7')]['split']('-')[0x0];if(!_[_0x56ba('0x24')](members[_0x2d52dc])){members[_0x2d52dc]=_['assign'](members[_0x2d52dc],{'data1':members[_0x2d52dc]['data1']||_0x30579f[_0x56ba('0x9')],'data2':members[_0x2d52dc][_0x56ba('0x8')]||_0x30579f[_0x56ba('0x2e')],'data3':members[_0x2d52dc][_0x56ba('0x2f')]||_0x30579f[_0x56ba('0x30')],'uniqueid':members[_0x2d52dc]['uniqueid']||_0x30579f[_0x56ba('0x14')]});utils[_0x56ba('0x5')](util[_0x56ba('0x13')]('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x30579f[_0x56ba('0x14')],members[_0x2d52dc]['data1'],members[_0x2d52dc][_0x56ba('0x8')],members[_0x2d52dc][_0x56ba('0x2f')]));if(members[_0x2d52dc][_0x56ba('0x25')]){writeDB(members[_0x2d52dc]);}}}if(_0x30579f[_0x56ba('0x31')]){var _0x417fa3=_0x30579f[_0x56ba('0x31')][_0x56ba('0x10')]('-')[0x0];if(!_['isNil'](members[_0x417fa3])){members[_0x417fa3]=_[_0x56ba('0x2a')](members[_0x417fa3],{'data1':members[_0x417fa3][_0x56ba('0x32')]||_0x30579f['type'],'data2':members[_0x417fa3][_0x56ba('0x8')]||_0x30579f[_0x56ba('0x2e')],'data3':members[_0x417fa3]['data3']||_0x30579f['destination'],'uniqueid':members[_0x417fa3]['uniqueid']||_0x30579f[_0x56ba('0x14')]});utils[_0x56ba('0x5')](util[_0x56ba('0x13')](_0x56ba('0x33'),_0x30579f[_0x56ba('0x14')],members[_0x417fa3][_0x56ba('0x32')],members[_0x417fa3][_0x56ba('0x8')],members[_0x417fa3][_0x56ba('0x2f')]));if(members[_0x417fa3]['exitAt']){writeDB(members[_0x417fa3]);}}}}catch(_0x473abd){utils[_0x56ba('0x12')](util[_0x56ba('0x13')](_0x56ba('0x2d'),_0x30579f[_0x56ba('0x14')]),_0x473abd);}};