ace14a7414dd845a2f654295ce4373c60fb5bdba
[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 _0x3eec=['queue','assign','cdr','[%s][members][cdr]','channel','split','data1','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','lodash','util','./utils','Local/_attended@transfer','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','data2','membername','type','getUserByInterface','then','name','request','CreateMemberReport','getUserByName','catch','error','[%s][members][writeDB]','some','devicestatechange','debug','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','TALKING','now','agent','NOT_INUSE','isNil','exitAt','duration','diffTime','enterAt','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s'];(function(_0x490210,_0x4ab8bf){var _0xe463d5=function(_0xa0b79a){while(--_0xa0b79a){_0x490210['push'](_0x490210['shift']());}};_0xe463d5(++_0x4ab8bf);}(_0x3eec,0x1e9));var _0xc3ee=function(_0x3b4ee6,_0x111912){_0x3b4ee6=_0x3b4ee6-0x0;var _0x1c5ed9=_0x3eec[_0x3b4ee6];return _0x1c5ed9;};'use strict';var _=require(_0xc3ee('0x0'));var util=require(_0xc3ee('0x1'));var utils=require(_0xc3ee('0x2'));var members={};var exclude=[_0xc3ee('0x3'),'Queue:'];function writeDB(_0x223d08){utils[_0xc3ee('0x4')](util[_0xc3ee('0x5')](_0xc3ee('0x6'),_0x223d08[_0xc3ee('0x7')],_0x223d08[_0xc3ee('0x8')],_0x223d08['channel'],_0x223d08[_0xc3ee('0x9')],_0x223d08[_0xc3ee('0xa')],_0x223d08[_0xc3ee('0xb')]));if(_0x223d08[_0xc3ee('0x8')]){utils[_0xc3ee('0xc')](_0x223d08[_0xc3ee('0x8')])[_0xc3ee('0xd')](function(_0x2c9701){if(_0x2c9701){_0x223d08[_0xc3ee('0xa')]=_0x2c9701[_0xc3ee('0xe')];_0x223d08['internal']=_0x2c9701['internal'];utils[_0xc3ee('0xf')](_0xc3ee('0x10'),_0x223d08);}else{utils[_0xc3ee('0x11')](_0x223d08[_0xc3ee('0x8')]['split']('/')[0x1])[_0xc3ee('0xd')](function(_0x4b1bff){if(_0x4b1bff){_0x223d08[_0xc3ee('0xa')]=_0x4b1bff[_0xc3ee('0xe')];_0x223d08['internal']=_0x4b1bff['internal'];utils[_0xc3ee('0xf')]('CreateMemberReport',_0x223d08);}});}})[_0xc3ee('0x12')](function(_0x535d1a){utils[_0xc3ee('0x13')](util['format'](_0xc3ee('0x14'),_0x223d08[_0xc3ee('0x7')]),_0x535d1a);});}delete members[_0x223d08[_0xc3ee('0x8')]];}function startsWith(_0x664bad,_0x476f8f){return _[_0xc3ee('0x15')](_0x664bad,function(_0x277e11){return _['startsWith'](_0x476f8f,_0x277e11);});}exports[_0xc3ee('0x16')]=function(_0x4eea89){try{utils[_0xc3ee('0x17')](util[_0xc3ee('0x5')](_0xc3ee('0x18'),members[_0x4eea89[_0xc3ee('0x19')]]?members[_0x4eea89[_0xc3ee('0x19')]][_0xc3ee('0x7')]:_0x4eea89[_0xc3ee('0x19')]),_0x4eea89);utils[_0xc3ee('0x4')](util[_0xc3ee('0x5')](_0xc3ee('0x1a'),members[_0x4eea89[_0xc3ee('0x19')]]?members[_0x4eea89[_0xc3ee('0x19')]][_0xc3ee('0x7')]:_0x4eea89[_0xc3ee('0x19')],_0x4eea89[_0xc3ee('0x1b')],_0x4eea89[_0xc3ee('0x19')]));switch(_0x4eea89[_0xc3ee('0x1b')]){case _0xc3ee('0x1c'):case _0xc3ee('0x1d'):if(!startsWith(exclude,_0x4eea89[_0xc3ee('0x19')])){members[_0x4eea89[_0xc3ee('0x19')]]={'channel':'voice','interface':_0x4eea89['device'],'type':_0xc3ee('0x1e'),'enterAt':utils[_0xc3ee('0x1f')](),'role':_0xc3ee('0x20')};}break;case _0xc3ee('0x21'):if(!_[_0xc3ee('0x22')](members[_0x4eea89[_0xc3ee('0x19')]])){members[_0x4eea89['device']][_0xc3ee('0x23')]=utils[_0xc3ee('0x1f')]();members[_0x4eea89[_0xc3ee('0x19')]][_0xc3ee('0x24')]=utils[_0xc3ee('0x25')](members[_0x4eea89['device']]['exitAt'],members[_0x4eea89[_0xc3ee('0x19')]][_0xc3ee('0x26')]);if(members[_0x4eea89[_0xc3ee('0x19')]][_0xc3ee('0x7')]){writeDB(members[_0x4eea89[_0xc3ee('0x19')]]);}}break;default:break;}}catch(_0x4ecfec){utils['error'](util['format'](_0xc3ee('0x18'),members[_0x4eea89[_0xc3ee('0x19')]]?members[_0x4eea89[_0xc3ee('0x19')]][_0xc3ee('0x7')]:_0x4eea89[_0xc3ee('0x19')]),_0x4ecfec);}};exports['agentcomplete']=function(_0x13f30d){try{if(!_[_0xc3ee('0x22')](members[_0x13f30d[_0xc3ee('0x8')]])){utils[_0xc3ee('0x17')](util[_0xc3ee('0x5')](_0xc3ee('0x27'),_0x13f30d[_0xc3ee('0x7')]),_0x13f30d);utils['info'](util[_0xc3ee('0x5')](_0xc3ee('0x28'),_0x13f30d[_0xc3ee('0x7')],_0x13f30d['interface'],_0x13f30d[_0xc3ee('0x29')]));members[_0x13f30d[_0xc3ee('0x8')]]=_[_0xc3ee('0x2a')](members[_0x13f30d[_0xc3ee('0x8')]],{'data4':_0x13f30d[_0xc3ee('0x29')],'uniqueid':_0x13f30d[_0xc3ee('0x7')]});}}catch(_0x16677d){utils['error'](util[_0xc3ee('0x5')]('[%s][members][agentcomplete]',_0x13f30d[_0xc3ee('0x7')]),_0x16677d);}};exports[_0xc3ee('0x2b')]=function(_0x13d6e5){try{utils[_0xc3ee('0x17')](util[_0xc3ee('0x5')](_0xc3ee('0x2c'),_0x13d6e5['uniqueid']),_0x13d6e5);if(_0x13d6e5[_0xc3ee('0x2d')]){var _0x3f2e5a=_0x13d6e5[_0xc3ee('0x2d')][_0xc3ee('0x2e')]('-')[0x0];if(!_[_0xc3ee('0x22')](members[_0x3f2e5a])){members[_0x3f2e5a]=_[_0xc3ee('0x2a')](members[_0x3f2e5a],{'data1':members[_0x3f2e5a][_0xc3ee('0x2f')]||_0x13d6e5[_0xc3ee('0xb')],'data2':members[_0x3f2e5a][_0xc3ee('0x9')]||_0x13d6e5[_0xc3ee('0x30')],'data3':members[_0x3f2e5a][_0xc3ee('0x31')]||_0x13d6e5[_0xc3ee('0x32')],'uniqueid':members[_0x3f2e5a][_0xc3ee('0x7')]||_0x13d6e5[_0xc3ee('0x7')]});utils[_0xc3ee('0x4')](util[_0xc3ee('0x5')](_0xc3ee('0x33'),_0x13d6e5[_0xc3ee('0x7')],members[_0x3f2e5a][_0xc3ee('0x2f')],members[_0x3f2e5a][_0xc3ee('0x9')],members[_0x3f2e5a][_0xc3ee('0x31')]));if(members[_0x3f2e5a]['exitAt']){writeDB(members[_0x3f2e5a]);}}}if(_0x13d6e5[_0xc3ee('0x34')]){var _0x548df8=_0x13d6e5[_0xc3ee('0x34')][_0xc3ee('0x2e')]('-')[0x0];if(!_[_0xc3ee('0x22')](members[_0x548df8])){members[_0x548df8]=_[_0xc3ee('0x2a')](members[_0x548df8],{'data1':members[_0x548df8][_0xc3ee('0x2f')]||_0x13d6e5[_0xc3ee('0xb')],'data2':members[_0x548df8]['data2']||_0x13d6e5[_0xc3ee('0x30')],'data3':members[_0x548df8][_0xc3ee('0x31')]||_0x13d6e5[_0xc3ee('0x32')],'uniqueid':members[_0x548df8]['uniqueid']||_0x13d6e5[_0xc3ee('0x7')]});utils[_0xc3ee('0x4')](util[_0xc3ee('0x5')](_0xc3ee('0x33'),_0x13d6e5[_0xc3ee('0x7')],members[_0x548df8][_0xc3ee('0x2f')],members[_0x548df8][_0xc3ee('0x9')],members[_0x548df8][_0xc3ee('0x31')]));if(members[_0x548df8][_0xc3ee('0x23')]){writeDB(members[_0x548df8]);}}}}catch(_0x23d365){utils[_0xc3ee('0x13')](util['format'](_0xc3ee('0x2c'),_0x13d6e5[_0xc3ee('0x7')]),_0x23d365);}};