Built motion from commit da617fac.|2.6.6
[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 _0x208d=['assign','error','cdr','data1','data2','source','data3','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','destination','[%s][members][cdr]','lodash','util','./utils','Local/_attended@transfer','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','channel','membername','type','then','name','internal','request','CreateMemberReport','getUserByName','split','catch','[%s][members][writeDB]','startsWith','[%s][members][devicestatechange]','device','info','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','voice','now','agent','NOT_INUSE','isNil','duration','diffTime','exitAt','agentcomplete','debug','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s'];(function(_0x181589,_0x1eedd9){var _0x2e4edd=function(_0x3d574a){while(--_0x3d574a){_0x181589['push'](_0x181589['shift']());}};_0x2e4edd(++_0x1eedd9);}(_0x208d,0xa4));var _0xd208=function(_0x55c307,_0x22b2ce){_0x55c307=_0x55c307-0x0;var _0xcca0a9=_0x208d[_0x55c307];return _0xcca0a9;};'use strict';var _=require(_0xd208('0x0'));var util=require(_0xd208('0x1'));var utils=require(_0xd208('0x2'));var members={};var exclude=[_0xd208('0x3'),'Queue:'];function writeDB(_0x4dc46e){utils['info'](util[_0xd208('0x4')](_0xd208('0x5'),_0x4dc46e[_0xd208('0x6')],_0x4dc46e[_0xd208('0x7')],_0x4dc46e[_0xd208('0x8')],_0x4dc46e['data2'],_0x4dc46e[_0xd208('0x9')],_0x4dc46e[_0xd208('0xa')]));if(_0x4dc46e[_0xd208('0x7')]){utils['getUserByInterface'](_0x4dc46e[_0xd208('0x7')])[_0xd208('0xb')](function(_0x5b5f42){if(_0x5b5f42){_0x4dc46e[_0xd208('0x9')]=_0x5b5f42[_0xd208('0xc')];_0x4dc46e['internal']=_0x5b5f42[_0xd208('0xd')];utils[_0xd208('0xe')](_0xd208('0xf'),_0x4dc46e);}else{utils[_0xd208('0x10')](_0x4dc46e['interface'][_0xd208('0x11')]('/')[0x1])[_0xd208('0xb')](function(_0x57f362){if(_0x57f362){_0x4dc46e[_0xd208('0x9')]=_0x57f362[_0xd208('0xc')];_0x4dc46e[_0xd208('0xd')]=_0x57f362[_0xd208('0xd')];utils[_0xd208('0xe')](_0xd208('0xf'),_0x4dc46e);}});}})[_0xd208('0x12')](function(_0x4ff72e){utils['error'](util[_0xd208('0x4')](_0xd208('0x13'),_0x4dc46e[_0xd208('0x6')]),_0x4ff72e);});}delete members[_0x4dc46e[_0xd208('0x7')]];}function startsWith(_0x324bac,_0x14e6c5){return _['some'](_0x324bac,function(_0x21a27b){return _[_0xd208('0x14')](_0x14e6c5,_0x21a27b);});}exports['devicestatechange']=function(_0x6ac23e){try{utils['debug'](util[_0xd208('0x4')](_0xd208('0x15'),members[_0x6ac23e[_0xd208('0x16')]]?members[_0x6ac23e[_0xd208('0x16')]][_0xd208('0x6')]:_0x6ac23e[_0xd208('0x16')]),_0x6ac23e);utils[_0xd208('0x17')](util[_0xd208('0x4')](_0xd208('0x18'),members[_0x6ac23e['device']]?members[_0x6ac23e[_0xd208('0x16')]]['uniqueid']:_0x6ac23e[_0xd208('0x16')],_0x6ac23e['state'],_0x6ac23e[_0xd208('0x16')]));switch(_0x6ac23e[_0xd208('0x19')]){case _0xd208('0x1a'):case _0xd208('0x1b'):if(!startsWith(exclude,_0x6ac23e[_0xd208('0x16')])){members[_0x6ac23e['device']]={'channel':_0xd208('0x1c'),'interface':_0x6ac23e[_0xd208('0x16')],'type':'TALKING','enterAt':utils[_0xd208('0x1d')](),'role':_0xd208('0x1e')};}break;case _0xd208('0x1f'):if(!_[_0xd208('0x20')](members[_0x6ac23e[_0xd208('0x16')]])){members[_0x6ac23e[_0xd208('0x16')]]['exitAt']=utils[_0xd208('0x1d')]();members[_0x6ac23e[_0xd208('0x16')]][_0xd208('0x21')]=utils[_0xd208('0x22')](members[_0x6ac23e[_0xd208('0x16')]][_0xd208('0x23')],members[_0x6ac23e['device']]['enterAt']);if(members[_0x6ac23e['device']]['uniqueid']){writeDB(members[_0x6ac23e[_0xd208('0x16')]]);}}break;default:break;}}catch(_0x4b29c0){utils['error'](util['format'](_0xd208('0x15'),members[_0x6ac23e[_0xd208('0x16')]]?members[_0x6ac23e['device']][_0xd208('0x6')]:_0x6ac23e['device']),_0x4b29c0);}};exports[_0xd208('0x24')]=function(_0x2d8562){try{if(!_[_0xd208('0x20')](members[_0x2d8562[_0xd208('0x7')]])){utils[_0xd208('0x25')](util[_0xd208('0x4')](_0xd208('0x26'),_0x2d8562[_0xd208('0x6')]),_0x2d8562);utils[_0xd208('0x17')](util['format'](_0xd208('0x27'),_0x2d8562[_0xd208('0x6')],_0x2d8562[_0xd208('0x7')],_0x2d8562['queue']));members[_0x2d8562[_0xd208('0x7')]]=_[_0xd208('0x28')](members[_0x2d8562['interface']],{'data4':_0x2d8562['queue'],'uniqueid':_0x2d8562[_0xd208('0x6')]});}}catch(_0x1b343a){utils[_0xd208('0x29')](util['format'](_0xd208('0x26'),_0x2d8562[_0xd208('0x6')]),_0x1b343a);}};exports[_0xd208('0x2a')]=function(_0x13726b){try{utils[_0xd208('0x25')](util['format']('[%s][members][cdr]',_0x13726b[_0xd208('0x6')]),_0x13726b);if(_0x13726b[_0xd208('0x8')]){var _0xffe4b5=_0x13726b[_0xd208('0x8')][_0xd208('0x11')]('-')[0x0];if(!_[_0xd208('0x20')](members[_0xffe4b5])){members[_0xffe4b5]=_[_0xd208('0x28')](members[_0xffe4b5],{'data1':members[_0xffe4b5][_0xd208('0x2b')]||_0x13726b[_0xd208('0xa')],'data2':members[_0xffe4b5][_0xd208('0x2c')]||_0x13726b[_0xd208('0x2d')],'data3':members[_0xffe4b5][_0xd208('0x2e')]||_0x13726b['destination'],'uniqueid':members[_0xffe4b5][_0xd208('0x6')]||_0x13726b[_0xd208('0x6')]});utils[_0xd208('0x17')](util[_0xd208('0x4')](_0xd208('0x2f'),_0x13726b[_0xd208('0x6')],members[_0xffe4b5][_0xd208('0x2b')],members[_0xffe4b5][_0xd208('0x2c')],members[_0xffe4b5][_0xd208('0x2e')]));if(members[_0xffe4b5][_0xd208('0x23')]){writeDB(members[_0xffe4b5]);}}}if(_0x13726b[_0xd208('0x30')]){var _0x5c0646=_0x13726b[_0xd208('0x30')][_0xd208('0x11')]('-')[0x0];if(!_[_0xd208('0x20')](members[_0x5c0646])){members[_0x5c0646]=_['assign'](members[_0x5c0646],{'data1':members[_0x5c0646]['data1']||_0x13726b[_0xd208('0xa')],'data2':members[_0x5c0646]['data2']||_0x13726b[_0xd208('0x2d')],'data3':members[_0x5c0646][_0xd208('0x2e')]||_0x13726b[_0xd208('0x31')],'uniqueid':members[_0x5c0646][_0xd208('0x6')]||_0x13726b[_0xd208('0x6')]});utils[_0xd208('0x17')](util['format'](_0xd208('0x2f'),_0x13726b[_0xd208('0x6')],members[_0x5c0646][_0xd208('0x2b')],members[_0x5c0646][_0xd208('0x2c')],members[_0x5c0646][_0xd208('0x2e')]));if(members[_0x5c0646][_0xd208('0x23')]){writeDB(members[_0x5c0646]);}}}}catch(_0x56b48f){utils['error'](util[_0xd208('0x4')](_0xd208('0x32'),_0x13726b[_0xd208('0x6')]),_0x56b48f);}};