Built motion from commit 8356fca3.|2.6.19
[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 _0x91d0=['some','startsWith','devicestatechange','debug','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','voice','TALKING','now','NOT_INUSE','isNil','exitAt','diffTime','enterAt','error','[%s][members][devicestatechange]','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','cdr','[%s][members][cdr]','channel','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','data1','destinationchannel','util','./utils','Queue:','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','data2','type','getUserByInterface','then','membername','name','internal','request','CreateMemberReport','split'];(function(_0x56ec48,_0x32fc3c){var _0x50953c=function(_0x2daf70){while(--_0x2daf70){_0x56ec48['push'](_0x56ec48['shift']());}};_0x50953c(++_0x32fc3c);}(_0x91d0,0xb6));var _0x091d=function(_0x58efa6,_0x2c00bd){_0x58efa6=_0x58efa6-0x0;var _0x5d643c=_0x91d0[_0x58efa6];return _0x5d643c;};'use strict';var _=require('lodash');var util=require(_0x091d('0x0'));var utils=require(_0x091d('0x1'));var members={};var exclude=['Local/_attended@transfer',_0x091d('0x2')];function writeDB(_0x55d26d){utils[_0x091d('0x3')](util[_0x091d('0x4')](_0x091d('0x5'),_0x55d26d[_0x091d('0x6')],_0x55d26d[_0x091d('0x7')],_0x55d26d['channel'],_0x55d26d[_0x091d('0x8')],_0x55d26d['membername'],_0x55d26d[_0x091d('0x9')]));if(_0x55d26d[_0x091d('0x7')]){utils[_0x091d('0xa')](_0x55d26d[_0x091d('0x7')])[_0x091d('0xb')](function(_0x53a64a){if(_0x53a64a){_0x55d26d[_0x091d('0xc')]=_0x53a64a[_0x091d('0xd')];_0x55d26d[_0x091d('0xe')]=_0x53a64a[_0x091d('0xe')];utils[_0x091d('0xf')](_0x091d('0x10'),_0x55d26d);}else{utils['getUserByName'](_0x55d26d[_0x091d('0x7')][_0x091d('0x11')]('/')[0x1])[_0x091d('0xb')](function(_0x200057){if(_0x200057){_0x55d26d[_0x091d('0xc')]=_0x200057[_0x091d('0xd')];_0x55d26d[_0x091d('0xe')]=_0x200057[_0x091d('0xe')];utils[_0x091d('0xf')](_0x091d('0x10'),_0x55d26d);}});}})['catch'](function(_0x16e8ed){utils['error'](util['format']('[%s][members][writeDB]',_0x55d26d[_0x091d('0x6')]),_0x16e8ed);});}delete members[_0x55d26d[_0x091d('0x7')]];}function startsWith(_0x4338c7,_0x564370){return _[_0x091d('0x12')](_0x4338c7,function(_0x31a577){return _[_0x091d('0x13')](_0x564370,_0x31a577);});}exports[_0x091d('0x14')]=function(_0x53e642){try{utils[_0x091d('0x15')](util['format']('[%s][members][devicestatechange]',members[_0x53e642[_0x091d('0x16')]]?members[_0x53e642[_0x091d('0x16')]][_0x091d('0x6')]:_0x53e642[_0x091d('0x16')]),_0x53e642);utils[_0x091d('0x3')](util[_0x091d('0x4')](_0x091d('0x17'),members[_0x53e642[_0x091d('0x16')]]?members[_0x53e642[_0x091d('0x16')]]['uniqueid']:_0x53e642['device'],_0x53e642[_0x091d('0x18')],_0x53e642[_0x091d('0x16')]));switch(_0x53e642['state']){case _0x091d('0x19'):case _0x091d('0x1a'):if(!startsWith(exclude,_0x53e642[_0x091d('0x16')])){members[_0x53e642['device']]={'channel':_0x091d('0x1b'),'interface':_0x53e642[_0x091d('0x16')],'type':_0x091d('0x1c'),'enterAt':utils[_0x091d('0x1d')](),'role':'agent'};}break;case _0x091d('0x1e'):if(!_[_0x091d('0x1f')](members[_0x53e642[_0x091d('0x16')]])){members[_0x53e642[_0x091d('0x16')]][_0x091d('0x20')]=utils[_0x091d('0x1d')]();members[_0x53e642[_0x091d('0x16')]]['duration']=utils[_0x091d('0x21')](members[_0x53e642[_0x091d('0x16')]][_0x091d('0x20')],members[_0x53e642[_0x091d('0x16')]][_0x091d('0x22')]);if(members[_0x53e642[_0x091d('0x16')]]['uniqueid']){writeDB(members[_0x53e642[_0x091d('0x16')]]);}}break;default:break;}}catch(_0x4fec4d){utils[_0x091d('0x23')](util[_0x091d('0x4')](_0x091d('0x24'),members[_0x53e642['device']]?members[_0x53e642[_0x091d('0x16')]][_0x091d('0x6')]:_0x53e642[_0x091d('0x16')]),_0x4fec4d);}};exports['agentcomplete']=function(_0x1a23a5){try{if(!_[_0x091d('0x1f')](members[_0x1a23a5['interface']])){utils[_0x091d('0x15')](util[_0x091d('0x4')](_0x091d('0x25'),_0x1a23a5['uniqueid']),_0x1a23a5);utils[_0x091d('0x3')](util[_0x091d('0x4')](_0x091d('0x26'),_0x1a23a5['uniqueid'],_0x1a23a5[_0x091d('0x7')],_0x1a23a5[_0x091d('0x27')]));members[_0x1a23a5['interface']]=_[_0x091d('0x28')](members[_0x1a23a5[_0x091d('0x7')]],{'data4':_0x1a23a5[_0x091d('0x27')],'uniqueid':_0x1a23a5['uniqueid']});}}catch(_0x100616){utils['error'](util[_0x091d('0x4')](_0x091d('0x25'),_0x1a23a5[_0x091d('0x6')]),_0x100616);}};exports[_0x091d('0x29')]=function(_0x4fb661){try{utils['debug'](util['format'](_0x091d('0x2a'),_0x4fb661['uniqueid']),_0x4fb661);if(_0x4fb661['channel']){var _0x4680fd=_0x4fb661[_0x091d('0x2b')][_0x091d('0x11')]('-')[0x0];if(!_[_0x091d('0x1f')](members[_0x4680fd])){members[_0x4680fd]=_['assign'](members[_0x4680fd],{'data1':members[_0x4680fd]['data1']||_0x4fb661['type'],'data2':members[_0x4680fd][_0x091d('0x8')]||_0x4fb661[_0x091d('0x2c')],'data3':members[_0x4680fd][_0x091d('0x2d')]||_0x4fb661[_0x091d('0x2e')],'uniqueid':members[_0x4680fd]['uniqueid']||_0x4fb661[_0x091d('0x6')]});utils[_0x091d('0x3')](util[_0x091d('0x4')](_0x091d('0x2f'),_0x4fb661[_0x091d('0x6')],members[_0x4680fd][_0x091d('0x30')],members[_0x4680fd][_0x091d('0x8')],members[_0x4680fd][_0x091d('0x2d')]));if(members[_0x4680fd][_0x091d('0x20')]){writeDB(members[_0x4680fd]);}}}if(_0x4fb661[_0x091d('0x31')]){var _0x594c30=_0x4fb661['destinationchannel'][_0x091d('0x11')]('-')[0x0];if(!_[_0x091d('0x1f')](members[_0x594c30])){members[_0x594c30]=_[_0x091d('0x28')](members[_0x594c30],{'data1':members[_0x594c30][_0x091d('0x30')]||_0x4fb661['type'],'data2':members[_0x594c30][_0x091d('0x8')]||_0x4fb661[_0x091d('0x2c')],'data3':members[_0x594c30][_0x091d('0x2d')]||_0x4fb661[_0x091d('0x2e')],'uniqueid':members[_0x594c30][_0x091d('0x6')]||_0x4fb661[_0x091d('0x6')]});utils[_0x091d('0x3')](util[_0x091d('0x4')]('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x4fb661[_0x091d('0x6')],members[_0x594c30][_0x091d('0x30')],members[_0x594c30][_0x091d('0x8')],members[_0x594c30][_0x091d('0x2d')]));if(members[_0x594c30][_0x091d('0x20')]){writeDB(members[_0x594c30]);}}}}catch(_0x3f636b){utils[_0x091d('0x23')](util[_0x091d('0x4')](_0x091d('0x2a'),_0x4fb661[_0x091d('0x6')]),_0x3f636b);}};