Built motion from commit (unavailable).|2.3.4
[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 _0xe19b=['membername','name','internal','request','CreateMemberReport','getUserByName','interface','split','catch','error','some','startsWith','devicestatechange','state','INUSE','BUSY','device','now','agent','NOT_INUSE','diffTime','exitAt','enterAt','assign','queue','cdr','isNil','data1','source','data3','destination','destinationchannel','lodash','util','Local/_attended@transfer','Queue:','format','uniqueid','channel','data2','type','getUserByInterface','then'];(function(_0x3d95d7,_0x1e6106){var _0xfe00a9=function(_0x295e41){while(--_0x295e41){_0x3d95d7['push'](_0x3d95d7['shift']());}};_0xfe00a9(++_0x1e6106);}(_0xe19b,0x178));var _0xbe19=function(_0x1a70d6,_0xc6be69){_0x1a70d6=_0x1a70d6-0x0;var _0x5071e9=_0xe19b[_0x1a70d6];return _0x5071e9;};'use strict';var _=require(_0xbe19('0x0'));var util=require(_0xbe19('0x1'));var utils=require('./utils');var members={};var exclude=[_0xbe19('0x2'),_0xbe19('0x3')];function writeDB(_0x4f6bc1){utils['info'](util[_0xbe19('0x4')]('MEMBER|%s|%s|%s|%s|%s|%s',_0x4f6bc1[_0xbe19('0x5')],_0x4f6bc1['interface'],_0x4f6bc1[_0xbe19('0x6')],_0x4f6bc1[_0xbe19('0x7')],_0x4f6bc1['membername'],_0x4f6bc1[_0xbe19('0x8')]));if(_0x4f6bc1['interface']){utils[_0xbe19('0x9')](_0x4f6bc1['interface'])[_0xbe19('0xa')](function(_0x59cdfd){if(_0x59cdfd){_0x4f6bc1[_0xbe19('0xb')]=_0x59cdfd[_0xbe19('0xc')];_0x4f6bc1[_0xbe19('0xd')]=_0x59cdfd['internal'];utils[_0xbe19('0xe')](_0xbe19('0xf'),_0x4f6bc1);}else{utils[_0xbe19('0x10')](_0x4f6bc1[_0xbe19('0x11')][_0xbe19('0x12')]('/')[0x1])[_0xbe19('0xa')](function(_0x26d0c6){if(_0x26d0c6){_0x4f6bc1['membername']=_0x26d0c6[_0xbe19('0xc')];_0x4f6bc1[_0xbe19('0xd')]=_0x26d0c6[_0xbe19('0xd')];utils['request'](_0xbe19('0xf'),_0x4f6bc1);}});}})[_0xbe19('0x13')](function(_0x30e1d4){utils[_0xbe19('0x14')](_0x30e1d4);});}delete members[_0x4f6bc1[_0xbe19('0x11')]];}function startsWith(_0x2c485f,_0x3d2398){return _[_0xbe19('0x15')](_0x2c485f,function(_0x5b8c11){return _[_0xbe19('0x16')](_0x3d2398,_0x5b8c11);});}exports[_0xbe19('0x17')]=function(_0x5f47a2){switch(_0x5f47a2[_0xbe19('0x18')]){case _0xbe19('0x19'):case _0xbe19('0x1a'):if(!startsWith(exclude,_0x5f47a2[_0xbe19('0x1b')])){members[_0x5f47a2[_0xbe19('0x1b')]]={'channel':'voice','interface':_0x5f47a2[_0xbe19('0x1b')],'type':'TALKING','enterAt':utils[_0xbe19('0x1c')](),'role':_0xbe19('0x1d')};}break;case _0xbe19('0x1e'):if(!_['isNil'](members[_0x5f47a2[_0xbe19('0x1b')]])){members[_0x5f47a2[_0xbe19('0x1b')]]['exitAt']=utils[_0xbe19('0x1c')]();members[_0x5f47a2['device']]['duration']=utils[_0xbe19('0x1f')](members[_0x5f47a2['device']][_0xbe19('0x20')],members[_0x5f47a2['device']][_0xbe19('0x21')]);if(members[_0x5f47a2['device']][_0xbe19('0x5')]){writeDB(members[_0x5f47a2['device']]);}}default:break;}};exports['agentcomplete']=function(_0x11e4ee){if(!_['isNil'](members[_0x11e4ee[_0xbe19('0x11')]])){members[_0x11e4ee['interface']]=_[_0xbe19('0x22')](members[_0x11e4ee[_0xbe19('0x11')]],{'data4':_0x11e4ee[_0xbe19('0x23')]});}};exports[_0xbe19('0x24')]=function(_0x53b197){if(_0x53b197[_0xbe19('0x6')]){var _0x46a88=_0x53b197[_0xbe19('0x6')][_0xbe19('0x12')]('-')[0x0];if(!_[_0xbe19('0x25')](members[_0x46a88])){members[_0x46a88]=_[_0xbe19('0x22')](members[_0x46a88],{'data1':members[_0x46a88][_0xbe19('0x26')]||_0x53b197[_0xbe19('0x8')],'data2':members[_0x46a88][_0xbe19('0x7')]||_0x53b197[_0xbe19('0x27')],'data3':members[_0x46a88][_0xbe19('0x28')]||_0x53b197[_0xbe19('0x29')],'uniqueid':members[_0x46a88][_0xbe19('0x5')]||_0x53b197['uniqueid']});if(members[_0x46a88][_0xbe19('0x20')]){writeDB(members[_0x46a88]);}}}if(_0x53b197[_0xbe19('0x2a')]){var _0x112704=_0x53b197['destinationchannel'][_0xbe19('0x12')]('-')[0x0];if(!_[_0xbe19('0x25')](members[_0x112704])){members[_0x112704]=_[_0xbe19('0x22')](members[_0x112704],{'data1':members[_0x112704][_0xbe19('0x26')]||_0x53b197[_0xbe19('0x8')],'data2':members[_0x112704][_0xbe19('0x7')]||_0x53b197[_0xbe19('0x27')],'data3':members[_0x112704][_0xbe19('0x28')]||_0x53b197[_0xbe19('0x29')],'uniqueid':members[_0x112704][_0xbe19('0x5')]||_0x53b197[_0xbe19('0x5')]});if(members[_0x112704][_0xbe19('0x20')]){writeDB(members[_0x112704]);}}}};