Built motion from commit c738b9ac.|2.6.25
[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 _0x9c00=['destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','source','info','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','interface','channel','data2','membername','type','getUserByInterface','then','name','internal','getUserByName','split','CreateMemberReport','error','[%s][members][writeDB]','some','startsWith','debug','uniqueid','device','format','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','voice','TALKING','now','agent','isNil','exitAt','duration','diffTime','[%s][members][devicestatechange]','agentcomplete','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','cdr','[%s][members][cdr]','data1','data3'];(function(_0x39ded1,_0xaee436){var _0x2e248e=function(_0x193df3){while(--_0x193df3){_0x39ded1['push'](_0x39ded1['shift']());}};_0x2e248e(++_0xaee436);}(_0x9c00,0xf4));var _0x09c0=function(_0x39a04c,_0x2b4002){_0x39a04c=_0x39a04c-0x0;var _0x580cb0=_0x9c00[_0x39a04c];return _0x580cb0;};'use strict';var _=require('lodash');var util=require('util');var utils=require('./utils');var members={};var exclude=['Local/_attended@transfer','Queue:'];function writeDB(_0x19e8e1){utils[_0x09c0('0x0')](util['format'](_0x09c0('0x1'),_0x19e8e1['uniqueid'],_0x19e8e1[_0x09c0('0x2')],_0x19e8e1[_0x09c0('0x3')],_0x19e8e1[_0x09c0('0x4')],_0x19e8e1[_0x09c0('0x5')],_0x19e8e1[_0x09c0('0x6')]));if(_0x19e8e1[_0x09c0('0x2')]){utils[_0x09c0('0x7')](_0x19e8e1['interface'])[_0x09c0('0x8')](function(_0x2fe618){if(_0x2fe618){_0x19e8e1['membername']=_0x2fe618[_0x09c0('0x9')];_0x19e8e1[_0x09c0('0xa')]=_0x2fe618['internal'];utils['request']('CreateMemberReport',_0x19e8e1);}else{utils[_0x09c0('0xb')](_0x19e8e1[_0x09c0('0x2')][_0x09c0('0xc')]('/')[0x1])[_0x09c0('0x8')](function(_0x5444af){if(_0x5444af){_0x19e8e1[_0x09c0('0x5')]=_0x5444af[_0x09c0('0x9')];_0x19e8e1['internal']=_0x5444af[_0x09c0('0xa')];utils['request'](_0x09c0('0xd'),_0x19e8e1);}});}})['catch'](function(_0x361283){utils[_0x09c0('0xe')](util['format'](_0x09c0('0xf'),_0x19e8e1['uniqueid']),_0x361283);});}delete members[_0x19e8e1[_0x09c0('0x2')]];}function startsWith(_0x5df9a3,_0xfc5fe8){return _[_0x09c0('0x10')](_0x5df9a3,function(_0x300d00){return _[_0x09c0('0x11')](_0xfc5fe8,_0x300d00);});}exports['devicestatechange']=function(_0x4303ba){try{utils[_0x09c0('0x12')](util['format']('[%s][members][devicestatechange]',members[_0x4303ba['device']]?members[_0x4303ba['device']][_0x09c0('0x13')]:_0x4303ba[_0x09c0('0x14')]),_0x4303ba);utils['info'](util[_0x09c0('0x15')](_0x09c0('0x16'),members[_0x4303ba[_0x09c0('0x14')]]?members[_0x4303ba[_0x09c0('0x14')]]['uniqueid']:_0x4303ba[_0x09c0('0x14')],_0x4303ba['state'],_0x4303ba['device']));switch(_0x4303ba[_0x09c0('0x17')]){case _0x09c0('0x18'):case _0x09c0('0x19'):if(!startsWith(exclude,_0x4303ba[_0x09c0('0x14')])){members[_0x4303ba[_0x09c0('0x14')]]={'channel':_0x09c0('0x1a'),'interface':_0x4303ba[_0x09c0('0x14')],'type':_0x09c0('0x1b'),'enterAt':utils[_0x09c0('0x1c')](),'role':_0x09c0('0x1d')};}break;case'NOT_INUSE':if(!_[_0x09c0('0x1e')](members[_0x4303ba[_0x09c0('0x14')]])){members[_0x4303ba[_0x09c0('0x14')]][_0x09c0('0x1f')]=utils[_0x09c0('0x1c')]();members[_0x4303ba['device']][_0x09c0('0x20')]=utils[_0x09c0('0x21')](members[_0x4303ba[_0x09c0('0x14')]][_0x09c0('0x1f')],members[_0x4303ba[_0x09c0('0x14')]]['enterAt']);if(members[_0x4303ba[_0x09c0('0x14')]]['uniqueid']){writeDB(members[_0x4303ba[_0x09c0('0x14')]]);}}break;default:break;}}catch(_0x5dbb3b){utils[_0x09c0('0xe')](util[_0x09c0('0x15')](_0x09c0('0x22'),members[_0x4303ba['device']]?members[_0x4303ba[_0x09c0('0x14')]][_0x09c0('0x13')]:_0x4303ba[_0x09c0('0x14')]),_0x5dbb3b);}};exports[_0x09c0('0x23')]=function(_0x3f7c7b){try{if(!_[_0x09c0('0x1e')](members[_0x3f7c7b[_0x09c0('0x2')]])){utils[_0x09c0('0x12')](util['format'](_0x09c0('0x24'),_0x3f7c7b[_0x09c0('0x13')]),_0x3f7c7b);utils[_0x09c0('0x0')](util[_0x09c0('0x15')](_0x09c0('0x25'),_0x3f7c7b['uniqueid'],_0x3f7c7b['interface'],_0x3f7c7b[_0x09c0('0x26')]));members[_0x3f7c7b[_0x09c0('0x2')]]=_[_0x09c0('0x27')](members[_0x3f7c7b[_0x09c0('0x2')]],{'data4':_0x3f7c7b[_0x09c0('0x26')],'uniqueid':_0x3f7c7b[_0x09c0('0x13')]});}}catch(_0x1dba64){utils[_0x09c0('0xe')](util[_0x09c0('0x15')](_0x09c0('0x24'),_0x3f7c7b['uniqueid']),_0x1dba64);}};exports[_0x09c0('0x28')]=function(_0x43c1a0){try{utils[_0x09c0('0x12')](util['format'](_0x09c0('0x29'),_0x43c1a0[_0x09c0('0x13')]),_0x43c1a0);if(_0x43c1a0[_0x09c0('0x3')]){var _0x5254c1=_0x43c1a0[_0x09c0('0x3')][_0x09c0('0xc')]('-')[0x0];if(!_[_0x09c0('0x1e')](members[_0x5254c1])){members[_0x5254c1]=_[_0x09c0('0x27')](members[_0x5254c1],{'data1':members[_0x5254c1][_0x09c0('0x2a')]||_0x43c1a0[_0x09c0('0x6')],'data2':members[_0x5254c1][_0x09c0('0x4')]||_0x43c1a0['source'],'data3':members[_0x5254c1][_0x09c0('0x2b')]||_0x43c1a0[_0x09c0('0x2c')],'uniqueid':members[_0x5254c1][_0x09c0('0x13')]||_0x43c1a0[_0x09c0('0x13')]});utils[_0x09c0('0x0')](util[_0x09c0('0x15')](_0x09c0('0x2d'),_0x43c1a0[_0x09c0('0x13')],members[_0x5254c1][_0x09c0('0x2a')],members[_0x5254c1]['data2'],members[_0x5254c1][_0x09c0('0x2b')]));if(members[_0x5254c1][_0x09c0('0x1f')]){writeDB(members[_0x5254c1]);}}}if(_0x43c1a0[_0x09c0('0x2e')]){var _0x5c3617=_0x43c1a0[_0x09c0('0x2e')]['split']('-')[0x0];if(!_[_0x09c0('0x1e')](members[_0x5c3617])){members[_0x5c3617]=_[_0x09c0('0x27')](members[_0x5c3617],{'data1':members[_0x5c3617][_0x09c0('0x2a')]||_0x43c1a0[_0x09c0('0x6')],'data2':members[_0x5c3617][_0x09c0('0x4')]||_0x43c1a0[_0x09c0('0x2f')],'data3':members[_0x5c3617][_0x09c0('0x2b')]||_0x43c1a0[_0x09c0('0x2c')],'uniqueid':members[_0x5c3617][_0x09c0('0x13')]||_0x43c1a0[_0x09c0('0x13')]});utils['info'](util['format'](_0x09c0('0x2d'),_0x43c1a0[_0x09c0('0x13')],members[_0x5c3617]['data1'],members[_0x5c3617][_0x09c0('0x4')],members[_0x5c3617][_0x09c0('0x2b')]));if(members[_0x5c3617]['exitAt']){writeDB(members[_0x5c3617]);}}}}catch(_0x289376){utils[_0x09c0('0xe')](util[_0x09c0('0x15')]('[%s][members][cdr]',_0x43c1a0[_0x09c0('0x13')]),_0x289376);}};