Built motion from commit d32f51f5.|2.6.31
[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 _0x9585=['interface','data2','type','getUserByInterface','then','membername','name','request','CreateMemberReport','getUserByName','split','internal','catch','error','[%s][members][writeDB]','some','startsWith','devicestatechange','debug','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','voice','TALKING','isNil','exitAt','duration','diffTime','enterAt','agentcomplete','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','cdr','[%s][members][cdr]','channel','data1','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','source','util','Local/_attended@transfer','Queue:','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid'];(function(_0x5ec50b,_0x26dfe6){var _0x8e9dc1=function(_0x5c7106){while(--_0x5c7106){_0x5ec50b['push'](_0x5ec50b['shift']());}};_0x8e9dc1(++_0x26dfe6);}(_0x9585,0x15e));var _0x5958=function(_0x1f7f7a,_0x11f7b5){_0x1f7f7a=_0x1f7f7a-0x0;var _0x5d7149=_0x9585[_0x1f7f7a];return _0x5d7149;};'use strict';var _=require('lodash');var util=require(_0x5958('0x0'));var utils=require('./utils');var members={};var exclude=[_0x5958('0x1'),_0x5958('0x2')];function writeDB(_0x384f6c){utils[_0x5958('0x3')](util[_0x5958('0x4')](_0x5958('0x5'),_0x384f6c[_0x5958('0x6')],_0x384f6c[_0x5958('0x7')],_0x384f6c['channel'],_0x384f6c[_0x5958('0x8')],_0x384f6c['membername'],_0x384f6c[_0x5958('0x9')]));if(_0x384f6c[_0x5958('0x7')]){utils[_0x5958('0xa')](_0x384f6c['interface'])[_0x5958('0xb')](function(_0x59ff59){if(_0x59ff59){_0x384f6c[_0x5958('0xc')]=_0x59ff59[_0x5958('0xd')];_0x384f6c['internal']=_0x59ff59['internal'];utils[_0x5958('0xe')](_0x5958('0xf'),_0x384f6c);}else{utils[_0x5958('0x10')](_0x384f6c[_0x5958('0x7')][_0x5958('0x11')]('/')[0x1])['then'](function(_0x3a7edb){if(_0x3a7edb){_0x384f6c[_0x5958('0xc')]=_0x3a7edb[_0x5958('0xd')];_0x384f6c[_0x5958('0x12')]=_0x3a7edb[_0x5958('0x12')];utils['request']('CreateMemberReport',_0x384f6c);}});}})[_0x5958('0x13')](function(_0x3dbeda){utils[_0x5958('0x14')](util['format'](_0x5958('0x15'),_0x384f6c[_0x5958('0x6')]),_0x3dbeda);});}delete members[_0x384f6c[_0x5958('0x7')]];}function startsWith(_0x254811,_0x4cb05c){return _[_0x5958('0x16')](_0x254811,function(_0x1d2805){return _[_0x5958('0x17')](_0x4cb05c,_0x1d2805);});}exports[_0x5958('0x18')]=function(_0x2c9bcf){try{utils[_0x5958('0x19')](util['format'](_0x5958('0x1a'),members[_0x2c9bcf[_0x5958('0x1b')]]?members[_0x2c9bcf[_0x5958('0x1b')]][_0x5958('0x6')]:_0x2c9bcf[_0x5958('0x1b')]),_0x2c9bcf);utils['info'](util[_0x5958('0x4')](_0x5958('0x1c'),members[_0x2c9bcf[_0x5958('0x1b')]]?members[_0x2c9bcf[_0x5958('0x1b')]][_0x5958('0x6')]:_0x2c9bcf['device'],_0x2c9bcf[_0x5958('0x1d')],_0x2c9bcf['device']));switch(_0x2c9bcf['state']){case _0x5958('0x1e'):case'BUSY':if(!startsWith(exclude,_0x2c9bcf[_0x5958('0x1b')])){members[_0x2c9bcf[_0x5958('0x1b')]]={'channel':_0x5958('0x1f'),'interface':_0x2c9bcf[_0x5958('0x1b')],'type':_0x5958('0x20'),'enterAt':utils['now'](),'role':'agent'};}break;case'NOT_INUSE':if(!_[_0x5958('0x21')](members[_0x2c9bcf[_0x5958('0x1b')]])){members[_0x2c9bcf[_0x5958('0x1b')]][_0x5958('0x22')]=utils['now']();members[_0x2c9bcf[_0x5958('0x1b')]][_0x5958('0x23')]=utils[_0x5958('0x24')](members[_0x2c9bcf['device']][_0x5958('0x22')],members[_0x2c9bcf[_0x5958('0x1b')]][_0x5958('0x25')]);if(members[_0x2c9bcf[_0x5958('0x1b')]][_0x5958('0x6')]){writeDB(members[_0x2c9bcf[_0x5958('0x1b')]]);}}break;default:break;}}catch(_0x3afb9e){utils['error'](util['format'](_0x5958('0x1a'),members[_0x2c9bcf[_0x5958('0x1b')]]?members[_0x2c9bcf[_0x5958('0x1b')]]['uniqueid']:_0x2c9bcf[_0x5958('0x1b')]),_0x3afb9e);}};exports[_0x5958('0x26')]=function(_0xe3bef4){try{if(!_[_0x5958('0x21')](members[_0xe3bef4[_0x5958('0x7')]])){utils[_0x5958('0x19')](util[_0x5958('0x4')]('[%s][members][agentcomplete]',_0xe3bef4['uniqueid']),_0xe3bef4);utils[_0x5958('0x3')](util[_0x5958('0x4')](_0x5958('0x27'),_0xe3bef4['uniqueid'],_0xe3bef4['interface'],_0xe3bef4[_0x5958('0x28')]));members[_0xe3bef4[_0x5958('0x7')]]=_[_0x5958('0x29')](members[_0xe3bef4[_0x5958('0x7')]],{'data4':_0xe3bef4[_0x5958('0x28')],'uniqueid':_0xe3bef4[_0x5958('0x6')]});}}catch(_0x25a8d3){utils['error'](util[_0x5958('0x4')]('[%s][members][agentcomplete]',_0xe3bef4[_0x5958('0x6')]),_0x25a8d3);}};exports[_0x5958('0x2a')]=function(_0x5914f2){try{utils['debug'](util[_0x5958('0x4')](_0x5958('0x2b'),_0x5914f2[_0x5958('0x6')]),_0x5914f2);if(_0x5914f2[_0x5958('0x2c')]){var _0x416588=_0x5914f2['channel'][_0x5958('0x11')]('-')[0x0];if(!_[_0x5958('0x21')](members[_0x416588])){members[_0x416588]=_[_0x5958('0x29')](members[_0x416588],{'data1':members[_0x416588][_0x5958('0x2d')]||_0x5914f2[_0x5958('0x9')],'data2':members[_0x416588][_0x5958('0x8')]||_0x5914f2['source'],'data3':members[_0x416588][_0x5958('0x2e')]||_0x5914f2[_0x5958('0x2f')],'uniqueid':members[_0x416588][_0x5958('0x6')]||_0x5914f2[_0x5958('0x6')]});utils['info'](util['format'](_0x5958('0x30'),_0x5914f2[_0x5958('0x6')],members[_0x416588]['data1'],members[_0x416588][_0x5958('0x8')],members[_0x416588][_0x5958('0x2e')]));if(members[_0x416588][_0x5958('0x22')]){writeDB(members[_0x416588]);}}}if(_0x5914f2['destinationchannel']){var _0x40d75b=_0x5914f2[_0x5958('0x31')][_0x5958('0x11')]('-')[0x0];if(!_['isNil'](members[_0x40d75b])){members[_0x40d75b]=_[_0x5958('0x29')](members[_0x40d75b],{'data1':members[_0x40d75b][_0x5958('0x2d')]||_0x5914f2[_0x5958('0x9')],'data2':members[_0x40d75b][_0x5958('0x8')]||_0x5914f2[_0x5958('0x32')],'data3':members[_0x40d75b][_0x5958('0x2e')]||_0x5914f2[_0x5958('0x2f')],'uniqueid':members[_0x40d75b]['uniqueid']||_0x5914f2[_0x5958('0x6')]});utils[_0x5958('0x3')](util['format'](_0x5958('0x30'),_0x5914f2['uniqueid'],members[_0x40d75b][_0x5958('0x2d')],members[_0x40d75b]['data2'],members[_0x40d75b][_0x5958('0x2e')]));if(members[_0x40d75b][_0x5958('0x22')]){writeDB(members[_0x40d75b]);}}}}catch(_0x2b1b26){utils[_0x5958('0x14')](util['format'](_0x5958('0x2b'),_0x5914f2[_0x5958('0x6')]),_0x2b1b26);}};