Built motion from commit 3e059bc2.|2.5.32
[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 _0x1b20=['enterAt','error','agentcomplete','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','cdr','[%s][members][cdr]','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','data1','destinationchannel','source','lodash','util','./utils','info','uniqueid','interface','channel','data2','membername','type','getUserByInterface','then','name','internal','request','CreateMemberReport','getUserByName','split','format','some','devicestatechange','debug','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','voice','TALKING','now','isNil','exitAt','duration'];(function(_0x41e3e5,_0x441240){var _0x4b5b5c=function(_0x5b988a){while(--_0x5b988a){_0x41e3e5['push'](_0x41e3e5['shift']());}};_0x4b5b5c(++_0x441240);}(_0x1b20,0x1c8));var _0x01b2=function(_0x21a9d9,_0x4d5ac8){_0x21a9d9=_0x21a9d9-0x0;var _0x46adce=_0x1b20[_0x21a9d9];return _0x46adce;};'use strict';var _=require(_0x01b2('0x0'));var util=require(_0x01b2('0x1'));var utils=require(_0x01b2('0x2'));var members={};var exclude=['Local/_attended@transfer','Queue:'];function writeDB(_0x13af77){utils[_0x01b2('0x3')](util['format']('[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s',_0x13af77[_0x01b2('0x4')],_0x13af77[_0x01b2('0x5')],_0x13af77[_0x01b2('0x6')],_0x13af77[_0x01b2('0x7')],_0x13af77[_0x01b2('0x8')],_0x13af77[_0x01b2('0x9')]));if(_0x13af77[_0x01b2('0x5')]){utils[_0x01b2('0xa')](_0x13af77[_0x01b2('0x5')])[_0x01b2('0xb')](function(_0x1b5983){if(_0x1b5983){_0x13af77[_0x01b2('0x8')]=_0x1b5983[_0x01b2('0xc')];_0x13af77[_0x01b2('0xd')]=_0x1b5983[_0x01b2('0xd')];utils[_0x01b2('0xe')](_0x01b2('0xf'),_0x13af77);}else{utils[_0x01b2('0x10')](_0x13af77['interface'][_0x01b2('0x11')]('/')[0x1])[_0x01b2('0xb')](function(_0x103c1e){if(_0x103c1e){_0x13af77[_0x01b2('0x8')]=_0x103c1e[_0x01b2('0xc')];_0x13af77[_0x01b2('0xd')]=_0x103c1e[_0x01b2('0xd')];utils['request']('CreateMemberReport',_0x13af77);}});}})['catch'](function(_0x3a41b9){utils['error'](util[_0x01b2('0x12')]('[%s][members][writeDB]',_0x13af77[_0x01b2('0x4')]),_0x3a41b9);});}delete members[_0x13af77[_0x01b2('0x5')]];}function startsWith(_0x200bda,_0x204feb){return _[_0x01b2('0x13')](_0x200bda,function(_0x68f513){return _['startsWith'](_0x204feb,_0x68f513);});}exports[_0x01b2('0x14')]=function(_0x33580c){try{utils[_0x01b2('0x15')](util['format'](_0x01b2('0x16'),members[_0x33580c[_0x01b2('0x17')]]?members[_0x33580c[_0x01b2('0x17')]][_0x01b2('0x4')]:_0x33580c['device']),_0x33580c);utils[_0x01b2('0x3')](util['format'](_0x01b2('0x18'),members[_0x33580c[_0x01b2('0x17')]]?members[_0x33580c[_0x01b2('0x17')]][_0x01b2('0x4')]:_0x33580c['device'],_0x33580c[_0x01b2('0x19')],_0x33580c['device']));switch(_0x33580c['state']){case _0x01b2('0x1a'):case _0x01b2('0x1b'):if(!startsWith(exclude,_0x33580c[_0x01b2('0x17')])){members[_0x33580c[_0x01b2('0x17')]]={'channel':_0x01b2('0x1c'),'interface':_0x33580c[_0x01b2('0x17')],'type':_0x01b2('0x1d'),'enterAt':utils[_0x01b2('0x1e')](),'role':'agent'};}break;case'NOT_INUSE':if(!_[_0x01b2('0x1f')](members[_0x33580c[_0x01b2('0x17')]])){members[_0x33580c[_0x01b2('0x17')]][_0x01b2('0x20')]=utils['now']();members[_0x33580c[_0x01b2('0x17')]][_0x01b2('0x21')]=utils['diffTime'](members[_0x33580c[_0x01b2('0x17')]][_0x01b2('0x20')],members[_0x33580c[_0x01b2('0x17')]][_0x01b2('0x22')]);if(members[_0x33580c['device']][_0x01b2('0x4')]){writeDB(members[_0x33580c[_0x01b2('0x17')]]);}}break;default:break;}}catch(_0x2387cf){utils[_0x01b2('0x23')](util[_0x01b2('0x12')](_0x01b2('0x16'),members[_0x33580c[_0x01b2('0x17')]]?members[_0x33580c[_0x01b2('0x17')]][_0x01b2('0x4')]:_0x33580c['device']),_0x2387cf);}};exports[_0x01b2('0x24')]=function(_0x37f157){try{if(!_[_0x01b2('0x1f')](members[_0x37f157['interface']])){utils['debug'](util[_0x01b2('0x12')](_0x01b2('0x25'),_0x37f157['uniqueid']),_0x37f157);utils[_0x01b2('0x3')](util[_0x01b2('0x12')](_0x01b2('0x26'),_0x37f157[_0x01b2('0x4')],_0x37f157[_0x01b2('0x5')],_0x37f157[_0x01b2('0x27')]));members[_0x37f157['interface']]=_[_0x01b2('0x28')](members[_0x37f157[_0x01b2('0x5')]],{'data4':_0x37f157[_0x01b2('0x27')],'uniqueid':_0x37f157[_0x01b2('0x4')]});}}catch(_0x5935f0){utils[_0x01b2('0x23')](util[_0x01b2('0x12')](_0x01b2('0x25'),_0x37f157[_0x01b2('0x4')]),_0x5935f0);}};exports[_0x01b2('0x29')]=function(_0x47be4c){try{utils[_0x01b2('0x15')](util[_0x01b2('0x12')](_0x01b2('0x2a'),_0x47be4c['uniqueid']),_0x47be4c);if(_0x47be4c[_0x01b2('0x6')]){var _0x553721=_0x47be4c[_0x01b2('0x6')][_0x01b2('0x11')]('-')[0x0];if(!_['isNil'](members[_0x553721])){members[_0x553721]=_[_0x01b2('0x28')](members[_0x553721],{'data1':members[_0x553721]['data1']||_0x47be4c[_0x01b2('0x9')],'data2':members[_0x553721][_0x01b2('0x7')]||_0x47be4c['source'],'data3':members[_0x553721][_0x01b2('0x2b')]||_0x47be4c[_0x01b2('0x2c')],'uniqueid':members[_0x553721]['uniqueid']||_0x47be4c[_0x01b2('0x4')]});utils[_0x01b2('0x3')](util[_0x01b2('0x12')](_0x01b2('0x2d'),_0x47be4c[_0x01b2('0x4')],members[_0x553721][_0x01b2('0x2e')],members[_0x553721][_0x01b2('0x7')],members[_0x553721][_0x01b2('0x2b')]));if(members[_0x553721][_0x01b2('0x20')]){writeDB(members[_0x553721]);}}}if(_0x47be4c[_0x01b2('0x2f')]){var _0x4a8738=_0x47be4c['destinationchannel'][_0x01b2('0x11')]('-')[0x0];if(!_[_0x01b2('0x1f')](members[_0x4a8738])){members[_0x4a8738]=_[_0x01b2('0x28')](members[_0x4a8738],{'data1':members[_0x4a8738][_0x01b2('0x2e')]||_0x47be4c[_0x01b2('0x9')],'data2':members[_0x4a8738]['data2']||_0x47be4c[_0x01b2('0x30')],'data3':members[_0x4a8738][_0x01b2('0x2b')]||_0x47be4c[_0x01b2('0x2c')],'uniqueid':members[_0x4a8738][_0x01b2('0x4')]||_0x47be4c[_0x01b2('0x4')]});utils['info'](util[_0x01b2('0x12')](_0x01b2('0x2d'),_0x47be4c[_0x01b2('0x4')],members[_0x4a8738][_0x01b2('0x2e')],members[_0x4a8738][_0x01b2('0x7')],members[_0x4a8738][_0x01b2('0x2b')]));if(members[_0x4a8738][_0x01b2('0x20')]){writeDB(members[_0x4a8738]);}}}}catch(_0x54ccbd){utils[_0x01b2('0x23')](util[_0x01b2('0x12')]('[%s][members][cdr]',_0x47be4c[_0x01b2('0x4')]),_0x54ccbd);}};