Built motion from commit (unavailable).|2.5.14
[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 _0xada4=['channel','data1','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','data2','source','util','Local/_attended@transfer','Queue:','info','format','uniqueid','interface','membername','type','getUserByInterface','then','name','internal','request','CreateMemberReport','getUserByName','split','catch','error','[%s][members][writeDB]','some','startsWith','devicestatechange','debug','device','state','INUSE','BUSY','voice','now','agent','NOT_INUSE','isNil','exitAt','duration','diffTime','enterAt','[%s][members][devicestatechange]','agentcomplete','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','[%s][members][agentcomplete]','cdr','[%s][members][cdr]'];(function(_0x44c935,_0x3653f0){var _0x465bee=function(_0x211d20){while(--_0x211d20){_0x44c935['push'](_0x44c935['shift']());}};_0x465bee(++_0x3653f0);}(_0xada4,0x1e5));var _0x4ada=function(_0x48f318,_0x6f301f){_0x48f318=_0x48f318-0x0;var _0x77bf4d=_0xada4[_0x48f318];return _0x77bf4d;};'use strict';var _=require('lodash');var util=require(_0x4ada('0x0'));var utils=require('./utils');var members={};var exclude=[_0x4ada('0x1'),_0x4ada('0x2')];function writeDB(_0x488334){utils[_0x4ada('0x3')](util[_0x4ada('0x4')]('[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s',_0x488334[_0x4ada('0x5')],_0x488334[_0x4ada('0x6')],_0x488334['channel'],_0x488334['data2'],_0x488334[_0x4ada('0x7')],_0x488334[_0x4ada('0x8')]));if(_0x488334['interface']){utils[_0x4ada('0x9')](_0x488334[_0x4ada('0x6')])[_0x4ada('0xa')](function(_0x20f7b1){if(_0x20f7b1){_0x488334[_0x4ada('0x7')]=_0x20f7b1[_0x4ada('0xb')];_0x488334[_0x4ada('0xc')]=_0x20f7b1[_0x4ada('0xc')];utils[_0x4ada('0xd')](_0x4ada('0xe'),_0x488334);}else{utils[_0x4ada('0xf')](_0x488334[_0x4ada('0x6')][_0x4ada('0x10')]('/')[0x1])[_0x4ada('0xa')](function(_0x3b6f09){if(_0x3b6f09){_0x488334[_0x4ada('0x7')]=_0x3b6f09[_0x4ada('0xb')];_0x488334[_0x4ada('0xc')]=_0x3b6f09[_0x4ada('0xc')];utils[_0x4ada('0xd')]('CreateMemberReport',_0x488334);}});}})[_0x4ada('0x11')](function(_0x34b24b){utils[_0x4ada('0x12')](util[_0x4ada('0x4')](_0x4ada('0x13'),_0x488334['uniqueid']),_0x34b24b);});}delete members[_0x488334['interface']];}function startsWith(_0x450c8b,_0x527407){return _[_0x4ada('0x14')](_0x450c8b,function(_0x5acfc3){return _[_0x4ada('0x15')](_0x527407,_0x5acfc3);});}exports[_0x4ada('0x16')]=function(_0x5cda0b){try{utils[_0x4ada('0x17')](util[_0x4ada('0x4')]('[%s][members][devicestatechange]',members[_0x5cda0b[_0x4ada('0x18')]]?members[_0x5cda0b[_0x4ada('0x18')]][_0x4ada('0x5')]:_0x5cda0b[_0x4ada('0x18')]),_0x5cda0b);utils[_0x4ada('0x3')](util['format']('[%s][members][devicestatechange]\x20state:%s\x20interface:%s',members[_0x5cda0b[_0x4ada('0x18')]]?members[_0x5cda0b[_0x4ada('0x18')]][_0x4ada('0x5')]:_0x5cda0b[_0x4ada('0x18')],_0x5cda0b[_0x4ada('0x19')],_0x5cda0b['device']));switch(_0x5cda0b[_0x4ada('0x19')]){case _0x4ada('0x1a'):case _0x4ada('0x1b'):if(!startsWith(exclude,_0x5cda0b[_0x4ada('0x18')])){members[_0x5cda0b[_0x4ada('0x18')]]={'channel':_0x4ada('0x1c'),'interface':_0x5cda0b['device'],'type':'TALKING','enterAt':utils[_0x4ada('0x1d')](),'role':_0x4ada('0x1e')};}break;case _0x4ada('0x1f'):if(!_[_0x4ada('0x20')](members[_0x5cda0b[_0x4ada('0x18')]])){members[_0x5cda0b[_0x4ada('0x18')]][_0x4ada('0x21')]=utils[_0x4ada('0x1d')]();members[_0x5cda0b['device']][_0x4ada('0x22')]=utils[_0x4ada('0x23')](members[_0x5cda0b[_0x4ada('0x18')]][_0x4ada('0x21')],members[_0x5cda0b[_0x4ada('0x18')]][_0x4ada('0x24')]);if(members[_0x5cda0b[_0x4ada('0x18')]][_0x4ada('0x5')]){writeDB(members[_0x5cda0b[_0x4ada('0x18')]]);}}break;default:break;}}catch(_0xce79e){utils[_0x4ada('0x12')](util[_0x4ada('0x4')](_0x4ada('0x25'),members[_0x5cda0b['device']]?members[_0x5cda0b['device']][_0x4ada('0x5')]:_0x5cda0b[_0x4ada('0x18')]),_0xce79e);}};exports[_0x4ada('0x26')]=function(_0x99fef){try{if(!_[_0x4ada('0x20')](members[_0x99fef['interface']])){utils[_0x4ada('0x17')](util[_0x4ada('0x4')]('[%s][members][agentcomplete]',_0x99fef[_0x4ada('0x5')]),_0x99fef);utils[_0x4ada('0x3')](util[_0x4ada('0x4')](_0x4ada('0x27'),_0x99fef['uniqueid'],_0x99fef[_0x4ada('0x6')],_0x99fef[_0x4ada('0x28')]));members[_0x99fef[_0x4ada('0x6')]]=_[_0x4ada('0x29')](members[_0x99fef[_0x4ada('0x6')]],{'data4':_0x99fef[_0x4ada('0x28')],'uniqueid':_0x99fef[_0x4ada('0x5')]});}}catch(_0x18f649){utils['error'](util[_0x4ada('0x4')](_0x4ada('0x2a'),_0x99fef[_0x4ada('0x5')]),_0x18f649);}};exports[_0x4ada('0x2b')]=function(_0x3ffcd8){try{utils['debug'](util[_0x4ada('0x4')](_0x4ada('0x2c'),_0x3ffcd8[_0x4ada('0x5')]),_0x3ffcd8);if(_0x3ffcd8['channel']){var _0x5666c0=_0x3ffcd8[_0x4ada('0x2d')][_0x4ada('0x10')]('-')[0x0];if(!_[_0x4ada('0x20')](members[_0x5666c0])){members[_0x5666c0]=_[_0x4ada('0x29')](members[_0x5666c0],{'data1':members[_0x5666c0][_0x4ada('0x2e')]||_0x3ffcd8['type'],'data2':members[_0x5666c0]['data2']||_0x3ffcd8['source'],'data3':members[_0x5666c0][_0x4ada('0x2f')]||_0x3ffcd8[_0x4ada('0x30')],'uniqueid':members[_0x5666c0][_0x4ada('0x5')]||_0x3ffcd8[_0x4ada('0x5')]});utils[_0x4ada('0x3')](util['format'](_0x4ada('0x31'),_0x3ffcd8[_0x4ada('0x5')],members[_0x5666c0][_0x4ada('0x2e')],members[_0x5666c0]['data2'],members[_0x5666c0]['data3']));if(members[_0x5666c0][_0x4ada('0x21')]){writeDB(members[_0x5666c0]);}}}if(_0x3ffcd8[_0x4ada('0x32')]){var _0x1bf6c0=_0x3ffcd8[_0x4ada('0x32')][_0x4ada('0x10')]('-')[0x0];if(!_[_0x4ada('0x20')](members[_0x1bf6c0])){members[_0x1bf6c0]=_[_0x4ada('0x29')](members[_0x1bf6c0],{'data1':members[_0x1bf6c0][_0x4ada('0x2e')]||_0x3ffcd8[_0x4ada('0x8')],'data2':members[_0x1bf6c0][_0x4ada('0x33')]||_0x3ffcd8[_0x4ada('0x34')],'data3':members[_0x1bf6c0][_0x4ada('0x2f')]||_0x3ffcd8[_0x4ada('0x30')],'uniqueid':members[_0x1bf6c0][_0x4ada('0x5')]||_0x3ffcd8[_0x4ada('0x5')]});utils[_0x4ada('0x3')](util[_0x4ada('0x4')]('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x3ffcd8['uniqueid'],members[_0x1bf6c0][_0x4ada('0x2e')],members[_0x1bf6c0][_0x4ada('0x33')],members[_0x1bf6c0]['data3']));if(members[_0x1bf6c0][_0x4ada('0x21')]){writeDB(members[_0x1bf6c0]);}}}}catch(_0x26a663){utils[_0x4ada('0x12')](util['format'](_0x4ada('0x2c'),_0x3ffcd8[_0x4ada('0x5')]),_0x26a663);}};