bb0cb9177fd4b4adcae3a9f2b0fa684d0b5a7f34
[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 _0xf9bc=['agentcomplete','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','cdr','[%s][members][cdr]','channel','assign','data1','data2','data3','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','split','source','destination','util','./utils','Local/_attended@transfer','Queue:','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','membername','type','getUserByInterface','then','name','internal','request','getUserByName','CreateMemberReport','catch','error','[%s][members][writeDB]','startsWith','devicestatechange','debug','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','voice','TALKING','now','agent','isNil','exitAt','duration','diffTime','enterAt','[%s][members][devicestatechange]'];(function(_0x502c7d,_0x2f1285){var _0x30b7ed=function(_0x2d92f3){while(--_0x2d92f3){_0x502c7d['push'](_0x502c7d['shift']());}};_0x30b7ed(++_0x2f1285);}(_0xf9bc,0x7e));var _0xcf9b=function(_0x58ec9f,_0x504582){_0x58ec9f=_0x58ec9f-0x0;var _0x2b9b99=_0xf9bc[_0x58ec9f];return _0x2b9b99;};'use strict';var _=require('lodash');var util=require(_0xcf9b('0x0'));var utils=require(_0xcf9b('0x1'));var members={};var exclude=[_0xcf9b('0x2'),_0xcf9b('0x3')];function writeDB(_0x2c385a){utils[_0xcf9b('0x4')](util[_0xcf9b('0x5')](_0xcf9b('0x6'),_0x2c385a[_0xcf9b('0x7')],_0x2c385a[_0xcf9b('0x8')],_0x2c385a['channel'],_0x2c385a['data2'],_0x2c385a[_0xcf9b('0x9')],_0x2c385a[_0xcf9b('0xa')]));if(_0x2c385a[_0xcf9b('0x8')]){utils[_0xcf9b('0xb')](_0x2c385a[_0xcf9b('0x8')])[_0xcf9b('0xc')](function(_0x182df7){if(_0x182df7){_0x2c385a[_0xcf9b('0x9')]=_0x182df7[_0xcf9b('0xd')];_0x2c385a['internal']=_0x182df7[_0xcf9b('0xe')];utils[_0xcf9b('0xf')]('CreateMemberReport',_0x2c385a);}else{utils[_0xcf9b('0x10')](_0x2c385a['interface']['split']('/')[0x1])['then'](function(_0x1c6b7c){if(_0x1c6b7c){_0x2c385a['membername']=_0x1c6b7c[_0xcf9b('0xd')];_0x2c385a[_0xcf9b('0xe')]=_0x1c6b7c['internal'];utils[_0xcf9b('0xf')](_0xcf9b('0x11'),_0x2c385a);}});}})[_0xcf9b('0x12')](function(_0x24e525){utils[_0xcf9b('0x13')](util['format'](_0xcf9b('0x14'),_0x2c385a[_0xcf9b('0x7')]),_0x24e525);});}delete members[_0x2c385a[_0xcf9b('0x8')]];}function startsWith(_0x1ee95f,_0x49d7f8){return _['some'](_0x1ee95f,function(_0x1cb45f){return _[_0xcf9b('0x15')](_0x49d7f8,_0x1cb45f);});}exports[_0xcf9b('0x16')]=function(_0x3276a8){try{utils[_0xcf9b('0x17')](util[_0xcf9b('0x5')]('[%s][members][devicestatechange]',members[_0x3276a8[_0xcf9b('0x18')]]?members[_0x3276a8[_0xcf9b('0x18')]][_0xcf9b('0x7')]:_0x3276a8[_0xcf9b('0x18')]),_0x3276a8);utils['info'](util[_0xcf9b('0x5')](_0xcf9b('0x19'),members[_0x3276a8['device']]?members[_0x3276a8[_0xcf9b('0x18')]]['uniqueid']:_0x3276a8[_0xcf9b('0x18')],_0x3276a8[_0xcf9b('0x1a')],_0x3276a8[_0xcf9b('0x18')]));switch(_0x3276a8[_0xcf9b('0x1a')]){case _0xcf9b('0x1b'):case _0xcf9b('0x1c'):if(!startsWith(exclude,_0x3276a8[_0xcf9b('0x18')])){members[_0x3276a8[_0xcf9b('0x18')]]={'channel':_0xcf9b('0x1d'),'interface':_0x3276a8[_0xcf9b('0x18')],'type':_0xcf9b('0x1e'),'enterAt':utils[_0xcf9b('0x1f')](),'role':_0xcf9b('0x20')};}break;case'NOT_INUSE':if(!_[_0xcf9b('0x21')](members[_0x3276a8[_0xcf9b('0x18')]])){members[_0x3276a8[_0xcf9b('0x18')]][_0xcf9b('0x22')]=utils[_0xcf9b('0x1f')]();members[_0x3276a8['device']][_0xcf9b('0x23')]=utils[_0xcf9b('0x24')](members[_0x3276a8[_0xcf9b('0x18')]]['exitAt'],members[_0x3276a8[_0xcf9b('0x18')]][_0xcf9b('0x25')]);if(members[_0x3276a8[_0xcf9b('0x18')]]['uniqueid']){writeDB(members[_0x3276a8[_0xcf9b('0x18')]]);}}break;default:break;}}catch(_0x3dd36b){utils[_0xcf9b('0x13')](util['format'](_0xcf9b('0x26'),members[_0x3276a8['device']]?members[_0x3276a8[_0xcf9b('0x18')]][_0xcf9b('0x7')]:_0x3276a8[_0xcf9b('0x18')]),_0x3dd36b);}};exports[_0xcf9b('0x27')]=function(_0x30c6dc){try{if(!_[_0xcf9b('0x21')](members[_0x30c6dc['interface']])){utils[_0xcf9b('0x17')](util[_0xcf9b('0x5')](_0xcf9b('0x28'),_0x30c6dc[_0xcf9b('0x7')]),_0x30c6dc);utils[_0xcf9b('0x4')](util[_0xcf9b('0x5')](_0xcf9b('0x29'),_0x30c6dc[_0xcf9b('0x7')],_0x30c6dc[_0xcf9b('0x8')],_0x30c6dc['queue']));members[_0x30c6dc[_0xcf9b('0x8')]]=_['assign'](members[_0x30c6dc[_0xcf9b('0x8')]],{'data4':_0x30c6dc[_0xcf9b('0x2a')],'uniqueid':_0x30c6dc['uniqueid']});}}catch(_0x2b8c46){utils[_0xcf9b('0x13')](util[_0xcf9b('0x5')](_0xcf9b('0x28'),_0x30c6dc[_0xcf9b('0x7')]),_0x2b8c46);}};exports[_0xcf9b('0x2b')]=function(_0x34a485){try{utils['debug'](util[_0xcf9b('0x5')](_0xcf9b('0x2c'),_0x34a485[_0xcf9b('0x7')]),_0x34a485);if(_0x34a485[_0xcf9b('0x2d')]){var _0x5e7722=_0x34a485[_0xcf9b('0x2d')]['split']('-')[0x0];if(!_[_0xcf9b('0x21')](members[_0x5e7722])){members[_0x5e7722]=_[_0xcf9b('0x2e')](members[_0x5e7722],{'data1':members[_0x5e7722][_0xcf9b('0x2f')]||_0x34a485['type'],'data2':members[_0x5e7722][_0xcf9b('0x30')]||_0x34a485['source'],'data3':members[_0x5e7722][_0xcf9b('0x31')]||_0x34a485['destination'],'uniqueid':members[_0x5e7722][_0xcf9b('0x7')]||_0x34a485[_0xcf9b('0x7')]});utils[_0xcf9b('0x4')](util[_0xcf9b('0x5')](_0xcf9b('0x32'),_0x34a485[_0xcf9b('0x7')],members[_0x5e7722][_0xcf9b('0x2f')],members[_0x5e7722][_0xcf9b('0x30')],members[_0x5e7722][_0xcf9b('0x31')]));if(members[_0x5e7722][_0xcf9b('0x22')]){writeDB(members[_0x5e7722]);}}}if(_0x34a485[_0xcf9b('0x33')]){var _0x303aa6=_0x34a485['destinationchannel'][_0xcf9b('0x34')]('-')[0x0];if(!_[_0xcf9b('0x21')](members[_0x303aa6])){members[_0x303aa6]=_[_0xcf9b('0x2e')](members[_0x303aa6],{'data1':members[_0x303aa6][_0xcf9b('0x2f')]||_0x34a485['type'],'data2':members[_0x303aa6][_0xcf9b('0x30')]||_0x34a485[_0xcf9b('0x35')],'data3':members[_0x303aa6][_0xcf9b('0x31')]||_0x34a485[_0xcf9b('0x36')],'uniqueid':members[_0x303aa6][_0xcf9b('0x7')]||_0x34a485['uniqueid']});utils[_0xcf9b('0x4')](util[_0xcf9b('0x5')](_0xcf9b('0x32'),_0x34a485['uniqueid'],members[_0x303aa6][_0xcf9b('0x2f')],members[_0x303aa6][_0xcf9b('0x30')],members[_0x303aa6]['data3']));if(members[_0x303aa6]['exitAt']){writeDB(members[_0x303aa6]);}}}}catch(_0x49d21a){utils[_0xcf9b('0x13')](util[_0xcf9b('0x5')](_0xcf9b('0x2c'),_0x34a485['uniqueid']),_0x49d21a);}};