4b80d9e3d48db2e300342c13044f7742c7350912
[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 _0xb711=['data3','destination','destinationchannel','assign','lodash','util','Local/_attended@transfer','Queue:','info','format','uniqueid','channel','membername','type','interface','getUserByInterface','then','internal','request','CreateMemberReport','getUserByName','split','some','startsWith','devicestatechange','state','INUSE','BUSY','device','voice','TALKING','now','agent','NOT_INUSE','exitAt','diffTime','enterAt','agentcomplete','isNil','queue','data1','data2','source'];(function(_0x4b369d,_0x265eb8){var _0x571a98=function(_0x56341a){while(--_0x56341a){_0x4b369d['push'](_0x4b369d['shift']());}};_0x571a98(++_0x265eb8);}(_0xb711,0x131));var _0x1b71=function(_0x27a03b,_0x11e2eb){_0x27a03b=_0x27a03b-0x0;var _0x1cdb5f=_0xb711[_0x27a03b];return _0x1cdb5f;};'use strict';var _=require(_0x1b71('0x0'));var util=require(_0x1b71('0x1'));var utils=require('./utils');var members={};var exclude=[_0x1b71('0x2'),_0x1b71('0x3')];function writeDB(_0x2ab3b2){utils[_0x1b71('0x4')](util[_0x1b71('0x5')]('MEMBER|%s|%s|%s|%s|%s|%s',_0x2ab3b2[_0x1b71('0x6')],_0x2ab3b2['interface'],_0x2ab3b2[_0x1b71('0x7')],_0x2ab3b2['data2'],_0x2ab3b2[_0x1b71('0x8')],_0x2ab3b2[_0x1b71('0x9')]));if(_0x2ab3b2[_0x1b71('0xa')]){utils[_0x1b71('0xb')](_0x2ab3b2[_0x1b71('0xa')])[_0x1b71('0xc')](function(_0x1273c1){if(_0x1273c1){_0x2ab3b2[_0x1b71('0x8')]=_0x1273c1['name'];_0x2ab3b2[_0x1b71('0xd')]=_0x1273c1[_0x1b71('0xd')];utils[_0x1b71('0xe')](_0x1b71('0xf'),_0x2ab3b2);}else{utils[_0x1b71('0x10')](_0x2ab3b2['interface'][_0x1b71('0x11')]('/')[0x1])['then'](function(_0x2506ec){if(_0x2506ec){_0x2ab3b2[_0x1b71('0x8')]=_0x2506ec['name'];_0x2ab3b2[_0x1b71('0xd')]=_0x2506ec[_0x1b71('0xd')];utils[_0x1b71('0xe')]('CreateMemberReport',_0x2ab3b2);}});}})['catch'](function(_0x248704){utils['error'](_0x248704);});}delete members[_0x2ab3b2[_0x1b71('0xa')]];}function startsWith(_0x273ae2,_0x4727ea){return _[_0x1b71('0x12')](_0x273ae2,function(_0x5380a4){return _[_0x1b71('0x13')](_0x4727ea,_0x5380a4);});}exports[_0x1b71('0x14')]=function(_0x5a423a){switch(_0x5a423a[_0x1b71('0x15')]){case _0x1b71('0x16'):case _0x1b71('0x17'):if(!startsWith(exclude,_0x5a423a[_0x1b71('0x18')])){members[_0x5a423a[_0x1b71('0x18')]]={'channel':_0x1b71('0x19'),'interface':_0x5a423a[_0x1b71('0x18')],'type':_0x1b71('0x1a'),'enterAt':utils[_0x1b71('0x1b')](),'role':_0x1b71('0x1c')};}break;case _0x1b71('0x1d'):if(!_['isNil'](members[_0x5a423a[_0x1b71('0x18')]])){members[_0x5a423a[_0x1b71('0x18')]][_0x1b71('0x1e')]=utils['now']();members[_0x5a423a[_0x1b71('0x18')]]['duration']=utils[_0x1b71('0x1f')](members[_0x5a423a[_0x1b71('0x18')]][_0x1b71('0x1e')],members[_0x5a423a[_0x1b71('0x18')]][_0x1b71('0x20')]);if(members[_0x5a423a[_0x1b71('0x18')]][_0x1b71('0x6')]){writeDB(members[_0x5a423a[_0x1b71('0x18')]]);}}default:break;}};exports[_0x1b71('0x21')]=function(_0x3f8a2d){if(!_[_0x1b71('0x22')](members[_0x3f8a2d[_0x1b71('0xa')]])){members[_0x3f8a2d[_0x1b71('0xa')]]=_['assign'](members[_0x3f8a2d[_0x1b71('0xa')]],{'data4':_0x3f8a2d[_0x1b71('0x23')],'uniqueid':_0x3f8a2d[_0x1b71('0x6')]});}};exports['cdr']=function(_0x45a4e3){if(_0x45a4e3['channel']){var _0x588548=_0x45a4e3['channel'][_0x1b71('0x11')]('-')[0x0];if(!_[_0x1b71('0x22')](members[_0x588548])){members[_0x588548]=_['assign'](members[_0x588548],{'data1':members[_0x588548][_0x1b71('0x24')]||_0x45a4e3[_0x1b71('0x9')],'data2':members[_0x588548][_0x1b71('0x25')]||_0x45a4e3[_0x1b71('0x26')],'data3':members[_0x588548][_0x1b71('0x27')]||_0x45a4e3[_0x1b71('0x28')],'uniqueid':members[_0x588548][_0x1b71('0x6')]||_0x45a4e3[_0x1b71('0x6')]});if(members[_0x588548][_0x1b71('0x1e')]){writeDB(members[_0x588548]);}}}if(_0x45a4e3['destinationchannel']){var _0x10b1b8=_0x45a4e3[_0x1b71('0x29')][_0x1b71('0x11')]('-')[0x0];if(!_[_0x1b71('0x22')](members[_0x10b1b8])){members[_0x10b1b8]=_[_0x1b71('0x2a')](members[_0x10b1b8],{'data1':members[_0x10b1b8][_0x1b71('0x24')]||_0x45a4e3[_0x1b71('0x9')],'data2':members[_0x10b1b8]['data2']||_0x45a4e3[_0x1b71('0x26')],'data3':members[_0x10b1b8][_0x1b71('0x27')]||_0x45a4e3[_0x1b71('0x28')],'uniqueid':members[_0x10b1b8][_0x1b71('0x6')]||_0x45a4e3[_0x1b71('0x6')]});if(members[_0x10b1b8][_0x1b71('0x1e')]){writeDB(members[_0x10b1b8]);}}}};