639e01aad81776e51a445f10bc9eb5a5c982c9bc
[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 _0xcb2d=['destinationchannel','type','lodash','util','Local/_attended@transfer','Queue:','info','format','uniqueid','interface','channel','membername','getUserByInterface','then','name','internal','request','getUserByName','split','CreateMemberReport','catch','[%s][members][writeDB]','some','devicestatechange','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','voice','TALKING','now','NOT_INUSE','isNil','exitAt','duration','error','agentcomplete','debug','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','[%s][members][agentcomplete]','[%s][members][cdr]','data1','data2','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s'];(function(_0x54966b,_0x1ab7b0){var _0x3c6b8d=function(_0x1c9152){while(--_0x1c9152){_0x54966b['push'](_0x54966b['shift']());}};_0x3c6b8d(++_0x1ab7b0);}(_0xcb2d,0xf7));var _0xdcb2=function(_0x133ec8,_0x294b3b){_0x133ec8=_0x133ec8-0x0;var _0x3785f4=_0xcb2d[_0x133ec8];return _0x3785f4;};'use strict';var _=require(_0xdcb2('0x0'));var util=require(_0xdcb2('0x1'));var utils=require('./utils');var members={};var exclude=[_0xdcb2('0x2'),_0xdcb2('0x3')];function writeDB(_0x12b63a){utils[_0xdcb2('0x4')](util[_0xdcb2('0x5')]('[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s',_0x12b63a[_0xdcb2('0x6')],_0x12b63a[_0xdcb2('0x7')],_0x12b63a[_0xdcb2('0x8')],_0x12b63a['data2'],_0x12b63a[_0xdcb2('0x9')],_0x12b63a['type']));if(_0x12b63a[_0xdcb2('0x7')]){utils[_0xdcb2('0xa')](_0x12b63a[_0xdcb2('0x7')])[_0xdcb2('0xb')](function(_0x4b9a55){if(_0x4b9a55){_0x12b63a['membername']=_0x4b9a55[_0xdcb2('0xc')];_0x12b63a[_0xdcb2('0xd')]=_0x4b9a55[_0xdcb2('0xd')];utils[_0xdcb2('0xe')]('CreateMemberReport',_0x12b63a);}else{utils[_0xdcb2('0xf')](_0x12b63a[_0xdcb2('0x7')][_0xdcb2('0x10')]('/')[0x1])[_0xdcb2('0xb')](function(_0x265505){if(_0x265505){_0x12b63a[_0xdcb2('0x9')]=_0x265505['name'];_0x12b63a['internal']=_0x265505['internal'];utils['request'](_0xdcb2('0x11'),_0x12b63a);}});}})[_0xdcb2('0x12')](function(_0x441c5b){utils['error'](util[_0xdcb2('0x5')](_0xdcb2('0x13'),_0x12b63a[_0xdcb2('0x6')]),_0x441c5b);});}delete members[_0x12b63a[_0xdcb2('0x7')]];}function startsWith(_0x5411b5,_0x204cb9){return _[_0xdcb2('0x14')](_0x5411b5,function(_0x319efe){return _['startsWith'](_0x204cb9,_0x319efe);});}exports[_0xdcb2('0x15')]=function(_0x1fa902){try{utils['debug'](util[_0xdcb2('0x5')](_0xdcb2('0x16'),members[_0x1fa902['device']]?members[_0x1fa902['device']][_0xdcb2('0x6')]:_0x1fa902[_0xdcb2('0x17')]),_0x1fa902);utils[_0xdcb2('0x4')](util[_0xdcb2('0x5')](_0xdcb2('0x18'),members[_0x1fa902['device']]?members[_0x1fa902[_0xdcb2('0x17')]]['uniqueid']:_0x1fa902[_0xdcb2('0x17')],_0x1fa902[_0xdcb2('0x19')],_0x1fa902[_0xdcb2('0x17')]));switch(_0x1fa902[_0xdcb2('0x19')]){case _0xdcb2('0x1a'):case'BUSY':if(!startsWith(exclude,_0x1fa902['device'])){members[_0x1fa902['device']]={'channel':_0xdcb2('0x1b'),'interface':_0x1fa902[_0xdcb2('0x17')],'type':_0xdcb2('0x1c'),'enterAt':utils[_0xdcb2('0x1d')](),'role':'agent'};}break;case _0xdcb2('0x1e'):if(!_[_0xdcb2('0x1f')](members[_0x1fa902['device']])){members[_0x1fa902['device']][_0xdcb2('0x20')]=utils[_0xdcb2('0x1d')]();members[_0x1fa902[_0xdcb2('0x17')]][_0xdcb2('0x21')]=utils['diffTime'](members[_0x1fa902[_0xdcb2('0x17')]][_0xdcb2('0x20')],members[_0x1fa902[_0xdcb2('0x17')]]['enterAt']);if(members[_0x1fa902['device']]['uniqueid']){writeDB(members[_0x1fa902[_0xdcb2('0x17')]]);}}break;default:break;}}catch(_0x382134){utils[_0xdcb2('0x22')](util[_0xdcb2('0x5')](_0xdcb2('0x16'),members[_0x1fa902[_0xdcb2('0x17')]]?members[_0x1fa902['device']][_0xdcb2('0x6')]:_0x1fa902[_0xdcb2('0x17')]),_0x382134);}};exports[_0xdcb2('0x23')]=function(_0x4896bf){try{if(!_[_0xdcb2('0x1f')](members[_0x4896bf[_0xdcb2('0x7')]])){utils[_0xdcb2('0x24')](util['format']('[%s][members][agentcomplete]',_0x4896bf['uniqueid']),_0x4896bf);utils['info'](util[_0xdcb2('0x5')](_0xdcb2('0x25'),_0x4896bf[_0xdcb2('0x6')],_0x4896bf['interface'],_0x4896bf[_0xdcb2('0x26')]));members[_0x4896bf['interface']]=_[_0xdcb2('0x27')](members[_0x4896bf[_0xdcb2('0x7')]],{'data4':_0x4896bf[_0xdcb2('0x26')],'uniqueid':_0x4896bf[_0xdcb2('0x6')]});}}catch(_0xbea1ca){utils[_0xdcb2('0x22')](util[_0xdcb2('0x5')](_0xdcb2('0x28'),_0x4896bf[_0xdcb2('0x6')]),_0xbea1ca);}};exports['cdr']=function(_0x10b8db){try{utils[_0xdcb2('0x24')](util[_0xdcb2('0x5')](_0xdcb2('0x29'),_0x10b8db[_0xdcb2('0x6')]),_0x10b8db);if(_0x10b8db[_0xdcb2('0x8')]){var _0x4e473d=_0x10b8db['channel'][_0xdcb2('0x10')]('-')[0x0];if(!_['isNil'](members[_0x4e473d])){members[_0x4e473d]=_[_0xdcb2('0x27')](members[_0x4e473d],{'data1':members[_0x4e473d][_0xdcb2('0x2a')]||_0x10b8db['type'],'data2':members[_0x4e473d][_0xdcb2('0x2b')]||_0x10b8db['source'],'data3':members[_0x4e473d][_0xdcb2('0x2c')]||_0x10b8db[_0xdcb2('0x2d')],'uniqueid':members[_0x4e473d][_0xdcb2('0x6')]||_0x10b8db['uniqueid']});utils[_0xdcb2('0x4')](util[_0xdcb2('0x5')](_0xdcb2('0x2e'),_0x10b8db[_0xdcb2('0x6')],members[_0x4e473d]['data1'],members[_0x4e473d][_0xdcb2('0x2b')],members[_0x4e473d][_0xdcb2('0x2c')]));if(members[_0x4e473d][_0xdcb2('0x20')]){writeDB(members[_0x4e473d]);}}}if(_0x10b8db[_0xdcb2('0x2f')]){var _0x548673=_0x10b8db[_0xdcb2('0x2f')][_0xdcb2('0x10')]('-')[0x0];if(!_[_0xdcb2('0x1f')](members[_0x548673])){members[_0x548673]=_[_0xdcb2('0x27')](members[_0x548673],{'data1':members[_0x548673][_0xdcb2('0x2a')]||_0x10b8db[_0xdcb2('0x30')],'data2':members[_0x548673][_0xdcb2('0x2b')]||_0x10b8db['source'],'data3':members[_0x548673]['data3']||_0x10b8db['destination'],'uniqueid':members[_0x548673]['uniqueid']||_0x10b8db[_0xdcb2('0x6')]});utils[_0xdcb2('0x4')](util['format']('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x10b8db[_0xdcb2('0x6')],members[_0x548673][_0xdcb2('0x2a')],members[_0x548673]['data2'],members[_0x548673][_0xdcb2('0x2c')]));if(members[_0x548673]['exitAt']){writeDB(members[_0x548673]);}}}}catch(_0xf9e49b){utils[_0xdcb2('0x22')](util[_0xdcb2('0x5')](_0xdcb2('0x29'),_0x10b8db['uniqueid']),_0xf9e49b);}};