729926eb4279c8448127023b9311dadd926423b7
[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 _0xaf6c=['type','getUserByInterface','name','internal','CreateMemberReport','then','request','catch','error','[%s][members][writeDB]','uniqueid','startsWith','devicestatechange','debug','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','BUSY','TALKING','now','agent','NOT_INUSE','isNil','exitAt','duration','enterAt','agentcomplete','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','cdr','[%s][members][cdr]','split','data1','source','data3','destination','destinationchannel','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','lodash','util','Local/_attended@transfer','Queue:','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','interface','channel','data2','membername'];(function(_0x515374,_0x233e6e){var _0x1dbcf4=function(_0x4d62a3){while(--_0x4d62a3){_0x515374['push'](_0x515374['shift']());}};_0x1dbcf4(++_0x233e6e);}(_0xaf6c,0x91));var _0xcaf6=function(_0x310cc8,_0x2a0591){_0x310cc8=_0x310cc8-0x0;var _0x17bcb2=_0xaf6c[_0x310cc8];return _0x17bcb2;};'use strict';var _=require(_0xcaf6('0x0'));var util=require(_0xcaf6('0x1'));var utils=require('./utils');var members={};var exclude=[_0xcaf6('0x2'),_0xcaf6('0x3')];function writeDB(_0x38e7ad){utils[_0xcaf6('0x4')](util[_0xcaf6('0x5')](_0xcaf6('0x6'),_0x38e7ad['uniqueid'],_0x38e7ad[_0xcaf6('0x7')],_0x38e7ad[_0xcaf6('0x8')],_0x38e7ad[_0xcaf6('0x9')],_0x38e7ad[_0xcaf6('0xa')],_0x38e7ad[_0xcaf6('0xb')]));if(_0x38e7ad['interface']){utils[_0xcaf6('0xc')](_0x38e7ad['interface'])['then'](function(_0x170f2){if(_0x170f2){_0x38e7ad[_0xcaf6('0xa')]=_0x170f2[_0xcaf6('0xd')];_0x38e7ad[_0xcaf6('0xe')]=_0x170f2[_0xcaf6('0xe')];utils['request'](_0xcaf6('0xf'),_0x38e7ad);}else{utils['getUserByName'](_0x38e7ad[_0xcaf6('0x7')]['split']('/')[0x1])[_0xcaf6('0x10')](function(_0x59e0d0){if(_0x59e0d0){_0x38e7ad[_0xcaf6('0xa')]=_0x59e0d0[_0xcaf6('0xd')];_0x38e7ad[_0xcaf6('0xe')]=_0x59e0d0[_0xcaf6('0xe')];utils[_0xcaf6('0x11')]('CreateMemberReport',_0x38e7ad);}});}})[_0xcaf6('0x12')](function(_0x32e490){utils[_0xcaf6('0x13')](util[_0xcaf6('0x5')](_0xcaf6('0x14'),_0x38e7ad[_0xcaf6('0x15')]),_0x32e490);});}delete members[_0x38e7ad[_0xcaf6('0x7')]];}function startsWith(_0x4c2a77,_0x58a1bd){return _['some'](_0x4c2a77,function(_0x41e52b){return _[_0xcaf6('0x16')](_0x58a1bd,_0x41e52b);});}exports[_0xcaf6('0x17')]=function(_0xe6ca51){try{utils[_0xcaf6('0x18')](util[_0xcaf6('0x5')](_0xcaf6('0x19'),members[_0xe6ca51['device']]?members[_0xe6ca51['device']][_0xcaf6('0x15')]:_0xe6ca51[_0xcaf6('0x1a')]),_0xe6ca51);utils[_0xcaf6('0x4')](util['format'](_0xcaf6('0x1b'),members[_0xe6ca51[_0xcaf6('0x1a')]]?members[_0xe6ca51[_0xcaf6('0x1a')]]['uniqueid']:_0xe6ca51[_0xcaf6('0x1a')],_0xe6ca51[_0xcaf6('0x1c')],_0xe6ca51[_0xcaf6('0x1a')]));switch(_0xe6ca51[_0xcaf6('0x1c')]){case'INUSE':case _0xcaf6('0x1d'):if(!startsWith(exclude,_0xe6ca51['device'])){members[_0xe6ca51[_0xcaf6('0x1a')]]={'channel':'voice','interface':_0xe6ca51[_0xcaf6('0x1a')],'type':_0xcaf6('0x1e'),'enterAt':utils[_0xcaf6('0x1f')](),'role':_0xcaf6('0x20')};}break;case _0xcaf6('0x21'):if(!_[_0xcaf6('0x22')](members[_0xe6ca51[_0xcaf6('0x1a')]])){members[_0xe6ca51[_0xcaf6('0x1a')]][_0xcaf6('0x23')]=utils[_0xcaf6('0x1f')]();members[_0xe6ca51[_0xcaf6('0x1a')]][_0xcaf6('0x24')]=utils['diffTime'](members[_0xe6ca51[_0xcaf6('0x1a')]][_0xcaf6('0x23')],members[_0xe6ca51[_0xcaf6('0x1a')]][_0xcaf6('0x25')]);if(members[_0xe6ca51[_0xcaf6('0x1a')]][_0xcaf6('0x15')]){writeDB(members[_0xe6ca51[_0xcaf6('0x1a')]]);}}break;default:break;}}catch(_0x491b9f){utils[_0xcaf6('0x13')](util['format'](_0xcaf6('0x19'),members[_0xe6ca51[_0xcaf6('0x1a')]]?members[_0xe6ca51[_0xcaf6('0x1a')]][_0xcaf6('0x15')]:_0xe6ca51[_0xcaf6('0x1a')]),_0x491b9f);}};exports[_0xcaf6('0x26')]=function(_0x409303){try{if(!_[_0xcaf6('0x22')](members[_0x409303[_0xcaf6('0x7')]])){utils[_0xcaf6('0x18')](util[_0xcaf6('0x5')](_0xcaf6('0x27'),_0x409303[_0xcaf6('0x15')]),_0x409303);utils[_0xcaf6('0x4')](util['format'](_0xcaf6('0x28'),_0x409303['uniqueid'],_0x409303[_0xcaf6('0x7')],_0x409303[_0xcaf6('0x29')]));members[_0x409303[_0xcaf6('0x7')]]=_[_0xcaf6('0x2a')](members[_0x409303[_0xcaf6('0x7')]],{'data4':_0x409303[_0xcaf6('0x29')],'uniqueid':_0x409303[_0xcaf6('0x15')]});}}catch(_0x4629f8){utils[_0xcaf6('0x13')](util[_0xcaf6('0x5')]('[%s][members][agentcomplete]',_0x409303[_0xcaf6('0x15')]),_0x4629f8);}};exports[_0xcaf6('0x2b')]=function(_0x405b20){try{utils[_0xcaf6('0x18')](util[_0xcaf6('0x5')](_0xcaf6('0x2c'),_0x405b20['uniqueid']),_0x405b20);if(_0x405b20[_0xcaf6('0x8')]){var _0x2bb5ab=_0x405b20[_0xcaf6('0x8')][_0xcaf6('0x2d')]('-')[0x0];if(!_[_0xcaf6('0x22')](members[_0x2bb5ab])){members[_0x2bb5ab]=_[_0xcaf6('0x2a')](members[_0x2bb5ab],{'data1':members[_0x2bb5ab][_0xcaf6('0x2e')]||_0x405b20[_0xcaf6('0xb')],'data2':members[_0x2bb5ab][_0xcaf6('0x9')]||_0x405b20[_0xcaf6('0x2f')],'data3':members[_0x2bb5ab][_0xcaf6('0x30')]||_0x405b20[_0xcaf6('0x31')],'uniqueid':members[_0x2bb5ab][_0xcaf6('0x15')]||_0x405b20[_0xcaf6('0x15')]});utils[_0xcaf6('0x4')](util[_0xcaf6('0x5')]('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x405b20[_0xcaf6('0x15')],members[_0x2bb5ab][_0xcaf6('0x2e')],members[_0x2bb5ab][_0xcaf6('0x9')],members[_0x2bb5ab]['data3']));if(members[_0x2bb5ab][_0xcaf6('0x23')]){writeDB(members[_0x2bb5ab]);}}}if(_0x405b20[_0xcaf6('0x32')]){var _0x17bab4=_0x405b20['destinationchannel'][_0xcaf6('0x2d')]('-')[0x0];if(!_[_0xcaf6('0x22')](members[_0x17bab4])){members[_0x17bab4]=_[_0xcaf6('0x2a')](members[_0x17bab4],{'data1':members[_0x17bab4][_0xcaf6('0x2e')]||_0x405b20[_0xcaf6('0xb')],'data2':members[_0x17bab4][_0xcaf6('0x9')]||_0x405b20['source'],'data3':members[_0x17bab4][_0xcaf6('0x30')]||_0x405b20['destination'],'uniqueid':members[_0x17bab4]['uniqueid']||_0x405b20[_0xcaf6('0x15')]});utils[_0xcaf6('0x4')](util[_0xcaf6('0x5')](_0xcaf6('0x33'),_0x405b20['uniqueid'],members[_0x17bab4][_0xcaf6('0x2e')],members[_0x17bab4][_0xcaf6('0x9')],members[_0x17bab4][_0xcaf6('0x30')]));if(members[_0x17bab4][_0xcaf6('0x23')]){writeDB(members[_0x17bab4]);}}}}catch(_0x59d572){utils[_0xcaf6('0x13')](util[_0xcaf6('0x5')](_0xcaf6('0x2c'),_0x405b20[_0xcaf6('0x15')]),_0x59d572);}};