14e7cc59827002f67c00f5bc87f398337c9cdaaf
[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 _0x4149=['startsWith','devicestatechange','state','INUSE','device','voice','now','agent','NOT_INUSE','isNil','exitAt','duration','diffTime','enterAt','agentcomplete','assign','queue','cdr','channel','source','destination','destinationchannel','data1','data3','util','./utils','MEMBER|%s|%s|%s|%s|%s|%s','uniqueid','interface','data2','membername','type','getUserByInterface','internal','request','CreateMemberReport','getUserByName','split','then','name','error','some'];(function(_0x508a8e,_0x36f820){var _0x37c667=function(_0x106b60){while(--_0x106b60){_0x508a8e['push'](_0x508a8e['shift']());}};_0x37c667(++_0x36f820);}(_0x4149,0x168));var _0x9414=function(_0x47d66a,_0x28a0f3){_0x47d66a=_0x47d66a-0x0;var _0x568200=_0x4149[_0x47d66a];return _0x568200;};'use strict';var _=require('lodash');var util=require(_0x9414('0x0'));var utils=require(_0x9414('0x1'));var members={};var exclude=['Local/_attended@transfer','Queue:'];function writeDB(_0xcd65b2){utils['info'](util['format'](_0x9414('0x2'),_0xcd65b2[_0x9414('0x3')],_0xcd65b2[_0x9414('0x4')],_0xcd65b2['channel'],_0xcd65b2[_0x9414('0x5')],_0xcd65b2[_0x9414('0x6')],_0xcd65b2[_0x9414('0x7')]));if(_0xcd65b2['interface']){utils[_0x9414('0x8')](_0xcd65b2[_0x9414('0x4')])['then'](function(_0x4ea85b){if(_0x4ea85b){_0xcd65b2[_0x9414('0x6')]=_0x4ea85b['name'];_0xcd65b2[_0x9414('0x9')]=_0x4ea85b[_0x9414('0x9')];utils[_0x9414('0xa')](_0x9414('0xb'),_0xcd65b2);}else{utils[_0x9414('0xc')](_0xcd65b2['interface'][_0x9414('0xd')]('/')[0x1])[_0x9414('0xe')](function(_0x20a9dd){if(_0x20a9dd){_0xcd65b2[_0x9414('0x6')]=_0x20a9dd[_0x9414('0xf')];_0xcd65b2[_0x9414('0x9')]=_0x20a9dd['internal'];utils[_0x9414('0xa')](_0x9414('0xb'),_0xcd65b2);}});}})['catch'](function(_0x149779){utils[_0x9414('0x10')](_0x149779);});}delete members[_0xcd65b2['interface']];}function startsWith(_0x233f07,_0x29b734){return _[_0x9414('0x11')](_0x233f07,function(_0x5d11a1){return _[_0x9414('0x12')](_0x29b734,_0x5d11a1);});}exports[_0x9414('0x13')]=function(_0x3f73dd){switch(_0x3f73dd[_0x9414('0x14')]){case _0x9414('0x15'):case'BUSY':if(!startsWith(exclude,_0x3f73dd[_0x9414('0x16')])){members[_0x3f73dd[_0x9414('0x16')]]={'channel':_0x9414('0x17'),'interface':_0x3f73dd[_0x9414('0x16')],'type':'TALKING','enterAt':utils[_0x9414('0x18')](),'role':_0x9414('0x19')};}break;case _0x9414('0x1a'):if(!_[_0x9414('0x1b')](members[_0x3f73dd[_0x9414('0x16')]])){members[_0x3f73dd['device']][_0x9414('0x1c')]=utils[_0x9414('0x18')]();members[_0x3f73dd['device']][_0x9414('0x1d')]=utils[_0x9414('0x1e')](members[_0x3f73dd[_0x9414('0x16')]][_0x9414('0x1c')],members[_0x3f73dd[_0x9414('0x16')]][_0x9414('0x1f')]);if(members[_0x3f73dd[_0x9414('0x16')]][_0x9414('0x3')]){writeDB(members[_0x3f73dd[_0x9414('0x16')]]);}}default:break;}};exports[_0x9414('0x20')]=function(_0x105ec8){if(!_[_0x9414('0x1b')](members[_0x105ec8['interface']])){members[_0x105ec8['interface']]=_[_0x9414('0x21')](members[_0x105ec8[_0x9414('0x4')]],{'data4':_0x105ec8[_0x9414('0x22')],'uniqueid':_0x105ec8[_0x9414('0x3')]});}};exports[_0x9414('0x23')]=function(_0x4915a6){if(_0x4915a6[_0x9414('0x24')]){var _0x2eb1b9=_0x4915a6[_0x9414('0x24')][_0x9414('0xd')]('-')[0x0];if(!_['isNil'](members[_0x2eb1b9])){members[_0x2eb1b9]=_[_0x9414('0x21')](members[_0x2eb1b9],{'data1':members[_0x2eb1b9]['data1']||_0x4915a6[_0x9414('0x7')],'data2':members[_0x2eb1b9][_0x9414('0x5')]||_0x4915a6[_0x9414('0x25')],'data3':members[_0x2eb1b9]['data3']||_0x4915a6[_0x9414('0x26')],'uniqueid':members[_0x2eb1b9][_0x9414('0x3')]||_0x4915a6[_0x9414('0x3')]});if(members[_0x2eb1b9][_0x9414('0x1c')]){writeDB(members[_0x2eb1b9]);}}}if(_0x4915a6[_0x9414('0x27')]){var _0x3f166a=_0x4915a6[_0x9414('0x27')][_0x9414('0xd')]('-')[0x0];if(!_[_0x9414('0x1b')](members[_0x3f166a])){members[_0x3f166a]=_[_0x9414('0x21')](members[_0x3f166a],{'data1':members[_0x3f166a][_0x9414('0x28')]||_0x4915a6[_0x9414('0x7')],'data2':members[_0x3f166a][_0x9414('0x5')]||_0x4915a6[_0x9414('0x25')],'data3':members[_0x3f166a][_0x9414('0x29')]||_0x4915a6[_0x9414('0x26')],'uniqueid':members[_0x3f166a][_0x9414('0x3')]||_0x4915a6[_0x9414('0x3')]});if(members[_0x3f166a]['exitAt']){writeDB(members[_0x3f166a]);}}}};