Built motion from commit b0a9a629.|2.6.33
[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 _0x3383=['some','devicestatechange','debug','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','voice','TALKING','now','agent','NOT_INUSE','isNil','exitAt','diffTime','enterAt','agentcomplete','[%s][members][agentcomplete]','[%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','lodash','./utils','Local/_attended@transfer','Queue:','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','channel','membername','type','getUserByInterface','internal','request','CreateMemberReport','getUserByName','split','then','catch','error','[%s][members][writeDB]'];(function(_0x3b4967,_0x267d42){var _0x47fc11=function(_0x5b6c4b){while(--_0x5b6c4b){_0x3b4967['push'](_0x3b4967['shift']());}};_0x47fc11(++_0x267d42);}(_0x3383,0x1b5));var _0x3338=function(_0x4eace3,_0x3f4f13){_0x4eace3=_0x4eace3-0x0;var _0x3600a6=_0x3383[_0x4eace3];return _0x3600a6;};'use strict';var _=require(_0x3338('0x0'));var util=require('util');var utils=require(_0x3338('0x1'));var members={};var exclude=[_0x3338('0x2'),_0x3338('0x3')];function writeDB(_0x16696f){utils[_0x3338('0x4')](util[_0x3338('0x5')](_0x3338('0x6'),_0x16696f[_0x3338('0x7')],_0x16696f[_0x3338('0x8')],_0x16696f[_0x3338('0x9')],_0x16696f['data2'],_0x16696f[_0x3338('0xa')],_0x16696f[_0x3338('0xb')]));if(_0x16696f[_0x3338('0x8')]){utils[_0x3338('0xc')](_0x16696f[_0x3338('0x8')])['then'](function(_0x1d8594){if(_0x1d8594){_0x16696f[_0x3338('0xa')]=_0x1d8594['name'];_0x16696f['internal']=_0x1d8594[_0x3338('0xd')];utils[_0x3338('0xe')](_0x3338('0xf'),_0x16696f);}else{utils[_0x3338('0x10')](_0x16696f[_0x3338('0x8')][_0x3338('0x11')]('/')[0x1])[_0x3338('0x12')](function(_0x35403a){if(_0x35403a){_0x16696f[_0x3338('0xa')]=_0x35403a['name'];_0x16696f['internal']=_0x35403a[_0x3338('0xd')];utils['request'](_0x3338('0xf'),_0x16696f);}});}})[_0x3338('0x13')](function(_0x5a0ae0){utils[_0x3338('0x14')](util['format'](_0x3338('0x15'),_0x16696f['uniqueid']),_0x5a0ae0);});}delete members[_0x16696f[_0x3338('0x8')]];}function startsWith(_0x8b37f5,_0x60e1de){return _[_0x3338('0x16')](_0x8b37f5,function(_0x37972e){return _['startsWith'](_0x60e1de,_0x37972e);});}exports[_0x3338('0x17')]=function(_0xa729eb){try{utils[_0x3338('0x18')](util['format'](_0x3338('0x19'),members[_0xa729eb[_0x3338('0x1a')]]?members[_0xa729eb[_0x3338('0x1a')]][_0x3338('0x7')]:_0xa729eb[_0x3338('0x1a')]),_0xa729eb);utils[_0x3338('0x4')](util[_0x3338('0x5')](_0x3338('0x1b'),members[_0xa729eb[_0x3338('0x1a')]]?members[_0xa729eb[_0x3338('0x1a')]]['uniqueid']:_0xa729eb[_0x3338('0x1a')],_0xa729eb[_0x3338('0x1c')],_0xa729eb['device']));switch(_0xa729eb[_0x3338('0x1c')]){case'INUSE':case'BUSY':if(!startsWith(exclude,_0xa729eb[_0x3338('0x1a')])){members[_0xa729eb[_0x3338('0x1a')]]={'channel':_0x3338('0x1d'),'interface':_0xa729eb[_0x3338('0x1a')],'type':_0x3338('0x1e'),'enterAt':utils[_0x3338('0x1f')](),'role':_0x3338('0x20')};}break;case _0x3338('0x21'):if(!_[_0x3338('0x22')](members[_0xa729eb[_0x3338('0x1a')]])){members[_0xa729eb['device']][_0x3338('0x23')]=utils[_0x3338('0x1f')]();members[_0xa729eb['device']]['duration']=utils[_0x3338('0x24')](members[_0xa729eb[_0x3338('0x1a')]][_0x3338('0x23')],members[_0xa729eb['device']][_0x3338('0x25')]);if(members[_0xa729eb[_0x3338('0x1a')]][_0x3338('0x7')]){writeDB(members[_0xa729eb['device']]);}}break;default:break;}}catch(_0x4eb58e){utils[_0x3338('0x14')](util['format']('[%s][members][devicestatechange]',members[_0xa729eb[_0x3338('0x1a')]]?members[_0xa729eb['device']][_0x3338('0x7')]:_0xa729eb['device']),_0x4eb58e);}};exports[_0x3338('0x26')]=function(_0x3659b3){try{if(!_['isNil'](members[_0x3659b3['interface']])){utils['debug'](util['format'](_0x3338('0x27'),_0x3659b3[_0x3338('0x7')]),_0x3659b3);utils['info'](util['format'](_0x3338('0x28'),_0x3659b3['uniqueid'],_0x3659b3[_0x3338('0x8')],_0x3659b3['queue']));members[_0x3659b3[_0x3338('0x8')]]=_[_0x3338('0x29')](members[_0x3659b3['interface']],{'data4':_0x3659b3[_0x3338('0x2a')],'uniqueid':_0x3659b3[_0x3338('0x7')]});}}catch(_0x5348d3){utils[_0x3338('0x14')](util[_0x3338('0x5')](_0x3338('0x27'),_0x3659b3[_0x3338('0x7')]),_0x5348d3);}};exports[_0x3338('0x2b')]=function(_0x4ae709){try{utils['debug'](util['format'](_0x3338('0x2c'),_0x4ae709[_0x3338('0x7')]),_0x4ae709);if(_0x4ae709[_0x3338('0x9')]){var _0x19955b=_0x4ae709[_0x3338('0x9')][_0x3338('0x11')]('-')[0x0];if(!_[_0x3338('0x22')](members[_0x19955b])){members[_0x19955b]=_[_0x3338('0x29')](members[_0x19955b],{'data1':members[_0x19955b][_0x3338('0x2d')]||_0x4ae709['type'],'data2':members[_0x19955b][_0x3338('0x2e')]||_0x4ae709[_0x3338('0x2f')],'data3':members[_0x19955b][_0x3338('0x30')]||_0x4ae709[_0x3338('0x31')],'uniqueid':members[_0x19955b]['uniqueid']||_0x4ae709[_0x3338('0x7')]});utils[_0x3338('0x4')](util[_0x3338('0x5')](_0x3338('0x32'),_0x4ae709['uniqueid'],members[_0x19955b]['data1'],members[_0x19955b][_0x3338('0x2e')],members[_0x19955b][_0x3338('0x30')]));if(members[_0x19955b][_0x3338('0x23')]){writeDB(members[_0x19955b]);}}}if(_0x4ae709['destinationchannel']){var _0x2457d3=_0x4ae709['destinationchannel']['split']('-')[0x0];if(!_[_0x3338('0x22')](members[_0x2457d3])){members[_0x2457d3]=_[_0x3338('0x29')](members[_0x2457d3],{'data1':members[_0x2457d3]['data1']||_0x4ae709[_0x3338('0xb')],'data2':members[_0x2457d3][_0x3338('0x2e')]||_0x4ae709[_0x3338('0x2f')],'data3':members[_0x2457d3][_0x3338('0x30')]||_0x4ae709['destination'],'uniqueid':members[_0x2457d3]['uniqueid']||_0x4ae709[_0x3338('0x7')]});utils[_0x3338('0x4')](util[_0x3338('0x5')](_0x3338('0x32'),_0x4ae709[_0x3338('0x7')],members[_0x2457d3][_0x3338('0x2d')],members[_0x2457d3][_0x3338('0x2e')],members[_0x2457d3][_0x3338('0x30')]));if(members[_0x2457d3][_0x3338('0x23')]){writeDB(members[_0x2457d3]);}}}}catch(_0x289974){utils[_0x3338('0x14')](util[_0x3338('0x5')]('[%s][members][cdr]',_0x4ae709[_0x3338('0x7')]),_0x289974);}};