b4e422dc202238faf27021d99681ed45e8a2e9e3
[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 _0x3fa7=['NOT_INUSE','isNil','now','diffTime','enterAt','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','cdr','[%s][members][cdr]','source','data3','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','data1','exitAt','destinationchannel','destination','util','./utils','Local/_attended@transfer','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','channel','data2','membername','type','getUserByInterface','then','name','internal','request','CreateMemberReport','split','error','some','startsWith','devicestatechange','debug','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','voice'];(function(_0x24b2e5,_0x357215){var _0x266d7e=function(_0x3bedd){while(--_0x3bedd){_0x24b2e5['push'](_0x24b2e5['shift']());}};_0x266d7e(++_0x357215);}(_0x3fa7,0x1b8));var _0x73fa=function(_0x5ad599,_0x514bfb){_0x5ad599=_0x5ad599-0x0;var _0x5b2de1=_0x3fa7[_0x5ad599];return _0x5b2de1;};'use strict';var _=require('lodash');var util=require(_0x73fa('0x0'));var utils=require(_0x73fa('0x1'));var members={};var exclude=[_0x73fa('0x2'),'Queue:'];function writeDB(_0x241348){utils[_0x73fa('0x3')](util[_0x73fa('0x4')](_0x73fa('0x5'),_0x241348[_0x73fa('0x6')],_0x241348[_0x73fa('0x7')],_0x241348[_0x73fa('0x8')],_0x241348[_0x73fa('0x9')],_0x241348[_0x73fa('0xa')],_0x241348[_0x73fa('0xb')]));if(_0x241348[_0x73fa('0x7')]){utils[_0x73fa('0xc')](_0x241348[_0x73fa('0x7')])[_0x73fa('0xd')](function(_0x45689a){if(_0x45689a){_0x241348[_0x73fa('0xa')]=_0x45689a[_0x73fa('0xe')];_0x241348['internal']=_0x45689a[_0x73fa('0xf')];utils[_0x73fa('0x10')](_0x73fa('0x11'),_0x241348);}else{utils['getUserByName'](_0x241348[_0x73fa('0x7')][_0x73fa('0x12')]('/')[0x1])[_0x73fa('0xd')](function(_0x12daf7){if(_0x12daf7){_0x241348[_0x73fa('0xa')]=_0x12daf7['name'];_0x241348[_0x73fa('0xf')]=_0x12daf7[_0x73fa('0xf')];utils[_0x73fa('0x10')](_0x73fa('0x11'),_0x241348);}});}})['catch'](function(_0x4cb61e){utils[_0x73fa('0x13')](util['format']('[%s][members][writeDB]',_0x241348[_0x73fa('0x6')]),_0x4cb61e);});}delete members[_0x241348['interface']];}function startsWith(_0x5b29cf,_0x3e41d2){return _[_0x73fa('0x14')](_0x5b29cf,function(_0x4fde8a){return _[_0x73fa('0x15')](_0x3e41d2,_0x4fde8a);});}exports[_0x73fa('0x16')]=function(_0x214298){try{utils[_0x73fa('0x17')](util[_0x73fa('0x4')](_0x73fa('0x18'),members[_0x214298[_0x73fa('0x19')]]?members[_0x214298[_0x73fa('0x19')]]['uniqueid']:_0x214298[_0x73fa('0x19')]),_0x214298);utils[_0x73fa('0x3')](util[_0x73fa('0x4')](_0x73fa('0x1a'),members[_0x214298[_0x73fa('0x19')]]?members[_0x214298[_0x73fa('0x19')]][_0x73fa('0x6')]:_0x214298[_0x73fa('0x19')],_0x214298[_0x73fa('0x1b')],_0x214298[_0x73fa('0x19')]));switch(_0x214298[_0x73fa('0x1b')]){case _0x73fa('0x1c'):case'BUSY':if(!startsWith(exclude,_0x214298['device'])){members[_0x214298[_0x73fa('0x19')]]={'channel':_0x73fa('0x1d'),'interface':_0x214298['device'],'type':'TALKING','enterAt':utils['now'](),'role':'agent'};}break;case _0x73fa('0x1e'):if(!_[_0x73fa('0x1f')](members[_0x214298[_0x73fa('0x19')]])){members[_0x214298[_0x73fa('0x19')]]['exitAt']=utils[_0x73fa('0x20')]();members[_0x214298[_0x73fa('0x19')]]['duration']=utils[_0x73fa('0x21')](members[_0x214298[_0x73fa('0x19')]]['exitAt'],members[_0x214298[_0x73fa('0x19')]][_0x73fa('0x22')]);if(members[_0x214298[_0x73fa('0x19')]][_0x73fa('0x6')]){writeDB(members[_0x214298[_0x73fa('0x19')]]);}}break;default:break;}}catch(_0x1470da){utils[_0x73fa('0x13')](util['format'](_0x73fa('0x18'),members[_0x214298[_0x73fa('0x19')]]?members[_0x214298[_0x73fa('0x19')]][_0x73fa('0x6')]:_0x214298[_0x73fa('0x19')]),_0x1470da);}};exports['agentcomplete']=function(_0xc8b89f){try{if(!_[_0x73fa('0x1f')](members[_0xc8b89f['interface']])){utils[_0x73fa('0x17')](util[_0x73fa('0x4')]('[%s][members][agentcomplete]',_0xc8b89f['uniqueid']),_0xc8b89f);utils[_0x73fa('0x3')](util[_0x73fa('0x4')](_0x73fa('0x23'),_0xc8b89f[_0x73fa('0x6')],_0xc8b89f[_0x73fa('0x7')],_0xc8b89f[_0x73fa('0x24')]));members[_0xc8b89f[_0x73fa('0x7')]]=_[_0x73fa('0x25')](members[_0xc8b89f[_0x73fa('0x7')]],{'data4':_0xc8b89f[_0x73fa('0x24')],'uniqueid':_0xc8b89f[_0x73fa('0x6')]});}}catch(_0x35477d){utils[_0x73fa('0x13')](util[_0x73fa('0x4')]('[%s][members][agentcomplete]',_0xc8b89f[_0x73fa('0x6')]),_0x35477d);}};exports[_0x73fa('0x26')]=function(_0x35c7fc){try{utils['debug'](util[_0x73fa('0x4')](_0x73fa('0x27'),_0x35c7fc[_0x73fa('0x6')]),_0x35c7fc);if(_0x35c7fc[_0x73fa('0x8')]){var _0x3228ff=_0x35c7fc[_0x73fa('0x8')][_0x73fa('0x12')]('-')[0x0];if(!_[_0x73fa('0x1f')](members[_0x3228ff])){members[_0x3228ff]=_[_0x73fa('0x25')](members[_0x3228ff],{'data1':members[_0x3228ff]['data1']||_0x35c7fc[_0x73fa('0xb')],'data2':members[_0x3228ff][_0x73fa('0x9')]||_0x35c7fc[_0x73fa('0x28')],'data3':members[_0x3228ff][_0x73fa('0x29')]||_0x35c7fc['destination'],'uniqueid':members[_0x3228ff]['uniqueid']||_0x35c7fc[_0x73fa('0x6')]});utils[_0x73fa('0x3')](util[_0x73fa('0x4')](_0x73fa('0x2a'),_0x35c7fc[_0x73fa('0x6')],members[_0x3228ff][_0x73fa('0x2b')],members[_0x3228ff]['data2'],members[_0x3228ff][_0x73fa('0x29')]));if(members[_0x3228ff][_0x73fa('0x2c')]){writeDB(members[_0x3228ff]);}}}if(_0x35c7fc[_0x73fa('0x2d')]){var _0x576036=_0x35c7fc[_0x73fa('0x2d')][_0x73fa('0x12')]('-')[0x0];if(!_[_0x73fa('0x1f')](members[_0x576036])){members[_0x576036]=_[_0x73fa('0x25')](members[_0x576036],{'data1':members[_0x576036][_0x73fa('0x2b')]||_0x35c7fc[_0x73fa('0xb')],'data2':members[_0x576036][_0x73fa('0x9')]||_0x35c7fc[_0x73fa('0x28')],'data3':members[_0x576036][_0x73fa('0x29')]||_0x35c7fc[_0x73fa('0x2e')],'uniqueid':members[_0x576036][_0x73fa('0x6')]||_0x35c7fc[_0x73fa('0x6')]});utils[_0x73fa('0x3')](util['format']('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x35c7fc[_0x73fa('0x6')],members[_0x576036][_0x73fa('0x2b')],members[_0x576036][_0x73fa('0x9')],members[_0x576036]['data3']));if(members[_0x576036][_0x73fa('0x2c')]){writeDB(members[_0x576036]);}}}}catch(_0x2b146c){utils[_0x73fa('0x13')](util[_0x73fa('0x4')]('[%s][members][cdr]',_0x35c7fc[_0x73fa('0x6')]),_0x2b146c);}};