e43e10f2e0e811686c464e3f03c54c01d52579a6
[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 _0x6e00=['data2','type','interface','getUserByInterface','membername','name','internal','CreateMemberReport','getUserByName','split','then','request','catch','error','devicestatechange','debug','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','voice','now','NOT_INUSE','isNil','exitAt','duration','diffTime','enterAt','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','cdr','[%s][members][cdr]','data1','data3','destination','destinationchannel','source','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','lodash','util','./utils','Local/_attended@transfer','Queue:','info','format','uniqueid','channel'];(function(_0x29ea48,_0x466ba0){var _0x2dce4a=function(_0x519493){while(--_0x519493){_0x29ea48['push'](_0x29ea48['shift']());}};_0x2dce4a(++_0x466ba0);}(_0x6e00,0x1b9));var _0x06e0=function(_0x2cb967,_0xe645e1){_0x2cb967=_0x2cb967-0x0;var _0x1c8f42=_0x6e00[_0x2cb967];return _0x1c8f42;};'use strict';var _=require(_0x06e0('0x0'));var util=require(_0x06e0('0x1'));var utils=require(_0x06e0('0x2'));var members={};var exclude=[_0x06e0('0x3'),_0x06e0('0x4')];function writeDB(_0x372c91){utils[_0x06e0('0x5')](util[_0x06e0('0x6')]('[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s',_0x372c91[_0x06e0('0x7')],_0x372c91['interface'],_0x372c91[_0x06e0('0x8')],_0x372c91[_0x06e0('0x9')],_0x372c91['membername'],_0x372c91[_0x06e0('0xa')]));if(_0x372c91[_0x06e0('0xb')]){utils[_0x06e0('0xc')](_0x372c91[_0x06e0('0xb')])['then'](function(_0x145635){if(_0x145635){_0x372c91[_0x06e0('0xd')]=_0x145635[_0x06e0('0xe')];_0x372c91['internal']=_0x145635[_0x06e0('0xf')];utils['request'](_0x06e0('0x10'),_0x372c91);}else{utils[_0x06e0('0x11')](_0x372c91[_0x06e0('0xb')][_0x06e0('0x12')]('/')[0x1])[_0x06e0('0x13')](function(_0xa708e5){if(_0xa708e5){_0x372c91[_0x06e0('0xd')]=_0xa708e5[_0x06e0('0xe')];_0x372c91[_0x06e0('0xf')]=_0xa708e5[_0x06e0('0xf')];utils[_0x06e0('0x14')]('CreateMemberReport',_0x372c91);}});}})[_0x06e0('0x15')](function(_0x6e7edd){utils[_0x06e0('0x16')](util['format']('[%s][members][writeDB]',_0x372c91[_0x06e0('0x7')]),_0x6e7edd);});}delete members[_0x372c91[_0x06e0('0xb')]];}function startsWith(_0x1db8d6,_0x191612){return _['some'](_0x1db8d6,function(_0x51b943){return _['startsWith'](_0x191612,_0x51b943);});}exports[_0x06e0('0x17')]=function(_0x43bb19){try{utils[_0x06e0('0x18')](util[_0x06e0('0x6')](_0x06e0('0x19'),members[_0x43bb19['device']]?members[_0x43bb19[_0x06e0('0x1a')]][_0x06e0('0x7')]:_0x43bb19[_0x06e0('0x1a')]),_0x43bb19);utils[_0x06e0('0x5')](util[_0x06e0('0x6')](_0x06e0('0x1b'),members[_0x43bb19[_0x06e0('0x1a')]]?members[_0x43bb19[_0x06e0('0x1a')]][_0x06e0('0x7')]:_0x43bb19[_0x06e0('0x1a')],_0x43bb19[_0x06e0('0x1c')],_0x43bb19['device']));switch(_0x43bb19[_0x06e0('0x1c')]){case _0x06e0('0x1d'):case _0x06e0('0x1e'):if(!startsWith(exclude,_0x43bb19[_0x06e0('0x1a')])){members[_0x43bb19[_0x06e0('0x1a')]]={'channel':_0x06e0('0x1f'),'interface':_0x43bb19[_0x06e0('0x1a')],'type':'TALKING','enterAt':utils[_0x06e0('0x20')](),'role':'agent'};}break;case _0x06e0('0x21'):if(!_[_0x06e0('0x22')](members[_0x43bb19[_0x06e0('0x1a')]])){members[_0x43bb19[_0x06e0('0x1a')]][_0x06e0('0x23')]=utils[_0x06e0('0x20')]();members[_0x43bb19[_0x06e0('0x1a')]][_0x06e0('0x24')]=utils[_0x06e0('0x25')](members[_0x43bb19[_0x06e0('0x1a')]][_0x06e0('0x23')],members[_0x43bb19[_0x06e0('0x1a')]][_0x06e0('0x26')]);if(members[_0x43bb19[_0x06e0('0x1a')]][_0x06e0('0x7')]){writeDB(members[_0x43bb19[_0x06e0('0x1a')]]);}}break;default:break;}}catch(_0x293bb8){utils['error'](util[_0x06e0('0x6')](_0x06e0('0x19'),members[_0x43bb19[_0x06e0('0x1a')]]?members[_0x43bb19[_0x06e0('0x1a')]]['uniqueid']:_0x43bb19[_0x06e0('0x1a')]),_0x293bb8);}};exports['agentcomplete']=function(_0x210873){try{if(!_[_0x06e0('0x22')](members[_0x210873[_0x06e0('0xb')]])){utils[_0x06e0('0x18')](util['format']('[%s][members][agentcomplete]',_0x210873[_0x06e0('0x7')]),_0x210873);utils[_0x06e0('0x5')](util[_0x06e0('0x6')](_0x06e0('0x27'),_0x210873[_0x06e0('0x7')],_0x210873[_0x06e0('0xb')],_0x210873[_0x06e0('0x28')]));members[_0x210873[_0x06e0('0xb')]]=_[_0x06e0('0x29')](members[_0x210873[_0x06e0('0xb')]],{'data4':_0x210873['queue'],'uniqueid':_0x210873[_0x06e0('0x7')]});}}catch(_0x286a40){utils[_0x06e0('0x16')](util[_0x06e0('0x6')]('[%s][members][agentcomplete]',_0x210873[_0x06e0('0x7')]),_0x286a40);}};exports[_0x06e0('0x2a')]=function(_0xa26e1a){try{utils['debug'](util[_0x06e0('0x6')](_0x06e0('0x2b'),_0xa26e1a['uniqueid']),_0xa26e1a);if(_0xa26e1a['channel']){var _0x4ea057=_0xa26e1a[_0x06e0('0x8')][_0x06e0('0x12')]('-')[0x0];if(!_[_0x06e0('0x22')](members[_0x4ea057])){members[_0x4ea057]=_[_0x06e0('0x29')](members[_0x4ea057],{'data1':members[_0x4ea057][_0x06e0('0x2c')]||_0xa26e1a['type'],'data2':members[_0x4ea057][_0x06e0('0x9')]||_0xa26e1a['source'],'data3':members[_0x4ea057][_0x06e0('0x2d')]||_0xa26e1a[_0x06e0('0x2e')],'uniqueid':members[_0x4ea057][_0x06e0('0x7')]||_0xa26e1a[_0x06e0('0x7')]});utils['info'](util[_0x06e0('0x6')]('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0xa26e1a[_0x06e0('0x7')],members[_0x4ea057][_0x06e0('0x2c')],members[_0x4ea057][_0x06e0('0x9')],members[_0x4ea057][_0x06e0('0x2d')]));if(members[_0x4ea057][_0x06e0('0x23')]){writeDB(members[_0x4ea057]);}}}if(_0xa26e1a[_0x06e0('0x2f')]){var _0x276778=_0xa26e1a[_0x06e0('0x2f')][_0x06e0('0x12')]('-')[0x0];if(!_[_0x06e0('0x22')](members[_0x276778])){members[_0x276778]=_[_0x06e0('0x29')](members[_0x276778],{'data1':members[_0x276778][_0x06e0('0x2c')]||_0xa26e1a['type'],'data2':members[_0x276778][_0x06e0('0x9')]||_0xa26e1a[_0x06e0('0x30')],'data3':members[_0x276778][_0x06e0('0x2d')]||_0xa26e1a[_0x06e0('0x2e')],'uniqueid':members[_0x276778][_0x06e0('0x7')]||_0xa26e1a[_0x06e0('0x7')]});utils[_0x06e0('0x5')](util[_0x06e0('0x6')](_0x06e0('0x31'),_0xa26e1a[_0x06e0('0x7')],members[_0x276778][_0x06e0('0x2c')],members[_0x276778][_0x06e0('0x9')],members[_0x276778][_0x06e0('0x2d')]));if(members[_0x276778]['exitAt']){writeDB(members[_0x276778]);}}}}catch(_0x466162){utils[_0x06e0('0x16')](util[_0x06e0('0x6')]('[%s][members][cdr]',_0xa26e1a[_0x06e0('0x7')]),_0x466162);}};