a1c6f8ba4bf5743dbcb936340120f7a98bbdcd2a
[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 _0x2bda=['[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','assign','queue','cdr','[%s][members][cdr]','data1','data2','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','split','./utils','Queue:','info','format','uniqueid','interface','channel','membername','type','getUserByInterface','then','name','internal','request','CreateMemberReport','getUserByName','catch','error','some','devicestatechange','debug','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','voice','TALKING','now','agent','NOT_INUSE','exitAt','duration','diffTime','enterAt','agentcomplete','isNil','[%s][members][agentcomplete]'];(function(_0xfae23b,_0x2be4ba){var _0x200640=function(_0x4ae258){while(--_0x4ae258){_0xfae23b['push'](_0xfae23b['shift']());}};_0x200640(++_0x2be4ba);}(_0x2bda,0x1e1));var _0xa2bd=function(_0x4178af,_0x388652){_0x4178af=_0x4178af-0x0;var _0x20f4b1=_0x2bda[_0x4178af];return _0x20f4b1;};'use strict';var _=require('lodash');var util=require('util');var utils=require(_0xa2bd('0x0'));var members={};var exclude=['Local/_attended@transfer',_0xa2bd('0x1')];function writeDB(_0x8d5788){utils[_0xa2bd('0x2')](util[_0xa2bd('0x3')]('[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s',_0x8d5788[_0xa2bd('0x4')],_0x8d5788[_0xa2bd('0x5')],_0x8d5788[_0xa2bd('0x6')],_0x8d5788['data2'],_0x8d5788[_0xa2bd('0x7')],_0x8d5788[_0xa2bd('0x8')]));if(_0x8d5788[_0xa2bd('0x5')]){utils[_0xa2bd('0x9')](_0x8d5788[_0xa2bd('0x5')])[_0xa2bd('0xa')](function(_0x30343d){if(_0x30343d){_0x8d5788[_0xa2bd('0x7')]=_0x30343d[_0xa2bd('0xb')];_0x8d5788[_0xa2bd('0xc')]=_0x30343d[_0xa2bd('0xc')];utils[_0xa2bd('0xd')](_0xa2bd('0xe'),_0x8d5788);}else{utils[_0xa2bd('0xf')](_0x8d5788['interface']['split']('/')[0x1])['then'](function(_0x5c7c6d){if(_0x5c7c6d){_0x8d5788[_0xa2bd('0x7')]=_0x5c7c6d[_0xa2bd('0xb')];_0x8d5788[_0xa2bd('0xc')]=_0x5c7c6d[_0xa2bd('0xc')];utils['request'](_0xa2bd('0xe'),_0x8d5788);}});}})[_0xa2bd('0x10')](function(_0x1f7923){utils[_0xa2bd('0x11')](util[_0xa2bd('0x3')]('[%s][members][writeDB]',_0x8d5788['uniqueid']),_0x1f7923);});}delete members[_0x8d5788['interface']];}function startsWith(_0x42885f,_0x1cf8c5){return _[_0xa2bd('0x12')](_0x42885f,function(_0x2d2aca){return _['startsWith'](_0x1cf8c5,_0x2d2aca);});}exports[_0xa2bd('0x13')]=function(_0x313612){try{utils[_0xa2bd('0x14')](util[_0xa2bd('0x3')](_0xa2bd('0x15'),members[_0x313612[_0xa2bd('0x16')]]?members[_0x313612[_0xa2bd('0x16')]]['uniqueid']:_0x313612['device']),_0x313612);utils['info'](util['format'](_0xa2bd('0x17'),members[_0x313612['device']]?members[_0x313612[_0xa2bd('0x16')]][_0xa2bd('0x4')]:_0x313612[_0xa2bd('0x16')],_0x313612[_0xa2bd('0x18')],_0x313612[_0xa2bd('0x16')]));switch(_0x313612[_0xa2bd('0x18')]){case _0xa2bd('0x19'):case _0xa2bd('0x1a'):if(!startsWith(exclude,_0x313612['device'])){members[_0x313612[_0xa2bd('0x16')]]={'channel':_0xa2bd('0x1b'),'interface':_0x313612['device'],'type':_0xa2bd('0x1c'),'enterAt':utils[_0xa2bd('0x1d')](),'role':_0xa2bd('0x1e')};}break;case _0xa2bd('0x1f'):if(!_['isNil'](members[_0x313612[_0xa2bd('0x16')]])){members[_0x313612['device']][_0xa2bd('0x20')]=utils[_0xa2bd('0x1d')]();members[_0x313612['device']][_0xa2bd('0x21')]=utils[_0xa2bd('0x22')](members[_0x313612['device']][_0xa2bd('0x20')],members[_0x313612[_0xa2bd('0x16')]][_0xa2bd('0x23')]);if(members[_0x313612[_0xa2bd('0x16')]]['uniqueid']){writeDB(members[_0x313612[_0xa2bd('0x16')]]);}}break;default:break;}}catch(_0x1ebb6a){utils[_0xa2bd('0x11')](util[_0xa2bd('0x3')](_0xa2bd('0x15'),members[_0x313612[_0xa2bd('0x16')]]?members[_0x313612[_0xa2bd('0x16')]][_0xa2bd('0x4')]:_0x313612[_0xa2bd('0x16')]),_0x1ebb6a);}};exports[_0xa2bd('0x24')]=function(_0x2ac442){try{if(!_[_0xa2bd('0x25')](members[_0x2ac442[_0xa2bd('0x5')]])){utils[_0xa2bd('0x14')](util['format'](_0xa2bd('0x26'),_0x2ac442['uniqueid']),_0x2ac442);utils[_0xa2bd('0x2')](util['format'](_0xa2bd('0x27'),_0x2ac442['uniqueid'],_0x2ac442[_0xa2bd('0x5')],_0x2ac442['queue']));members[_0x2ac442['interface']]=_[_0xa2bd('0x28')](members[_0x2ac442[_0xa2bd('0x5')]],{'data4':_0x2ac442[_0xa2bd('0x29')],'uniqueid':_0x2ac442[_0xa2bd('0x4')]});}}catch(_0x32a289){utils[_0xa2bd('0x11')](util['format'](_0xa2bd('0x26'),_0x2ac442[_0xa2bd('0x4')]),_0x32a289);}};exports[_0xa2bd('0x2a')]=function(_0x1c641b){try{utils[_0xa2bd('0x14')](util[_0xa2bd('0x3')](_0xa2bd('0x2b'),_0x1c641b[_0xa2bd('0x4')]),_0x1c641b);if(_0x1c641b['channel']){var _0x26c9e0=_0x1c641b[_0xa2bd('0x6')]['split']('-')[0x0];if(!_[_0xa2bd('0x25')](members[_0x26c9e0])){members[_0x26c9e0]=_[_0xa2bd('0x28')](members[_0x26c9e0],{'data1':members[_0x26c9e0][_0xa2bd('0x2c')]||_0x1c641b[_0xa2bd('0x8')],'data2':members[_0x26c9e0][_0xa2bd('0x2d')]||_0x1c641b[_0xa2bd('0x2e')],'data3':members[_0x26c9e0][_0xa2bd('0x2f')]||_0x1c641b[_0xa2bd('0x30')],'uniqueid':members[_0x26c9e0]['uniqueid']||_0x1c641b[_0xa2bd('0x4')]});utils[_0xa2bd('0x2')](util[_0xa2bd('0x3')](_0xa2bd('0x31'),_0x1c641b[_0xa2bd('0x4')],members[_0x26c9e0][_0xa2bd('0x2c')],members[_0x26c9e0]['data2'],members[_0x26c9e0][_0xa2bd('0x2f')]));if(members[_0x26c9e0][_0xa2bd('0x20')]){writeDB(members[_0x26c9e0]);}}}if(_0x1c641b['destinationchannel']){var _0x40bfe4=_0x1c641b[_0xa2bd('0x32')][_0xa2bd('0x33')]('-')[0x0];if(!_[_0xa2bd('0x25')](members[_0x40bfe4])){members[_0x40bfe4]=_[_0xa2bd('0x28')](members[_0x40bfe4],{'data1':members[_0x40bfe4][_0xa2bd('0x2c')]||_0x1c641b[_0xa2bd('0x8')],'data2':members[_0x40bfe4][_0xa2bd('0x2d')]||_0x1c641b['source'],'data3':members[_0x40bfe4][_0xa2bd('0x2f')]||_0x1c641b[_0xa2bd('0x30')],'uniqueid':members[_0x40bfe4][_0xa2bd('0x4')]||_0x1c641b[_0xa2bd('0x4')]});utils[_0xa2bd('0x2')](util[_0xa2bd('0x3')](_0xa2bd('0x31'),_0x1c641b[_0xa2bd('0x4')],members[_0x40bfe4][_0xa2bd('0x2c')],members[_0x40bfe4][_0xa2bd('0x2d')],members[_0x40bfe4][_0xa2bd('0x2f')]));if(members[_0x40bfe4][_0xa2bd('0x20')]){writeDB(members[_0x40bfe4]);}}}}catch(_0x2a66e6){utils['error'](util['format'](_0xa2bd('0x2b'),_0x1c641b[_0xa2bd('0x4')]),_0x2a66e6);}};