Built motion from commit a61a4a20.|2.5.46
[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 _0x13d4=['[%s][members][devicestatechange]','device','info','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','BUSY','voice','TALKING','now','agent','NOT_INUSE','exitAt','duration','diffTime','enterAt','agentcomplete','isNil','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','cdr','[%s][members][cdr]','assign','data1','type','data2','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','util','./utils','Local/_attended@transfer','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','channel','membername','then','internal','request','CreateMemberReport','getUserByName','split','name','catch','error','[%s][members][writeDB]','some','startsWith','debug'];(function(_0x20cbfb,_0x2a7ea3){var _0x120825=function(_0x14458d){while(--_0x14458d){_0x20cbfb['push'](_0x20cbfb['shift']());}};_0x120825(++_0x2a7ea3);}(_0x13d4,0x15d));var _0x413d=function(_0x4372af,_0x5906d1){_0x4372af=_0x4372af-0x0;var _0x16d31a=_0x13d4[_0x4372af];return _0x16d31a;};'use strict';var _=require('lodash');var util=require(_0x413d('0x0'));var utils=require(_0x413d('0x1'));var members={};var exclude=[_0x413d('0x2'),'Queue:'];function writeDB(_0x4cc9a4){utils['info'](util[_0x413d('0x3')](_0x413d('0x4'),_0x4cc9a4[_0x413d('0x5')],_0x4cc9a4[_0x413d('0x6')],_0x4cc9a4[_0x413d('0x7')],_0x4cc9a4['data2'],_0x4cc9a4[_0x413d('0x8')],_0x4cc9a4['type']));if(_0x4cc9a4[_0x413d('0x6')]){utils['getUserByInterface'](_0x4cc9a4[_0x413d('0x6')])[_0x413d('0x9')](function(_0x35870b){if(_0x35870b){_0x4cc9a4['membername']=_0x35870b['name'];_0x4cc9a4[_0x413d('0xa')]=_0x35870b[_0x413d('0xa')];utils[_0x413d('0xb')](_0x413d('0xc'),_0x4cc9a4);}else{utils[_0x413d('0xd')](_0x4cc9a4[_0x413d('0x6')][_0x413d('0xe')]('/')[0x1])[_0x413d('0x9')](function(_0x5d0602){if(_0x5d0602){_0x4cc9a4[_0x413d('0x8')]=_0x5d0602[_0x413d('0xf')];_0x4cc9a4[_0x413d('0xa')]=_0x5d0602[_0x413d('0xa')];utils[_0x413d('0xb')](_0x413d('0xc'),_0x4cc9a4);}});}})[_0x413d('0x10')](function(_0x5ae5d7){utils[_0x413d('0x11')](util[_0x413d('0x3')](_0x413d('0x12'),_0x4cc9a4[_0x413d('0x5')]),_0x5ae5d7);});}delete members[_0x4cc9a4[_0x413d('0x6')]];}function startsWith(_0x5ece2d,_0x20c51d){return _[_0x413d('0x13')](_0x5ece2d,function(_0x25a1b1){return _[_0x413d('0x14')](_0x20c51d,_0x25a1b1);});}exports['devicestatechange']=function(_0x3a3ad7){try{utils[_0x413d('0x15')](util[_0x413d('0x3')](_0x413d('0x16'),members[_0x3a3ad7[_0x413d('0x17')]]?members[_0x3a3ad7[_0x413d('0x17')]][_0x413d('0x5')]:_0x3a3ad7[_0x413d('0x17')]),_0x3a3ad7);utils[_0x413d('0x18')](util['format'](_0x413d('0x19'),members[_0x3a3ad7[_0x413d('0x17')]]?members[_0x3a3ad7[_0x413d('0x17')]][_0x413d('0x5')]:_0x3a3ad7[_0x413d('0x17')],_0x3a3ad7[_0x413d('0x1a')],_0x3a3ad7[_0x413d('0x17')]));switch(_0x3a3ad7[_0x413d('0x1a')]){case'INUSE':case _0x413d('0x1b'):if(!startsWith(exclude,_0x3a3ad7[_0x413d('0x17')])){members[_0x3a3ad7['device']]={'channel':_0x413d('0x1c'),'interface':_0x3a3ad7['device'],'type':_0x413d('0x1d'),'enterAt':utils[_0x413d('0x1e')](),'role':_0x413d('0x1f')};}break;case _0x413d('0x20'):if(!_['isNil'](members[_0x3a3ad7[_0x413d('0x17')]])){members[_0x3a3ad7[_0x413d('0x17')]][_0x413d('0x21')]=utils[_0x413d('0x1e')]();members[_0x3a3ad7[_0x413d('0x17')]][_0x413d('0x22')]=utils[_0x413d('0x23')](members[_0x3a3ad7[_0x413d('0x17')]][_0x413d('0x21')],members[_0x3a3ad7[_0x413d('0x17')]][_0x413d('0x24')]);if(members[_0x3a3ad7[_0x413d('0x17')]]['uniqueid']){writeDB(members[_0x3a3ad7[_0x413d('0x17')]]);}}break;default:break;}}catch(_0x35a24a){utils[_0x413d('0x11')](util['format'](_0x413d('0x16'),members[_0x3a3ad7[_0x413d('0x17')]]?members[_0x3a3ad7[_0x413d('0x17')]][_0x413d('0x5')]:_0x3a3ad7[_0x413d('0x17')]),_0x35a24a);}};exports[_0x413d('0x25')]=function(_0x33e199){try{if(!_[_0x413d('0x26')](members[_0x33e199['interface']])){utils[_0x413d('0x15')](util['format'](_0x413d('0x27'),_0x33e199[_0x413d('0x5')]),_0x33e199);utils[_0x413d('0x18')](util['format'](_0x413d('0x28'),_0x33e199[_0x413d('0x5')],_0x33e199['interface'],_0x33e199[_0x413d('0x29')]));members[_0x33e199['interface']]=_['assign'](members[_0x33e199[_0x413d('0x6')]],{'data4':_0x33e199[_0x413d('0x29')],'uniqueid':_0x33e199[_0x413d('0x5')]});}}catch(_0x59d0da){utils[_0x413d('0x11')](util['format'](_0x413d('0x27'),_0x33e199[_0x413d('0x5')]),_0x59d0da);}};exports[_0x413d('0x2a')]=function(_0x4f9ee4){try{utils['debug'](util[_0x413d('0x3')](_0x413d('0x2b'),_0x4f9ee4[_0x413d('0x5')]),_0x4f9ee4);if(_0x4f9ee4['channel']){var _0x38a2ea=_0x4f9ee4[_0x413d('0x7')]['split']('-')[0x0];if(!_[_0x413d('0x26')](members[_0x38a2ea])){members[_0x38a2ea]=_[_0x413d('0x2c')](members[_0x38a2ea],{'data1':members[_0x38a2ea][_0x413d('0x2d')]||_0x4f9ee4[_0x413d('0x2e')],'data2':members[_0x38a2ea][_0x413d('0x2f')]||_0x4f9ee4[_0x413d('0x30')],'data3':members[_0x38a2ea][_0x413d('0x31')]||_0x4f9ee4[_0x413d('0x32')],'uniqueid':members[_0x38a2ea][_0x413d('0x5')]||_0x4f9ee4[_0x413d('0x5')]});utils[_0x413d('0x18')](util[_0x413d('0x3')](_0x413d('0x33'),_0x4f9ee4['uniqueid'],members[_0x38a2ea]['data1'],members[_0x38a2ea][_0x413d('0x2f')],members[_0x38a2ea][_0x413d('0x31')]));if(members[_0x38a2ea]['exitAt']){writeDB(members[_0x38a2ea]);}}}if(_0x4f9ee4[_0x413d('0x34')]){var _0x3ce006=_0x4f9ee4['destinationchannel']['split']('-')[0x0];if(!_[_0x413d('0x26')](members[_0x3ce006])){members[_0x3ce006]=_[_0x413d('0x2c')](members[_0x3ce006],{'data1':members[_0x3ce006][_0x413d('0x2d')]||_0x4f9ee4['type'],'data2':members[_0x3ce006][_0x413d('0x2f')]||_0x4f9ee4[_0x413d('0x30')],'data3':members[_0x3ce006]['data3']||_0x4f9ee4[_0x413d('0x32')],'uniqueid':members[_0x3ce006][_0x413d('0x5')]||_0x4f9ee4['uniqueid']});utils[_0x413d('0x18')](util[_0x413d('0x3')](_0x413d('0x33'),_0x4f9ee4['uniqueid'],members[_0x3ce006][_0x413d('0x2d')],members[_0x3ce006]['data2'],members[_0x3ce006][_0x413d('0x31')]));if(members[_0x3ce006]['exitAt']){writeDB(members[_0x3ce006]);}}}}catch(_0x43eef2){utils[_0x413d('0x11')](util[_0x413d('0x3')](_0x413d('0x2b'),_0x4f9ee4['uniqueid']),_0x43eef2);}};