Built motion from commit (unavailable).|2.5.26
[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 _0xebdd=['format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','channel','data2','membername','type','interface','then','name','internal','CreateMemberReport','getUserByName','split','request','catch','error','startsWith','debug','[%s][members][devicestatechange]','device','info','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','voice','TALKING','agent','NOT_INUSE','isNil','exitAt','duration','diffTime','enterAt','agentcomplete','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','[%s][members][agentcomplete]','cdr','[%s][members][cdr]','source','data3','destination','data1','destinationchannel','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','lodash','util','./utils','Local/_attended@transfer','Queue:'];(function(_0x485476,_0x5f03ba){var _0x4e2edb=function(_0x53d90c){while(--_0x53d90c){_0x485476['push'](_0x485476['shift']());}};_0x4e2edb(++_0x5f03ba);}(_0xebdd,0x9a));var _0xdebd=function(_0x836465,_0x5442ae){_0x836465=_0x836465-0x0;var _0x2150ea=_0xebdd[_0x836465];return _0x2150ea;};'use strict';var _=require(_0xdebd('0x0'));var util=require(_0xdebd('0x1'));var utils=require(_0xdebd('0x2'));var members={};var exclude=[_0xdebd('0x3'),_0xdebd('0x4')];function writeDB(_0x512786){utils['info'](util[_0xdebd('0x5')](_0xdebd('0x6'),_0x512786[_0xdebd('0x7')],_0x512786['interface'],_0x512786[_0xdebd('0x8')],_0x512786[_0xdebd('0x9')],_0x512786[_0xdebd('0xa')],_0x512786[_0xdebd('0xb')]));if(_0x512786['interface']){utils['getUserByInterface'](_0x512786[_0xdebd('0xc')])[_0xdebd('0xd')](function(_0x11341c){if(_0x11341c){_0x512786[_0xdebd('0xa')]=_0x11341c[_0xdebd('0xe')];_0x512786['internal']=_0x11341c[_0xdebd('0xf')];utils['request'](_0xdebd('0x10'),_0x512786);}else{utils[_0xdebd('0x11')](_0x512786['interface'][_0xdebd('0x12')]('/')[0x1])[_0xdebd('0xd')](function(_0x45017c){if(_0x45017c){_0x512786[_0xdebd('0xa')]=_0x45017c[_0xdebd('0xe')];_0x512786['internal']=_0x45017c[_0xdebd('0xf')];utils[_0xdebd('0x13')]('CreateMemberReport',_0x512786);}});}})[_0xdebd('0x14')](function(_0x35c6aa){utils[_0xdebd('0x15')](util[_0xdebd('0x5')]('[%s][members][writeDB]',_0x512786['uniqueid']),_0x35c6aa);});}delete members[_0x512786['interface']];}function startsWith(_0x3fd9f4,_0x1d32d0){return _['some'](_0x3fd9f4,function(_0x147d42){return _[_0xdebd('0x16')](_0x1d32d0,_0x147d42);});}exports['devicestatechange']=function(_0x586d24){try{utils[_0xdebd('0x17')](util[_0xdebd('0x5')](_0xdebd('0x18'),members[_0x586d24[_0xdebd('0x19')]]?members[_0x586d24[_0xdebd('0x19')]][_0xdebd('0x7')]:_0x586d24['device']),_0x586d24);utils[_0xdebd('0x1a')](util['format'](_0xdebd('0x1b'),members[_0x586d24[_0xdebd('0x19')]]?members[_0x586d24[_0xdebd('0x19')]]['uniqueid']:_0x586d24[_0xdebd('0x19')],_0x586d24[_0xdebd('0x1c')],_0x586d24[_0xdebd('0x19')]));switch(_0x586d24[_0xdebd('0x1c')]){case _0xdebd('0x1d'):case _0xdebd('0x1e'):if(!startsWith(exclude,_0x586d24[_0xdebd('0x19')])){members[_0x586d24[_0xdebd('0x19')]]={'channel':_0xdebd('0x1f'),'interface':_0x586d24[_0xdebd('0x19')],'type':_0xdebd('0x20'),'enterAt':utils['now'](),'role':_0xdebd('0x21')};}break;case _0xdebd('0x22'):if(!_[_0xdebd('0x23')](members[_0x586d24[_0xdebd('0x19')]])){members[_0x586d24[_0xdebd('0x19')]][_0xdebd('0x24')]=utils['now']();members[_0x586d24[_0xdebd('0x19')]][_0xdebd('0x25')]=utils[_0xdebd('0x26')](members[_0x586d24[_0xdebd('0x19')]]['exitAt'],members[_0x586d24[_0xdebd('0x19')]][_0xdebd('0x27')]);if(members[_0x586d24[_0xdebd('0x19')]]['uniqueid']){writeDB(members[_0x586d24[_0xdebd('0x19')]]);}}break;default:break;}}catch(_0x601690){utils['error'](util[_0xdebd('0x5')](_0xdebd('0x18'),members[_0x586d24[_0xdebd('0x19')]]?members[_0x586d24['device']][_0xdebd('0x7')]:_0x586d24[_0xdebd('0x19')]),_0x601690);}};exports[_0xdebd('0x28')]=function(_0xc9c195){try{if(!_[_0xdebd('0x23')](members[_0xc9c195[_0xdebd('0xc')]])){utils[_0xdebd('0x17')](util['format']('[%s][members][agentcomplete]',_0xc9c195['uniqueid']),_0xc9c195);utils[_0xdebd('0x1a')](util[_0xdebd('0x5')](_0xdebd('0x29'),_0xc9c195[_0xdebd('0x7')],_0xc9c195[_0xdebd('0xc')],_0xc9c195[_0xdebd('0x2a')]));members[_0xc9c195[_0xdebd('0xc')]]=_[_0xdebd('0x2b')](members[_0xc9c195[_0xdebd('0xc')]],{'data4':_0xc9c195[_0xdebd('0x2a')],'uniqueid':_0xc9c195['uniqueid']});}}catch(_0x1c1eeb){utils[_0xdebd('0x15')](util['format'](_0xdebd('0x2c'),_0xc9c195[_0xdebd('0x7')]),_0x1c1eeb);}};exports[_0xdebd('0x2d')]=function(_0x1ab00e){try{utils[_0xdebd('0x17')](util[_0xdebd('0x5')](_0xdebd('0x2e'),_0x1ab00e[_0xdebd('0x7')]),_0x1ab00e);if(_0x1ab00e[_0xdebd('0x8')]){var _0x4f167f=_0x1ab00e[_0xdebd('0x8')]['split']('-')[0x0];if(!_[_0xdebd('0x23')](members[_0x4f167f])){members[_0x4f167f]=_['assign'](members[_0x4f167f],{'data1':members[_0x4f167f]['data1']||_0x1ab00e[_0xdebd('0xb')],'data2':members[_0x4f167f][_0xdebd('0x9')]||_0x1ab00e[_0xdebd('0x2f')],'data3':members[_0x4f167f][_0xdebd('0x30')]||_0x1ab00e[_0xdebd('0x31')],'uniqueid':members[_0x4f167f][_0xdebd('0x7')]||_0x1ab00e[_0xdebd('0x7')]});utils[_0xdebd('0x1a')](util[_0xdebd('0x5')]('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x1ab00e[_0xdebd('0x7')],members[_0x4f167f][_0xdebd('0x32')],members[_0x4f167f][_0xdebd('0x9')],members[_0x4f167f][_0xdebd('0x30')]));if(members[_0x4f167f][_0xdebd('0x24')]){writeDB(members[_0x4f167f]);}}}if(_0x1ab00e[_0xdebd('0x33')]){var _0x45e729=_0x1ab00e['destinationchannel'][_0xdebd('0x12')]('-')[0x0];if(!_['isNil'](members[_0x45e729])){members[_0x45e729]=_[_0xdebd('0x2b')](members[_0x45e729],{'data1':members[_0x45e729][_0xdebd('0x32')]||_0x1ab00e[_0xdebd('0xb')],'data2':members[_0x45e729][_0xdebd('0x9')]||_0x1ab00e[_0xdebd('0x2f')],'data3':members[_0x45e729]['data3']||_0x1ab00e[_0xdebd('0x31')],'uniqueid':members[_0x45e729]['uniqueid']||_0x1ab00e[_0xdebd('0x7')]});utils['info'](util[_0xdebd('0x5')](_0xdebd('0x34'),_0x1ab00e['uniqueid'],members[_0x45e729][_0xdebd('0x32')],members[_0x45e729][_0xdebd('0x9')],members[_0x45e729][_0xdebd('0x30')]));if(members[_0x45e729]['exitAt']){writeDB(members[_0x45e729]);}}}}catch(_0xfac261){utils[_0xdebd('0x15')](util[_0xdebd('0x5')](_0xdebd('0x2e'),_0x1ab00e[_0xdebd('0x7')]),_0xfac261);}};