Built motion from commit (unavailable).|2.5.22
[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 _0x3268=['uniqueid','interface','channel','data2','membername','getUserByInterface','then','name','internal','request','split','CreateMemberReport','catch','error','[%s][members][writeDB]','some','startsWith','debug','[%s][members][devicestatechange]','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','device','state','INUSE','BUSY','TALKING','now','agent','isNil','exitAt','duration','diffTime','enterAt','agentcomplete','queue','assign','[%s][members][agentcomplete]','cdr','[%s][members][cdr]','data1','type','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','lodash','util','Queue:','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s'];(function(_0x846906,_0x68c286){var _0x3fcffa=function(_0x544ebb){while(--_0x544ebb){_0x846906['push'](_0x846906['shift']());}};_0x3fcffa(++_0x68c286);}(_0x3268,0xc6));var _0x8326=function(_0x2aa68e,_0x3d00ec){_0x2aa68e=_0x2aa68e-0x0;var _0xdc4658=_0x3268[_0x2aa68e];return _0xdc4658;};'use strict';var _=require(_0x8326('0x0'));var util=require(_0x8326('0x1'));var utils=require('./utils');var members={};var exclude=['Local/_attended@transfer',_0x8326('0x2')];function writeDB(_0x1a160b){utils[_0x8326('0x3')](util[_0x8326('0x4')](_0x8326('0x5'),_0x1a160b[_0x8326('0x6')],_0x1a160b[_0x8326('0x7')],_0x1a160b[_0x8326('0x8')],_0x1a160b[_0x8326('0x9')],_0x1a160b[_0x8326('0xa')],_0x1a160b['type']));if(_0x1a160b[_0x8326('0x7')]){utils[_0x8326('0xb')](_0x1a160b[_0x8326('0x7')])[_0x8326('0xc')](function(_0x40a6d5){if(_0x40a6d5){_0x1a160b[_0x8326('0xa')]=_0x40a6d5[_0x8326('0xd')];_0x1a160b[_0x8326('0xe')]=_0x40a6d5[_0x8326('0xe')];utils[_0x8326('0xf')]('CreateMemberReport',_0x1a160b);}else{utils['getUserByName'](_0x1a160b['interface'][_0x8326('0x10')]('/')[0x1])[_0x8326('0xc')](function(_0x47138c){if(_0x47138c){_0x1a160b[_0x8326('0xa')]=_0x47138c['name'];_0x1a160b[_0x8326('0xe')]=_0x47138c[_0x8326('0xe')];utils['request'](_0x8326('0x11'),_0x1a160b);}});}})[_0x8326('0x12')](function(_0x1414bb){utils[_0x8326('0x13')](util[_0x8326('0x4')](_0x8326('0x14'),_0x1a160b['uniqueid']),_0x1414bb);});}delete members[_0x1a160b[_0x8326('0x7')]];}function startsWith(_0x597612,_0x1a483f){return _[_0x8326('0x15')](_0x597612,function(_0x240515){return _[_0x8326('0x16')](_0x1a483f,_0x240515);});}exports['devicestatechange']=function(_0x50fc1a){try{utils[_0x8326('0x17')](util[_0x8326('0x4')](_0x8326('0x18'),members[_0x50fc1a['device']]?members[_0x50fc1a['device']][_0x8326('0x6')]:_0x50fc1a['device']),_0x50fc1a);utils[_0x8326('0x3')](util['format'](_0x8326('0x19'),members[_0x50fc1a[_0x8326('0x1a')]]?members[_0x50fc1a[_0x8326('0x1a')]][_0x8326('0x6')]:_0x50fc1a['device'],_0x50fc1a[_0x8326('0x1b')],_0x50fc1a[_0x8326('0x1a')]));switch(_0x50fc1a['state']){case _0x8326('0x1c'):case _0x8326('0x1d'):if(!startsWith(exclude,_0x50fc1a['device'])){members[_0x50fc1a[_0x8326('0x1a')]]={'channel':'voice','interface':_0x50fc1a['device'],'type':_0x8326('0x1e'),'enterAt':utils[_0x8326('0x1f')](),'role':_0x8326('0x20')};}break;case'NOT_INUSE':if(!_[_0x8326('0x21')](members[_0x50fc1a['device']])){members[_0x50fc1a[_0x8326('0x1a')]][_0x8326('0x22')]=utils[_0x8326('0x1f')]();members[_0x50fc1a[_0x8326('0x1a')]][_0x8326('0x23')]=utils[_0x8326('0x24')](members[_0x50fc1a[_0x8326('0x1a')]][_0x8326('0x22')],members[_0x50fc1a[_0x8326('0x1a')]][_0x8326('0x25')]);if(members[_0x50fc1a[_0x8326('0x1a')]]['uniqueid']){writeDB(members[_0x50fc1a[_0x8326('0x1a')]]);}}break;default:break;}}catch(_0x117bc2){utils[_0x8326('0x13')](util[_0x8326('0x4')](_0x8326('0x18'),members[_0x50fc1a['device']]?members[_0x50fc1a[_0x8326('0x1a')]]['uniqueid']:_0x50fc1a[_0x8326('0x1a')]),_0x117bc2);}};exports[_0x8326('0x26')]=function(_0x49a76d){try{if(!_[_0x8326('0x21')](members[_0x49a76d[_0x8326('0x7')]])){utils[_0x8326('0x17')](util[_0x8326('0x4')]('[%s][members][agentcomplete]',_0x49a76d[_0x8326('0x6')]),_0x49a76d);utils[_0x8326('0x3')](util[_0x8326('0x4')]('[%s][members][agentcomplete]\x20interface:%s\x20queue:%s',_0x49a76d['uniqueid'],_0x49a76d[_0x8326('0x7')],_0x49a76d[_0x8326('0x27')]));members[_0x49a76d[_0x8326('0x7')]]=_[_0x8326('0x28')](members[_0x49a76d[_0x8326('0x7')]],{'data4':_0x49a76d['queue'],'uniqueid':_0x49a76d['uniqueid']});}}catch(_0x224087){utils[_0x8326('0x13')](util['format'](_0x8326('0x29'),_0x49a76d['uniqueid']),_0x224087);}};exports[_0x8326('0x2a')]=function(_0x1ae200){try{utils[_0x8326('0x17')](util[_0x8326('0x4')](_0x8326('0x2b'),_0x1ae200[_0x8326('0x6')]),_0x1ae200);if(_0x1ae200['channel']){var _0x40aeac=_0x1ae200[_0x8326('0x8')][_0x8326('0x10')]('-')[0x0];if(!_[_0x8326('0x21')](members[_0x40aeac])){members[_0x40aeac]=_['assign'](members[_0x40aeac],{'data1':members[_0x40aeac][_0x8326('0x2c')]||_0x1ae200[_0x8326('0x2d')],'data2':members[_0x40aeac][_0x8326('0x9')]||_0x1ae200[_0x8326('0x2e')],'data3':members[_0x40aeac][_0x8326('0x2f')]||_0x1ae200[_0x8326('0x30')],'uniqueid':members[_0x40aeac][_0x8326('0x6')]||_0x1ae200['uniqueid']});utils['info'](util[_0x8326('0x4')](_0x8326('0x31'),_0x1ae200[_0x8326('0x6')],members[_0x40aeac][_0x8326('0x2c')],members[_0x40aeac]['data2'],members[_0x40aeac]['data3']));if(members[_0x40aeac][_0x8326('0x22')]){writeDB(members[_0x40aeac]);}}}if(_0x1ae200['destinationchannel']){var _0x2dbd6a=_0x1ae200[_0x8326('0x32')]['split']('-')[0x0];if(!_[_0x8326('0x21')](members[_0x2dbd6a])){members[_0x2dbd6a]=_['assign'](members[_0x2dbd6a],{'data1':members[_0x2dbd6a]['data1']||_0x1ae200[_0x8326('0x2d')],'data2':members[_0x2dbd6a]['data2']||_0x1ae200[_0x8326('0x2e')],'data3':members[_0x2dbd6a][_0x8326('0x2f')]||_0x1ae200[_0x8326('0x30')],'uniqueid':members[_0x2dbd6a][_0x8326('0x6')]||_0x1ae200[_0x8326('0x6')]});utils['info'](util[_0x8326('0x4')](_0x8326('0x31'),_0x1ae200[_0x8326('0x6')],members[_0x2dbd6a][_0x8326('0x2c')],members[_0x2dbd6a][_0x8326('0x9')],members[_0x2dbd6a][_0x8326('0x2f')]));if(members[_0x2dbd6a][_0x8326('0x22')]){writeDB(members[_0x2dbd6a]);}}}}catch(_0x521e68){utils['error'](util['format'](_0x8326('0x2b'),_0x1ae200[_0x8326('0x6')]),_0x521e68);}};