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 _0xbe36=['diffTime','enterAt','agentcomplete','isNil','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','assign','[%s][members][cdr]','split','data1','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','data3','destinationchannel','source','lodash','./utils','Queue:','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','channel','data2','membername','type','interface','getUserByInterface','then','name','internal','request','CreateMemberReport','getUserByName','catch','error','format','uniqueid','some','startsWith','debug','[%s][members][devicestatechange]','device','info','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','now','agent','exitAt','duration'];(function(_0x528497,_0x147e87){var _0x392d59=function(_0x47d9ec){while(--_0x47d9ec){_0x528497['push'](_0x528497['shift']());}};_0x392d59(++_0x147e87);}(_0xbe36,0x15e));var _0x6be3=function(_0x135e83,_0x20ef62){_0x135e83=_0x135e83-0x0;var _0x11c6d9=_0xbe36[_0x135e83];return _0x11c6d9;};'use strict';var _=require(_0x6be3('0x0'));var util=require('util');var utils=require(_0x6be3('0x1'));var members={};var exclude=['Local/_attended@transfer',_0x6be3('0x2')];function writeDB(_0x4b10c2){utils['info'](util['format'](_0x6be3('0x3'),_0x4b10c2['uniqueid'],_0x4b10c2['interface'],_0x4b10c2[_0x6be3('0x4')],_0x4b10c2[_0x6be3('0x5')],_0x4b10c2[_0x6be3('0x6')],_0x4b10c2[_0x6be3('0x7')]));if(_0x4b10c2[_0x6be3('0x8')]){utils[_0x6be3('0x9')](_0x4b10c2['interface'])[_0x6be3('0xa')](function(_0x166cb5){if(_0x166cb5){_0x4b10c2[_0x6be3('0x6')]=_0x166cb5[_0x6be3('0xb')];_0x4b10c2[_0x6be3('0xc')]=_0x166cb5[_0x6be3('0xc')];utils[_0x6be3('0xd')](_0x6be3('0xe'),_0x4b10c2);}else{utils[_0x6be3('0xf')](_0x4b10c2['interface']['split']('/')[0x1])[_0x6be3('0xa')](function(_0x211375){if(_0x211375){_0x4b10c2[_0x6be3('0x6')]=_0x211375['name'];_0x4b10c2[_0x6be3('0xc')]=_0x211375[_0x6be3('0xc')];utils[_0x6be3('0xd')]('CreateMemberReport',_0x4b10c2);}});}})[_0x6be3('0x10')](function(_0x1ee3a4){utils[_0x6be3('0x11')](util[_0x6be3('0x12')]('[%s][members][writeDB]',_0x4b10c2[_0x6be3('0x13')]),_0x1ee3a4);});}delete members[_0x4b10c2[_0x6be3('0x8')]];}function startsWith(_0x329db8,_0xe150dd){return _[_0x6be3('0x14')](_0x329db8,function(_0x262d59){return _[_0x6be3('0x15')](_0xe150dd,_0x262d59);});}exports['devicestatechange']=function(_0x35d68a){try{utils[_0x6be3('0x16')](util[_0x6be3('0x12')](_0x6be3('0x17'),members[_0x35d68a[_0x6be3('0x18')]]?members[_0x35d68a[_0x6be3('0x18')]][_0x6be3('0x13')]:_0x35d68a['device']),_0x35d68a);utils[_0x6be3('0x19')](util[_0x6be3('0x12')](_0x6be3('0x1a'),members[_0x35d68a[_0x6be3('0x18')]]?members[_0x35d68a[_0x6be3('0x18')]][_0x6be3('0x13')]:_0x35d68a[_0x6be3('0x18')],_0x35d68a[_0x6be3('0x1b')],_0x35d68a[_0x6be3('0x18')]));switch(_0x35d68a[_0x6be3('0x1b')]){case _0x6be3('0x1c'):case _0x6be3('0x1d'):if(!startsWith(exclude,_0x35d68a[_0x6be3('0x18')])){members[_0x35d68a[_0x6be3('0x18')]]={'channel':'voice','interface':_0x35d68a[_0x6be3('0x18')],'type':'TALKING','enterAt':utils[_0x6be3('0x1e')](),'role':_0x6be3('0x1f')};}break;case'NOT_INUSE':if(!_['isNil'](members[_0x35d68a[_0x6be3('0x18')]])){members[_0x35d68a[_0x6be3('0x18')]][_0x6be3('0x20')]=utils['now']();members[_0x35d68a[_0x6be3('0x18')]][_0x6be3('0x21')]=utils[_0x6be3('0x22')](members[_0x35d68a['device']][_0x6be3('0x20')],members[_0x35d68a[_0x6be3('0x18')]][_0x6be3('0x23')]);if(members[_0x35d68a['device']][_0x6be3('0x13')]){writeDB(members[_0x35d68a[_0x6be3('0x18')]]);}}break;default:break;}}catch(_0x50d05b){utils['error'](util[_0x6be3('0x12')](_0x6be3('0x17'),members[_0x35d68a[_0x6be3('0x18')]]?members[_0x35d68a['device']]['uniqueid']:_0x35d68a[_0x6be3('0x18')]),_0x50d05b);}};exports[_0x6be3('0x24')]=function(_0x9d07ff){try{if(!_[_0x6be3('0x25')](members[_0x9d07ff[_0x6be3('0x8')]])){utils[_0x6be3('0x16')](util['format'](_0x6be3('0x26'),_0x9d07ff[_0x6be3('0x13')]),_0x9d07ff);utils[_0x6be3('0x19')](util[_0x6be3('0x12')](_0x6be3('0x27'),_0x9d07ff[_0x6be3('0x13')],_0x9d07ff['interface'],_0x9d07ff['queue']));members[_0x9d07ff[_0x6be3('0x8')]]=_[_0x6be3('0x28')](members[_0x9d07ff[_0x6be3('0x8')]],{'data4':_0x9d07ff['queue'],'uniqueid':_0x9d07ff[_0x6be3('0x13')]});}}catch(_0x2d4231){utils[_0x6be3('0x11')](util[_0x6be3('0x12')](_0x6be3('0x26'),_0x9d07ff[_0x6be3('0x13')]),_0x2d4231);}};exports['cdr']=function(_0x5c9c70){try{utils[_0x6be3('0x16')](util[_0x6be3('0x12')](_0x6be3('0x29'),_0x5c9c70[_0x6be3('0x13')]),_0x5c9c70);if(_0x5c9c70['channel']){var _0x25209e=_0x5c9c70['channel'][_0x6be3('0x2a')]('-')[0x0];if(!_[_0x6be3('0x25')](members[_0x25209e])){members[_0x25209e]=_[_0x6be3('0x28')](members[_0x25209e],{'data1':members[_0x25209e][_0x6be3('0x2b')]||_0x5c9c70[_0x6be3('0x7')],'data2':members[_0x25209e]['data2']||_0x5c9c70['source'],'data3':members[_0x25209e]['data3']||_0x5c9c70['destination'],'uniqueid':members[_0x25209e][_0x6be3('0x13')]||_0x5c9c70[_0x6be3('0x13')]});utils[_0x6be3('0x19')](util[_0x6be3('0x12')](_0x6be3('0x2c'),_0x5c9c70['uniqueid'],members[_0x25209e][_0x6be3('0x2b')],members[_0x25209e][_0x6be3('0x5')],members[_0x25209e][_0x6be3('0x2d')]));if(members[_0x25209e][_0x6be3('0x20')]){writeDB(members[_0x25209e]);}}}if(_0x5c9c70[_0x6be3('0x2e')]){var _0x2b0a63=_0x5c9c70[_0x6be3('0x2e')][_0x6be3('0x2a')]('-')[0x0];if(!_[_0x6be3('0x25')](members[_0x2b0a63])){members[_0x2b0a63]=_[_0x6be3('0x28')](members[_0x2b0a63],{'data1':members[_0x2b0a63]['data1']||_0x5c9c70[_0x6be3('0x7')],'data2':members[_0x2b0a63][_0x6be3('0x5')]||_0x5c9c70[_0x6be3('0x2f')],'data3':members[_0x2b0a63]['data3']||_0x5c9c70['destination'],'uniqueid':members[_0x2b0a63][_0x6be3('0x13')]||_0x5c9c70[_0x6be3('0x13')]});utils[_0x6be3('0x19')](util['format'](_0x6be3('0x2c'),_0x5c9c70[_0x6be3('0x13')],members[_0x2b0a63][_0x6be3('0x2b')],members[_0x2b0a63][_0x6be3('0x5')],members[_0x2b0a63][_0x6be3('0x2d')]));if(members[_0x2b0a63][_0x6be3('0x20')]){writeDB(members[_0x2b0a63]);}}}}catch(_0x4d0ff3){utils[_0x6be3('0x11')](util[_0x6be3('0x12')](_0x6be3('0x29'),_0x5c9c70[_0x6be3('0x13')]),_0x4d0ff3);}};