Built motion from commit a679711e.|2.6.15
[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 _0x5304=['NOT_INUSE','isNil','exitAt','duration','diffTime','enterAt','[%s][members][devicestatechange]','agentcomplete','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','cdr','[%s][members][cdr]','split','assign','data1','type','data2','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','lodash','util','info','format','uniqueid','channel','membername','interface','getUserByInterface','then','name','internal','request','CreateMemberReport','catch','error','startsWith','devicestatechange','debug','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','BUSY','voice','now','agent'];(function(_0x4debec,_0x51302d){var _0x257a33=function(_0x26483d){while(--_0x26483d){_0x4debec['push'](_0x4debec['shift']());}};_0x257a33(++_0x51302d);}(_0x5304,0x167));var _0x4530=function(_0x2c1e7a,_0x155f86){_0x2c1e7a=_0x2c1e7a-0x0;var _0xcacb4f=_0x5304[_0x2c1e7a];return _0xcacb4f;};'use strict';var _=require(_0x4530('0x0'));var util=require(_0x4530('0x1'));var utils=require('./utils');var members={};var exclude=['Local/_attended@transfer','Queue:'];function writeDB(_0x719e6b){utils[_0x4530('0x2')](util[_0x4530('0x3')]('[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s',_0x719e6b[_0x4530('0x4')],_0x719e6b['interface'],_0x719e6b[_0x4530('0x5')],_0x719e6b['data2'],_0x719e6b[_0x4530('0x6')],_0x719e6b['type']));if(_0x719e6b[_0x4530('0x7')]){utils[_0x4530('0x8')](_0x719e6b[_0x4530('0x7')])[_0x4530('0x9')](function(_0x230db3){if(_0x230db3){_0x719e6b['membername']=_0x230db3[_0x4530('0xa')];_0x719e6b[_0x4530('0xb')]=_0x230db3[_0x4530('0xb')];utils['request']('CreateMemberReport',_0x719e6b);}else{utils['getUserByName'](_0x719e6b['interface']['split']('/')[0x1])['then'](function(_0x485c63){if(_0x485c63){_0x719e6b['membername']=_0x485c63[_0x4530('0xa')];_0x719e6b[_0x4530('0xb')]=_0x485c63[_0x4530('0xb')];utils[_0x4530('0xc')](_0x4530('0xd'),_0x719e6b);}});}})[_0x4530('0xe')](function(_0x20a07f){utils[_0x4530('0xf')](util[_0x4530('0x3')]('[%s][members][writeDB]',_0x719e6b[_0x4530('0x4')]),_0x20a07f);});}delete members[_0x719e6b[_0x4530('0x7')]];}function startsWith(_0x1ab39b,_0x18b1df){return _['some'](_0x1ab39b,function(_0x31999b){return _[_0x4530('0x10')](_0x18b1df,_0x31999b);});}exports[_0x4530('0x11')]=function(_0x126da1){try{utils[_0x4530('0x12')](util[_0x4530('0x3')]('[%s][members][devicestatechange]',members[_0x126da1[_0x4530('0x13')]]?members[_0x126da1[_0x4530('0x13')]][_0x4530('0x4')]:_0x126da1[_0x4530('0x13')]),_0x126da1);utils[_0x4530('0x2')](util['format'](_0x4530('0x14'),members[_0x126da1['device']]?members[_0x126da1[_0x4530('0x13')]][_0x4530('0x4')]:_0x126da1[_0x4530('0x13')],_0x126da1['state'],_0x126da1['device']));switch(_0x126da1['state']){case'INUSE':case _0x4530('0x15'):if(!startsWith(exclude,_0x126da1['device'])){members[_0x126da1[_0x4530('0x13')]]={'channel':_0x4530('0x16'),'interface':_0x126da1[_0x4530('0x13')],'type':'TALKING','enterAt':utils[_0x4530('0x17')](),'role':_0x4530('0x18')};}break;case _0x4530('0x19'):if(!_[_0x4530('0x1a')](members[_0x126da1[_0x4530('0x13')]])){members[_0x126da1['device']][_0x4530('0x1b')]=utils[_0x4530('0x17')]();members[_0x126da1[_0x4530('0x13')]][_0x4530('0x1c')]=utils[_0x4530('0x1d')](members[_0x126da1[_0x4530('0x13')]][_0x4530('0x1b')],members[_0x126da1[_0x4530('0x13')]][_0x4530('0x1e')]);if(members[_0x126da1[_0x4530('0x13')]]['uniqueid']){writeDB(members[_0x126da1[_0x4530('0x13')]]);}}break;default:break;}}catch(_0x1cbf7e){utils[_0x4530('0xf')](util['format'](_0x4530('0x1f'),members[_0x126da1[_0x4530('0x13')]]?members[_0x126da1['device']]['uniqueid']:_0x126da1['device']),_0x1cbf7e);}};exports[_0x4530('0x20')]=function(_0x235356){try{if(!_[_0x4530('0x1a')](members[_0x235356[_0x4530('0x7')]])){utils['debug'](util['format'](_0x4530('0x21'),_0x235356[_0x4530('0x4')]),_0x235356);utils[_0x4530('0x2')](util[_0x4530('0x3')](_0x4530('0x22'),_0x235356['uniqueid'],_0x235356[_0x4530('0x7')],_0x235356[_0x4530('0x23')]));members[_0x235356['interface']]=_['assign'](members[_0x235356['interface']],{'data4':_0x235356[_0x4530('0x23')],'uniqueid':_0x235356[_0x4530('0x4')]});}}catch(_0x294711){utils[_0x4530('0xf')](util[_0x4530('0x3')](_0x4530('0x21'),_0x235356['uniqueid']),_0x294711);}};exports[_0x4530('0x24')]=function(_0x37df0d){try{utils['debug'](util[_0x4530('0x3')](_0x4530('0x25'),_0x37df0d['uniqueid']),_0x37df0d);if(_0x37df0d[_0x4530('0x5')]){var _0x45a419=_0x37df0d[_0x4530('0x5')][_0x4530('0x26')]('-')[0x0];if(!_[_0x4530('0x1a')](members[_0x45a419])){members[_0x45a419]=_[_0x4530('0x27')](members[_0x45a419],{'data1':members[_0x45a419][_0x4530('0x28')]||_0x37df0d[_0x4530('0x29')],'data2':members[_0x45a419][_0x4530('0x2a')]||_0x37df0d[_0x4530('0x2b')],'data3':members[_0x45a419][_0x4530('0x2c')]||_0x37df0d[_0x4530('0x2d')],'uniqueid':members[_0x45a419]['uniqueid']||_0x37df0d[_0x4530('0x4')]});utils['info'](util['format'](_0x4530('0x2e'),_0x37df0d[_0x4530('0x4')],members[_0x45a419][_0x4530('0x28')],members[_0x45a419][_0x4530('0x2a')],members[_0x45a419]['data3']));if(members[_0x45a419]['exitAt']){writeDB(members[_0x45a419]);}}}if(_0x37df0d['destinationchannel']){var _0x19ad51=_0x37df0d[_0x4530('0x2f')][_0x4530('0x26')]('-')[0x0];if(!_[_0x4530('0x1a')](members[_0x19ad51])){members[_0x19ad51]=_[_0x4530('0x27')](members[_0x19ad51],{'data1':members[_0x19ad51][_0x4530('0x28')]||_0x37df0d[_0x4530('0x29')],'data2':members[_0x19ad51][_0x4530('0x2a')]||_0x37df0d[_0x4530('0x2b')],'data3':members[_0x19ad51][_0x4530('0x2c')]||_0x37df0d[_0x4530('0x2d')],'uniqueid':members[_0x19ad51][_0x4530('0x4')]||_0x37df0d[_0x4530('0x4')]});utils[_0x4530('0x2')](util[_0x4530('0x3')](_0x4530('0x2e'),_0x37df0d[_0x4530('0x4')],members[_0x19ad51][_0x4530('0x28')],members[_0x19ad51][_0x4530('0x2a')],members[_0x19ad51][_0x4530('0x2c')]));if(members[_0x19ad51][_0x4530('0x1b')]){writeDB(members[_0x19ad51]);}}}}catch(_0x386cb5){utils[_0x4530('0xf')](util['format'](_0x4530('0x25'),_0x37df0d[_0x4530('0x4')]),_0x386cb5);}};