c31d676b208df86cbae6a1d35648cfa5476e417b
[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 _0xea67=['uniqueid','interface','channel','data2','membername','type','getUserByInterface','name','internal','request','split','then','CreateMemberReport','error','some','devicestatechange','[%s][members][devicestatechange]','device','state','INUSE','BUSY','voice','TALKING','now','isNil','exitAt','duration','diffTime','agentcomplete','debug','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','cdr','[%s][members][cdr]','assign','data1','source','destination','data3','destinationchannel','lodash','util','./utils','Local/_attended@transfer','info','format'];(function(_0x26b80e,_0x5c9333){var _0x84a8a8=function(_0x2e5b4a){while(--_0x2e5b4a){_0x26b80e['push'](_0x26b80e['shift']());}};_0x84a8a8(++_0x5c9333);}(_0xea67,0x172));var _0x7ea6=function(_0x4bfd95,_0x1c3b3b){_0x4bfd95=_0x4bfd95-0x0;var _0x1484cd=_0xea67[_0x4bfd95];return _0x1484cd;};'use strict';var _=require(_0x7ea6('0x0'));var util=require(_0x7ea6('0x1'));var utils=require(_0x7ea6('0x2'));var members={};var exclude=[_0x7ea6('0x3'),'Queue:'];function writeDB(_0x2a7e53){utils[_0x7ea6('0x4')](util[_0x7ea6('0x5')]('[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s',_0x2a7e53[_0x7ea6('0x6')],_0x2a7e53[_0x7ea6('0x7')],_0x2a7e53[_0x7ea6('0x8')],_0x2a7e53[_0x7ea6('0x9')],_0x2a7e53[_0x7ea6('0xa')],_0x2a7e53[_0x7ea6('0xb')]));if(_0x2a7e53[_0x7ea6('0x7')]){utils[_0x7ea6('0xc')](_0x2a7e53[_0x7ea6('0x7')])['then'](function(_0x208396){if(_0x208396){_0x2a7e53['membername']=_0x208396[_0x7ea6('0xd')];_0x2a7e53[_0x7ea6('0xe')]=_0x208396[_0x7ea6('0xe')];utils[_0x7ea6('0xf')]('CreateMemberReport',_0x2a7e53);}else{utils['getUserByName'](_0x2a7e53[_0x7ea6('0x7')][_0x7ea6('0x10')]('/')[0x1])[_0x7ea6('0x11')](function(_0x4d453b){if(_0x4d453b){_0x2a7e53[_0x7ea6('0xa')]=_0x4d453b[_0x7ea6('0xd')];_0x2a7e53['internal']=_0x4d453b[_0x7ea6('0xe')];utils[_0x7ea6('0xf')](_0x7ea6('0x12'),_0x2a7e53);}});}})['catch'](function(_0xfb4b00){utils[_0x7ea6('0x13')](util['format']('[%s][members][writeDB]',_0x2a7e53[_0x7ea6('0x6')]),_0xfb4b00);});}delete members[_0x2a7e53[_0x7ea6('0x7')]];}function startsWith(_0x2ab7d,_0x48a81){return _[_0x7ea6('0x14')](_0x2ab7d,function(_0x44ebb9){return _['startsWith'](_0x48a81,_0x44ebb9);});}exports[_0x7ea6('0x15')]=function(_0x17f588){try{utils['debug'](util[_0x7ea6('0x5')](_0x7ea6('0x16'),members[_0x17f588['device']]?members[_0x17f588[_0x7ea6('0x17')]][_0x7ea6('0x6')]:_0x17f588[_0x7ea6('0x17')]),_0x17f588);utils[_0x7ea6('0x4')](util['format']('[%s][members][devicestatechange]\x20state:%s\x20interface:%s',members[_0x17f588[_0x7ea6('0x17')]]?members[_0x17f588[_0x7ea6('0x17')]][_0x7ea6('0x6')]:_0x17f588[_0x7ea6('0x17')],_0x17f588[_0x7ea6('0x18')],_0x17f588[_0x7ea6('0x17')]));switch(_0x17f588[_0x7ea6('0x18')]){case _0x7ea6('0x19'):case _0x7ea6('0x1a'):if(!startsWith(exclude,_0x17f588[_0x7ea6('0x17')])){members[_0x17f588['device']]={'channel':_0x7ea6('0x1b'),'interface':_0x17f588[_0x7ea6('0x17')],'type':_0x7ea6('0x1c'),'enterAt':utils[_0x7ea6('0x1d')](),'role':'agent'};}break;case'NOT_INUSE':if(!_[_0x7ea6('0x1e')](members[_0x17f588['device']])){members[_0x17f588[_0x7ea6('0x17')]][_0x7ea6('0x1f')]=utils[_0x7ea6('0x1d')]();members[_0x17f588['device']][_0x7ea6('0x20')]=utils[_0x7ea6('0x21')](members[_0x17f588[_0x7ea6('0x17')]][_0x7ea6('0x1f')],members[_0x17f588[_0x7ea6('0x17')]]['enterAt']);if(members[_0x17f588['device']]['uniqueid']){writeDB(members[_0x17f588[_0x7ea6('0x17')]]);}}break;default:break;}}catch(_0x287b4e){utils[_0x7ea6('0x13')](util[_0x7ea6('0x5')](_0x7ea6('0x16'),members[_0x17f588['device']]?members[_0x17f588[_0x7ea6('0x17')]][_0x7ea6('0x6')]:_0x17f588[_0x7ea6('0x17')]),_0x287b4e);}};exports[_0x7ea6('0x22')]=function(_0x161fe9){try{if(!_[_0x7ea6('0x1e')](members[_0x161fe9[_0x7ea6('0x7')]])){utils[_0x7ea6('0x23')](util[_0x7ea6('0x5')](_0x7ea6('0x24'),_0x161fe9['uniqueid']),_0x161fe9);utils[_0x7ea6('0x4')](util['format'](_0x7ea6('0x25'),_0x161fe9[_0x7ea6('0x6')],_0x161fe9[_0x7ea6('0x7')],_0x161fe9[_0x7ea6('0x26')]));members[_0x161fe9[_0x7ea6('0x7')]]=_['assign'](members[_0x161fe9[_0x7ea6('0x7')]],{'data4':_0x161fe9[_0x7ea6('0x26')],'uniqueid':_0x161fe9[_0x7ea6('0x6')]});}}catch(_0x2012d5){utils[_0x7ea6('0x13')](util['format'](_0x7ea6('0x24'),_0x161fe9[_0x7ea6('0x6')]),_0x2012d5);}};exports[_0x7ea6('0x27')]=function(_0x250c05){try{utils[_0x7ea6('0x23')](util[_0x7ea6('0x5')](_0x7ea6('0x28'),_0x250c05[_0x7ea6('0x6')]),_0x250c05);if(_0x250c05[_0x7ea6('0x8')]){var _0x3de3a0=_0x250c05['channel']['split']('-')[0x0];if(!_[_0x7ea6('0x1e')](members[_0x3de3a0])){members[_0x3de3a0]=_[_0x7ea6('0x29')](members[_0x3de3a0],{'data1':members[_0x3de3a0][_0x7ea6('0x2a')]||_0x250c05[_0x7ea6('0xb')],'data2':members[_0x3de3a0][_0x7ea6('0x9')]||_0x250c05[_0x7ea6('0x2b')],'data3':members[_0x3de3a0]['data3']||_0x250c05[_0x7ea6('0x2c')],'uniqueid':members[_0x3de3a0][_0x7ea6('0x6')]||_0x250c05[_0x7ea6('0x6')]});utils[_0x7ea6('0x4')](util['format']('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x250c05[_0x7ea6('0x6')],members[_0x3de3a0]['data1'],members[_0x3de3a0][_0x7ea6('0x9')],members[_0x3de3a0][_0x7ea6('0x2d')]));if(members[_0x3de3a0][_0x7ea6('0x1f')]){writeDB(members[_0x3de3a0]);}}}if(_0x250c05[_0x7ea6('0x2e')]){var _0x25f88d=_0x250c05[_0x7ea6('0x2e')]['split']('-')[0x0];if(!_['isNil'](members[_0x25f88d])){members[_0x25f88d]=_['assign'](members[_0x25f88d],{'data1':members[_0x25f88d][_0x7ea6('0x2a')]||_0x250c05[_0x7ea6('0xb')],'data2':members[_0x25f88d][_0x7ea6('0x9')]||_0x250c05[_0x7ea6('0x2b')],'data3':members[_0x25f88d][_0x7ea6('0x2d')]||_0x250c05[_0x7ea6('0x2c')],'uniqueid':members[_0x25f88d][_0x7ea6('0x6')]||_0x250c05[_0x7ea6('0x6')]});utils['info'](util['format']('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x250c05[_0x7ea6('0x6')],members[_0x25f88d][_0x7ea6('0x2a')],members[_0x25f88d]['data2'],members[_0x25f88d]['data3']));if(members[_0x25f88d][_0x7ea6('0x1f')]){writeDB(members[_0x25f88d]);}}}}catch(_0x4402a6){utils[_0x7ea6('0x13')](util[_0x7ea6('0x5')](_0x7ea6('0x28'),_0x250c05[_0x7ea6('0x6')]),_0x4402a6);}};