Built motion from commit (unavailable).|2.5.21
[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 _0xd3a0=['isNil','exitAt','duration','diffTime','enterAt','error','agentcomplete','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','assign','debug','[%s][members][cdr]','source','data3','destination','data1','destinationchannel','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','lodash','./utils','Local/_attended@transfer','Queue:','info','format','uniqueid','interface','channel','data2','membername','type','getUserByInterface','then','name','internal','request','CreateMemberReport','getUserByName','split','[%s][members][writeDB]','some','startsWith','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','TALKING','now','agent','NOT_INUSE'];(function(_0x3ac058,_0x53aab5){var _0x9173b4=function(_0x4bfd82){while(--_0x4bfd82){_0x3ac058['push'](_0x3ac058['shift']());}};_0x9173b4(++_0x53aab5);}(_0xd3a0,0x1aa));var _0x0d3a=function(_0x9d3f66,_0xb9f050){_0x9d3f66=_0x9d3f66-0x0;var _0x2ff4e7=_0xd3a0[_0x9d3f66];return _0x2ff4e7;};'use strict';var _=require(_0x0d3a('0x0'));var util=require('util');var utils=require(_0x0d3a('0x1'));var members={};var exclude=[_0x0d3a('0x2'),_0x0d3a('0x3')];function writeDB(_0x17e065){utils[_0x0d3a('0x4')](util[_0x0d3a('0x5')]('[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s',_0x17e065[_0x0d3a('0x6')],_0x17e065[_0x0d3a('0x7')],_0x17e065[_0x0d3a('0x8')],_0x17e065[_0x0d3a('0x9')],_0x17e065[_0x0d3a('0xa')],_0x17e065[_0x0d3a('0xb')]));if(_0x17e065[_0x0d3a('0x7')]){utils[_0x0d3a('0xc')](_0x17e065[_0x0d3a('0x7')])[_0x0d3a('0xd')](function(_0x2a1030){if(_0x2a1030){_0x17e065[_0x0d3a('0xa')]=_0x2a1030[_0x0d3a('0xe')];_0x17e065[_0x0d3a('0xf')]=_0x2a1030[_0x0d3a('0xf')];utils[_0x0d3a('0x10')](_0x0d3a('0x11'),_0x17e065);}else{utils[_0x0d3a('0x12')](_0x17e065[_0x0d3a('0x7')][_0x0d3a('0x13')]('/')[0x1])[_0x0d3a('0xd')](function(_0x37fc54){if(_0x37fc54){_0x17e065['membername']=_0x37fc54[_0x0d3a('0xe')];_0x17e065[_0x0d3a('0xf')]=_0x37fc54[_0x0d3a('0xf')];utils[_0x0d3a('0x10')](_0x0d3a('0x11'),_0x17e065);}});}})['catch'](function(_0x461919){utils['error'](util[_0x0d3a('0x5')](_0x0d3a('0x14'),_0x17e065[_0x0d3a('0x6')]),_0x461919);});}delete members[_0x17e065[_0x0d3a('0x7')]];}function startsWith(_0x560b11,_0x511a9c){return _[_0x0d3a('0x15')](_0x560b11,function(_0x14e104){return _[_0x0d3a('0x16')](_0x511a9c,_0x14e104);});}exports['devicestatechange']=function(_0x1e8aef){try{utils['debug'](util['format'](_0x0d3a('0x17'),members[_0x1e8aef[_0x0d3a('0x18')]]?members[_0x1e8aef[_0x0d3a('0x18')]][_0x0d3a('0x6')]:_0x1e8aef[_0x0d3a('0x18')]),_0x1e8aef);utils[_0x0d3a('0x4')](util[_0x0d3a('0x5')](_0x0d3a('0x19'),members[_0x1e8aef[_0x0d3a('0x18')]]?members[_0x1e8aef[_0x0d3a('0x18')]][_0x0d3a('0x6')]:_0x1e8aef[_0x0d3a('0x18')],_0x1e8aef['state'],_0x1e8aef[_0x0d3a('0x18')]));switch(_0x1e8aef[_0x0d3a('0x1a')]){case _0x0d3a('0x1b'):case _0x0d3a('0x1c'):if(!startsWith(exclude,_0x1e8aef['device'])){members[_0x1e8aef[_0x0d3a('0x18')]]={'channel':'voice','interface':_0x1e8aef[_0x0d3a('0x18')],'type':_0x0d3a('0x1d'),'enterAt':utils[_0x0d3a('0x1e')](),'role':_0x0d3a('0x1f')};}break;case _0x0d3a('0x20'):if(!_[_0x0d3a('0x21')](members[_0x1e8aef[_0x0d3a('0x18')]])){members[_0x1e8aef[_0x0d3a('0x18')]][_0x0d3a('0x22')]=utils[_0x0d3a('0x1e')]();members[_0x1e8aef[_0x0d3a('0x18')]][_0x0d3a('0x23')]=utils[_0x0d3a('0x24')](members[_0x1e8aef['device']][_0x0d3a('0x22')],members[_0x1e8aef[_0x0d3a('0x18')]][_0x0d3a('0x25')]);if(members[_0x1e8aef[_0x0d3a('0x18')]]['uniqueid']){writeDB(members[_0x1e8aef[_0x0d3a('0x18')]]);}}break;default:break;}}catch(_0x1e0fd1){utils[_0x0d3a('0x26')](util['format']('[%s][members][devicestatechange]',members[_0x1e8aef[_0x0d3a('0x18')]]?members[_0x1e8aef[_0x0d3a('0x18')]][_0x0d3a('0x6')]:_0x1e8aef[_0x0d3a('0x18')]),_0x1e0fd1);}};exports[_0x0d3a('0x27')]=function(_0x3baa68){try{if(!_[_0x0d3a('0x21')](members[_0x3baa68[_0x0d3a('0x7')]])){utils['debug'](util[_0x0d3a('0x5')](_0x0d3a('0x28'),_0x3baa68['uniqueid']),_0x3baa68);utils[_0x0d3a('0x4')](util[_0x0d3a('0x5')](_0x0d3a('0x29'),_0x3baa68[_0x0d3a('0x6')],_0x3baa68['interface'],_0x3baa68['queue']));members[_0x3baa68[_0x0d3a('0x7')]]=_[_0x0d3a('0x2a')](members[_0x3baa68[_0x0d3a('0x7')]],{'data4':_0x3baa68['queue'],'uniqueid':_0x3baa68[_0x0d3a('0x6')]});}}catch(_0x28f8c5){utils[_0x0d3a('0x26')](util[_0x0d3a('0x5')](_0x0d3a('0x28'),_0x3baa68[_0x0d3a('0x6')]),_0x28f8c5);}};exports['cdr']=function(_0x5b178a){try{utils[_0x0d3a('0x2b')](util[_0x0d3a('0x5')](_0x0d3a('0x2c'),_0x5b178a[_0x0d3a('0x6')]),_0x5b178a);if(_0x5b178a[_0x0d3a('0x8')]){var _0x5a930b=_0x5b178a[_0x0d3a('0x8')][_0x0d3a('0x13')]('-')[0x0];if(!_[_0x0d3a('0x21')](members[_0x5a930b])){members[_0x5a930b]=_[_0x0d3a('0x2a')](members[_0x5a930b],{'data1':members[_0x5a930b]['data1']||_0x5b178a[_0x0d3a('0xb')],'data2':members[_0x5a930b][_0x0d3a('0x9')]||_0x5b178a[_0x0d3a('0x2d')],'data3':members[_0x5a930b][_0x0d3a('0x2e')]||_0x5b178a[_0x0d3a('0x2f')],'uniqueid':members[_0x5a930b][_0x0d3a('0x6')]||_0x5b178a[_0x0d3a('0x6')]});utils[_0x0d3a('0x4')](util['format']('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x5b178a['uniqueid'],members[_0x5a930b][_0x0d3a('0x30')],members[_0x5a930b][_0x0d3a('0x9')],members[_0x5a930b][_0x0d3a('0x2e')]));if(members[_0x5a930b]['exitAt']){writeDB(members[_0x5a930b]);}}}if(_0x5b178a[_0x0d3a('0x31')]){var _0x11d9ed=_0x5b178a[_0x0d3a('0x31')][_0x0d3a('0x13')]('-')[0x0];if(!_[_0x0d3a('0x21')](members[_0x11d9ed])){members[_0x11d9ed]=_[_0x0d3a('0x2a')](members[_0x11d9ed],{'data1':members[_0x11d9ed]['data1']||_0x5b178a[_0x0d3a('0xb')],'data2':members[_0x11d9ed][_0x0d3a('0x9')]||_0x5b178a[_0x0d3a('0x2d')],'data3':members[_0x11d9ed][_0x0d3a('0x2e')]||_0x5b178a[_0x0d3a('0x2f')],'uniqueid':members[_0x11d9ed][_0x0d3a('0x6')]||_0x5b178a[_0x0d3a('0x6')]});utils[_0x0d3a('0x4')](util[_0x0d3a('0x5')](_0x0d3a('0x32'),_0x5b178a['uniqueid'],members[_0x11d9ed][_0x0d3a('0x30')],members[_0x11d9ed]['data2'],members[_0x11d9ed][_0x0d3a('0x2e')]));if(members[_0x11d9ed]['exitAt']){writeDB(members[_0x11d9ed]);}}}}catch(_0x3622b3){utils[_0x0d3a('0x26')](util[_0x0d3a('0x5')](_0x0d3a('0x2c'),_0x5b178a[_0x0d3a('0x6')]),_0x3622b3);}};