96dd81d4729df3cacfbf7ef3f72b9d71658a461f
[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 _0x6183=['[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','[%s][members][agentcomplete]','cdr','[%s][members][cdr]','data1','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','util','./utils','Local/_attended@transfer','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','channel','data2','membername','type','then','name','internal','request','CreateMemberReport','getUserByName','split','catch','error','[%s][members][writeDB]','startsWith','devicestatechange','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','voice','TALKING','now','agent','NOT_INUSE','isNil','duration','exitAt','agentcomplete','debug'];(function(_0x3c82b6,_0x46990a){var _0x394cb5=function(_0x584844){while(--_0x584844){_0x3c82b6['push'](_0x3c82b6['shift']());}};_0x394cb5(++_0x46990a);}(_0x6183,0x19b));var _0x3618=function(_0x4b73a2,_0x40b5fe){_0x4b73a2=_0x4b73a2-0x0;var _0x383c66=_0x6183[_0x4b73a2];return _0x383c66;};'use strict';var _=require('lodash');var util=require(_0x3618('0x0'));var utils=require(_0x3618('0x1'));var members={};var exclude=[_0x3618('0x2'),'Queue:'];function writeDB(_0x2d9b70){utils[_0x3618('0x3')](util[_0x3618('0x4')](_0x3618('0x5'),_0x2d9b70[_0x3618('0x6')],_0x2d9b70[_0x3618('0x7')],_0x2d9b70[_0x3618('0x8')],_0x2d9b70[_0x3618('0x9')],_0x2d9b70[_0x3618('0xa')],_0x2d9b70[_0x3618('0xb')]));if(_0x2d9b70['interface']){utils['getUserByInterface'](_0x2d9b70[_0x3618('0x7')])[_0x3618('0xc')](function(_0x250e94){if(_0x250e94){_0x2d9b70[_0x3618('0xa')]=_0x250e94[_0x3618('0xd')];_0x2d9b70[_0x3618('0xe')]=_0x250e94[_0x3618('0xe')];utils[_0x3618('0xf')](_0x3618('0x10'),_0x2d9b70);}else{utils[_0x3618('0x11')](_0x2d9b70[_0x3618('0x7')][_0x3618('0x12')]('/')[0x1])['then'](function(_0x5d5d56){if(_0x5d5d56){_0x2d9b70[_0x3618('0xa')]=_0x5d5d56['name'];_0x2d9b70[_0x3618('0xe')]=_0x5d5d56[_0x3618('0xe')];utils['request'](_0x3618('0x10'),_0x2d9b70);}});}})[_0x3618('0x13')](function(_0x638c87){utils[_0x3618('0x14')](util[_0x3618('0x4')](_0x3618('0x15'),_0x2d9b70[_0x3618('0x6')]),_0x638c87);});}delete members[_0x2d9b70[_0x3618('0x7')]];}function startsWith(_0x48bed1,_0x2a6034){return _['some'](_0x48bed1,function(_0x2e8b42){return _[_0x3618('0x16')](_0x2a6034,_0x2e8b42);});}exports[_0x3618('0x17')]=function(_0x57e005){try{utils['debug'](util['format'](_0x3618('0x18'),members[_0x57e005[_0x3618('0x19')]]?members[_0x57e005[_0x3618('0x19')]][_0x3618('0x6')]:_0x57e005[_0x3618('0x19')]),_0x57e005);utils[_0x3618('0x3')](util['format'](_0x3618('0x1a'),members[_0x57e005[_0x3618('0x19')]]?members[_0x57e005['device']][_0x3618('0x6')]:_0x57e005[_0x3618('0x19')],_0x57e005[_0x3618('0x1b')],_0x57e005['device']));switch(_0x57e005[_0x3618('0x1b')]){case _0x3618('0x1c'):case'BUSY':if(!startsWith(exclude,_0x57e005[_0x3618('0x19')])){members[_0x57e005[_0x3618('0x19')]]={'channel':_0x3618('0x1d'),'interface':_0x57e005['device'],'type':_0x3618('0x1e'),'enterAt':utils[_0x3618('0x1f')](),'role':_0x3618('0x20')};}break;case _0x3618('0x21'):if(!_[_0x3618('0x22')](members[_0x57e005[_0x3618('0x19')]])){members[_0x57e005['device']]['exitAt']=utils[_0x3618('0x1f')]();members[_0x57e005[_0x3618('0x19')]][_0x3618('0x23')]=utils['diffTime'](members[_0x57e005[_0x3618('0x19')]][_0x3618('0x24')],members[_0x57e005[_0x3618('0x19')]]['enterAt']);if(members[_0x57e005[_0x3618('0x19')]][_0x3618('0x6')]){writeDB(members[_0x57e005[_0x3618('0x19')]]);}}break;default:break;}}catch(_0x2f62f4){utils[_0x3618('0x14')](util[_0x3618('0x4')](_0x3618('0x18'),members[_0x57e005['device']]?members[_0x57e005[_0x3618('0x19')]][_0x3618('0x6')]:_0x57e005[_0x3618('0x19')]),_0x2f62f4);}};exports[_0x3618('0x25')]=function(_0x7420f1){try{if(!_[_0x3618('0x22')](members[_0x7420f1[_0x3618('0x7')]])){utils[_0x3618('0x26')](util['format']('[%s][members][agentcomplete]',_0x7420f1[_0x3618('0x6')]),_0x7420f1);utils['info'](util[_0x3618('0x4')](_0x3618('0x27'),_0x7420f1['uniqueid'],_0x7420f1[_0x3618('0x7')],_0x7420f1[_0x3618('0x28')]));members[_0x7420f1[_0x3618('0x7')]]=_[_0x3618('0x29')](members[_0x7420f1[_0x3618('0x7')]],{'data4':_0x7420f1[_0x3618('0x28')],'uniqueid':_0x7420f1[_0x3618('0x6')]});}}catch(_0x5adfad){utils[_0x3618('0x14')](util[_0x3618('0x4')](_0x3618('0x2a'),_0x7420f1[_0x3618('0x6')]),_0x5adfad);}};exports[_0x3618('0x2b')]=function(_0x2fafac){try{utils[_0x3618('0x26')](util[_0x3618('0x4')](_0x3618('0x2c'),_0x2fafac[_0x3618('0x6')]),_0x2fafac);if(_0x2fafac[_0x3618('0x8')]){var _0x53d363=_0x2fafac[_0x3618('0x8')][_0x3618('0x12')]('-')[0x0];if(!_[_0x3618('0x22')](members[_0x53d363])){members[_0x53d363]=_[_0x3618('0x29')](members[_0x53d363],{'data1':members[_0x53d363][_0x3618('0x2d')]||_0x2fafac[_0x3618('0xb')],'data2':members[_0x53d363][_0x3618('0x9')]||_0x2fafac[_0x3618('0x2e')],'data3':members[_0x53d363][_0x3618('0x2f')]||_0x2fafac[_0x3618('0x30')],'uniqueid':members[_0x53d363][_0x3618('0x6')]||_0x2fafac['uniqueid']});utils[_0x3618('0x3')](util[_0x3618('0x4')](_0x3618('0x31'),_0x2fafac[_0x3618('0x6')],members[_0x53d363][_0x3618('0x2d')],members[_0x53d363][_0x3618('0x9')],members[_0x53d363][_0x3618('0x2f')]));if(members[_0x53d363][_0x3618('0x24')]){writeDB(members[_0x53d363]);}}}if(_0x2fafac['destinationchannel']){var _0x39bb9e=_0x2fafac['destinationchannel']['split']('-')[0x0];if(!_[_0x3618('0x22')](members[_0x39bb9e])){members[_0x39bb9e]=_[_0x3618('0x29')](members[_0x39bb9e],{'data1':members[_0x39bb9e][_0x3618('0x2d')]||_0x2fafac[_0x3618('0xb')],'data2':members[_0x39bb9e][_0x3618('0x9')]||_0x2fafac['source'],'data3':members[_0x39bb9e]['data3']||_0x2fafac['destination'],'uniqueid':members[_0x39bb9e][_0x3618('0x6')]||_0x2fafac[_0x3618('0x6')]});utils[_0x3618('0x3')](util[_0x3618('0x4')](_0x3618('0x31'),_0x2fafac[_0x3618('0x6')],members[_0x39bb9e][_0x3618('0x2d')],members[_0x39bb9e][_0x3618('0x9')],members[_0x39bb9e][_0x3618('0x2f')]));if(members[_0x39bb9e]['exitAt']){writeDB(members[_0x39bb9e]);}}}}catch(_0x573f43){utils['error'](util['format']('[%s][members][cdr]',_0x2fafac[_0x3618('0x6')]),_0x573f43);}};