35d7be2ede0053f6db169358319bc3a5433ab53d
[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 _0x3e0b=['CreateMemberReport','getUserByName','split','then','request','catch','error','uniqueid','some','devicestatechange','debug','[%s][members][devicestatechange]','device','state','BUSY','voice','now','agent','NOT_INUSE','isNil','exitAt','duration','agentcomplete','queue','assign','[%s][members][agentcomplete]','cdr','[%s][members][cdr]','data1','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','lodash','util','./utils','Local/_attended@transfer','Queue:','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','channel','data2','membername','type','interface','name','internal'];(function(_0x5de69c,_0x2da278){var _0x34d105=function(_0x3974ad){while(--_0x3974ad){_0x5de69c['push'](_0x5de69c['shift']());}};_0x34d105(++_0x2da278);}(_0x3e0b,0x1db));var _0xb3e0=function(_0x4e2a0d,_0x4080eb){_0x4e2a0d=_0x4e2a0d-0x0;var _0x5a785e=_0x3e0b[_0x4e2a0d];return _0x5a785e;};'use strict';var _=require(_0xb3e0('0x0'));var util=require(_0xb3e0('0x1'));var utils=require(_0xb3e0('0x2'));var members={};var exclude=[_0xb3e0('0x3'),_0xb3e0('0x4')];function writeDB(_0x229d34){utils[_0xb3e0('0x5')](util[_0xb3e0('0x6')](_0xb3e0('0x7'),_0x229d34['uniqueid'],_0x229d34['interface'],_0x229d34[_0xb3e0('0x8')],_0x229d34[_0xb3e0('0x9')],_0x229d34[_0xb3e0('0xa')],_0x229d34[_0xb3e0('0xb')]));if(_0x229d34['interface']){utils['getUserByInterface'](_0x229d34[_0xb3e0('0xc')])['then'](function(_0x1aae38){if(_0x1aae38){_0x229d34['membername']=_0x1aae38[_0xb3e0('0xd')];_0x229d34[_0xb3e0('0xe')]=_0x1aae38[_0xb3e0('0xe')];utils['request'](_0xb3e0('0xf'),_0x229d34);}else{utils[_0xb3e0('0x10')](_0x229d34[_0xb3e0('0xc')][_0xb3e0('0x11')]('/')[0x1])[_0xb3e0('0x12')](function(_0x4e28fb){if(_0x4e28fb){_0x229d34[_0xb3e0('0xa')]=_0x4e28fb[_0xb3e0('0xd')];_0x229d34[_0xb3e0('0xe')]=_0x4e28fb['internal'];utils[_0xb3e0('0x13')](_0xb3e0('0xf'),_0x229d34);}});}})[_0xb3e0('0x14')](function(_0x1a030b){utils[_0xb3e0('0x15')](util['format']('[%s][members][writeDB]',_0x229d34[_0xb3e0('0x16')]),_0x1a030b);});}delete members[_0x229d34[_0xb3e0('0xc')]];}function startsWith(_0x10ef85,_0x4e4079){return _[_0xb3e0('0x17')](_0x10ef85,function(_0x5d56c2){return _['startsWith'](_0x4e4079,_0x5d56c2);});}exports[_0xb3e0('0x18')]=function(_0x3c605e){try{utils[_0xb3e0('0x19')](util[_0xb3e0('0x6')](_0xb3e0('0x1a'),members[_0x3c605e[_0xb3e0('0x1b')]]?members[_0x3c605e[_0xb3e0('0x1b')]][_0xb3e0('0x16')]:_0x3c605e[_0xb3e0('0x1b')]),_0x3c605e);utils[_0xb3e0('0x5')](util[_0xb3e0('0x6')]('[%s][members][devicestatechange]\x20state:%s\x20interface:%s',members[_0x3c605e[_0xb3e0('0x1b')]]?members[_0x3c605e[_0xb3e0('0x1b')]][_0xb3e0('0x16')]:_0x3c605e['device'],_0x3c605e[_0xb3e0('0x1c')],_0x3c605e[_0xb3e0('0x1b')]));switch(_0x3c605e[_0xb3e0('0x1c')]){case'INUSE':case _0xb3e0('0x1d'):if(!startsWith(exclude,_0x3c605e[_0xb3e0('0x1b')])){members[_0x3c605e[_0xb3e0('0x1b')]]={'channel':_0xb3e0('0x1e'),'interface':_0x3c605e[_0xb3e0('0x1b')],'type':'TALKING','enterAt':utils[_0xb3e0('0x1f')](),'role':_0xb3e0('0x20')};}break;case _0xb3e0('0x21'):if(!_[_0xb3e0('0x22')](members[_0x3c605e[_0xb3e0('0x1b')]])){members[_0x3c605e[_0xb3e0('0x1b')]][_0xb3e0('0x23')]=utils[_0xb3e0('0x1f')]();members[_0x3c605e[_0xb3e0('0x1b')]][_0xb3e0('0x24')]=utils['diffTime'](members[_0x3c605e['device']][_0xb3e0('0x23')],members[_0x3c605e[_0xb3e0('0x1b')]]['enterAt']);if(members[_0x3c605e[_0xb3e0('0x1b')]][_0xb3e0('0x16')]){writeDB(members[_0x3c605e[_0xb3e0('0x1b')]]);}}break;default:break;}}catch(_0x7398bb){utils[_0xb3e0('0x15')](util[_0xb3e0('0x6')](_0xb3e0('0x1a'),members[_0x3c605e[_0xb3e0('0x1b')]]?members[_0x3c605e['device']][_0xb3e0('0x16')]:_0x3c605e[_0xb3e0('0x1b')]),_0x7398bb);}};exports[_0xb3e0('0x25')]=function(_0x5d9556){try{if(!_[_0xb3e0('0x22')](members[_0x5d9556['interface']])){utils[_0xb3e0('0x19')](util[_0xb3e0('0x6')]('[%s][members][agentcomplete]',_0x5d9556[_0xb3e0('0x16')]),_0x5d9556);utils['info'](util['format']('[%s][members][agentcomplete]\x20interface:%s\x20queue:%s',_0x5d9556[_0xb3e0('0x16')],_0x5d9556[_0xb3e0('0xc')],_0x5d9556[_0xb3e0('0x26')]));members[_0x5d9556[_0xb3e0('0xc')]]=_[_0xb3e0('0x27')](members[_0x5d9556[_0xb3e0('0xc')]],{'data4':_0x5d9556[_0xb3e0('0x26')],'uniqueid':_0x5d9556['uniqueid']});}}catch(_0x32d762){utils[_0xb3e0('0x15')](util[_0xb3e0('0x6')](_0xb3e0('0x28'),_0x5d9556[_0xb3e0('0x16')]),_0x32d762);}};exports[_0xb3e0('0x29')]=function(_0x5c6bc5){try{utils[_0xb3e0('0x19')](util['format'](_0xb3e0('0x2a'),_0x5c6bc5[_0xb3e0('0x16')]),_0x5c6bc5);if(_0x5c6bc5[_0xb3e0('0x8')]){var _0x2aac21=_0x5c6bc5[_0xb3e0('0x8')][_0xb3e0('0x11')]('-')[0x0];if(!_['isNil'](members[_0x2aac21])){members[_0x2aac21]=_[_0xb3e0('0x27')](members[_0x2aac21],{'data1':members[_0x2aac21][_0xb3e0('0x2b')]||_0x5c6bc5[_0xb3e0('0xb')],'data2':members[_0x2aac21][_0xb3e0('0x9')]||_0x5c6bc5[_0xb3e0('0x2c')],'data3':members[_0x2aac21][_0xb3e0('0x2d')]||_0x5c6bc5[_0xb3e0('0x2e')],'uniqueid':members[_0x2aac21][_0xb3e0('0x16')]||_0x5c6bc5['uniqueid']});utils[_0xb3e0('0x5')](util['format'](_0xb3e0('0x2f'),_0x5c6bc5['uniqueid'],members[_0x2aac21][_0xb3e0('0x2b')],members[_0x2aac21][_0xb3e0('0x9')],members[_0x2aac21][_0xb3e0('0x2d')]));if(members[_0x2aac21][_0xb3e0('0x23')]){writeDB(members[_0x2aac21]);}}}if(_0x5c6bc5['destinationchannel']){var _0xd7bedc=_0x5c6bc5[_0xb3e0('0x30')][_0xb3e0('0x11')]('-')[0x0];if(!_['isNil'](members[_0xd7bedc])){members[_0xd7bedc]=_[_0xb3e0('0x27')](members[_0xd7bedc],{'data1':members[_0xd7bedc][_0xb3e0('0x2b')]||_0x5c6bc5[_0xb3e0('0xb')],'data2':members[_0xd7bedc][_0xb3e0('0x9')]||_0x5c6bc5[_0xb3e0('0x2c')],'data3':members[_0xd7bedc]['data3']||_0x5c6bc5[_0xb3e0('0x2e')],'uniqueid':members[_0xd7bedc][_0xb3e0('0x16')]||_0x5c6bc5[_0xb3e0('0x16')]});utils['info'](util[_0xb3e0('0x6')](_0xb3e0('0x2f'),_0x5c6bc5[_0xb3e0('0x16')],members[_0xd7bedc]['data1'],members[_0xd7bedc][_0xb3e0('0x9')],members[_0xd7bedc]['data3']));if(members[_0xd7bedc][_0xb3e0('0x23')]){writeDB(members[_0xd7bedc]);}}}}catch(_0x120faf){utils['error'](util[_0xb3e0('0x6')](_0xb3e0('0x2a'),_0x5c6bc5['uniqueid']),_0x120faf);}};