a692cbb0ad0de8487ee7702eb398804a92223adf
[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 _0xb620=['BUSY','voice','now','agent','NOT_INUSE','isNil','duration','diffTime','exitAt','agentcomplete','debug','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','cdr','[%s][members][cdr]','channel','data1','type','source','data3','destinationchannel','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','lodash','./utils','Local/_attended@transfer','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','data2','membername','getUserByInterface','then','internal','request','CreateMemberReport','split','name','error','[%s][members][writeDB]','some','devicestatechange','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state'];(function(_0x1d4a64,_0x26630c){var _0x576c75=function(_0x4dc282){while(--_0x4dc282){_0x1d4a64['push'](_0x1d4a64['shift']());}};_0x576c75(++_0x26630c);}(_0xb620,0x1a0));var _0x0b62=function(_0x3f8cc1,_0x458f70){_0x3f8cc1=_0x3f8cc1-0x0;var _0xd529c7=_0xb620[_0x3f8cc1];return _0xd529c7;};'use strict';var _=require(_0x0b62('0x0'));var util=require('util');var utils=require(_0x0b62('0x1'));var members={};var exclude=[_0x0b62('0x2'),'Queue:'];function writeDB(_0x305370){utils[_0x0b62('0x3')](util[_0x0b62('0x4')](_0x0b62('0x5'),_0x305370[_0x0b62('0x6')],_0x305370[_0x0b62('0x7')],_0x305370['channel'],_0x305370[_0x0b62('0x8')],_0x305370[_0x0b62('0x9')],_0x305370['type']));if(_0x305370['interface']){utils[_0x0b62('0xa')](_0x305370[_0x0b62('0x7')])[_0x0b62('0xb')](function(_0x278c97){if(_0x278c97){_0x305370[_0x0b62('0x9')]=_0x278c97['name'];_0x305370[_0x0b62('0xc')]=_0x278c97[_0x0b62('0xc')];utils[_0x0b62('0xd')](_0x0b62('0xe'),_0x305370);}else{utils['getUserByName'](_0x305370[_0x0b62('0x7')][_0x0b62('0xf')]('/')[0x1])[_0x0b62('0xb')](function(_0x364b15){if(_0x364b15){_0x305370[_0x0b62('0x9')]=_0x364b15[_0x0b62('0x10')];_0x305370[_0x0b62('0xc')]=_0x364b15[_0x0b62('0xc')];utils[_0x0b62('0xd')](_0x0b62('0xe'),_0x305370);}});}})['catch'](function(_0x29b567){utils[_0x0b62('0x11')](util['format'](_0x0b62('0x12'),_0x305370[_0x0b62('0x6')]),_0x29b567);});}delete members[_0x305370['interface']];}function startsWith(_0x5e4dfc,_0x4a8df6){return _[_0x0b62('0x13')](_0x5e4dfc,function(_0x297915){return _['startsWith'](_0x4a8df6,_0x297915);});}exports[_0x0b62('0x14')]=function(_0x58c82a){try{utils['debug'](util[_0x0b62('0x4')](_0x0b62('0x15'),members[_0x58c82a['device']]?members[_0x58c82a[_0x0b62('0x16')]][_0x0b62('0x6')]:_0x58c82a['device']),_0x58c82a);utils['info'](util[_0x0b62('0x4')](_0x0b62('0x17'),members[_0x58c82a['device']]?members[_0x58c82a[_0x0b62('0x16')]]['uniqueid']:_0x58c82a[_0x0b62('0x16')],_0x58c82a[_0x0b62('0x18')],_0x58c82a[_0x0b62('0x16')]));switch(_0x58c82a[_0x0b62('0x18')]){case'INUSE':case _0x0b62('0x19'):if(!startsWith(exclude,_0x58c82a[_0x0b62('0x16')])){members[_0x58c82a['device']]={'channel':_0x0b62('0x1a'),'interface':_0x58c82a['device'],'type':'TALKING','enterAt':utils[_0x0b62('0x1b')](),'role':_0x0b62('0x1c')};}break;case _0x0b62('0x1d'):if(!_[_0x0b62('0x1e')](members[_0x58c82a[_0x0b62('0x16')]])){members[_0x58c82a[_0x0b62('0x16')]]['exitAt']=utils[_0x0b62('0x1b')]();members[_0x58c82a[_0x0b62('0x16')]][_0x0b62('0x1f')]=utils[_0x0b62('0x20')](members[_0x58c82a[_0x0b62('0x16')]][_0x0b62('0x21')],members[_0x58c82a[_0x0b62('0x16')]]['enterAt']);if(members[_0x58c82a[_0x0b62('0x16')]][_0x0b62('0x6')]){writeDB(members[_0x58c82a[_0x0b62('0x16')]]);}}break;default:break;}}catch(_0x5576c4){utils['error'](util[_0x0b62('0x4')](_0x0b62('0x15'),members[_0x58c82a[_0x0b62('0x16')]]?members[_0x58c82a['device']][_0x0b62('0x6')]:_0x58c82a[_0x0b62('0x16')]),_0x5576c4);}};exports[_0x0b62('0x22')]=function(_0xb34d04){try{if(!_['isNil'](members[_0xb34d04[_0x0b62('0x7')]])){utils[_0x0b62('0x23')](util['format'](_0x0b62('0x24'),_0xb34d04[_0x0b62('0x6')]),_0xb34d04);utils[_0x0b62('0x3')](util[_0x0b62('0x4')](_0x0b62('0x25'),_0xb34d04[_0x0b62('0x6')],_0xb34d04[_0x0b62('0x7')],_0xb34d04[_0x0b62('0x26')]));members[_0xb34d04[_0x0b62('0x7')]]=_[_0x0b62('0x27')](members[_0xb34d04['interface']],{'data4':_0xb34d04[_0x0b62('0x26')],'uniqueid':_0xb34d04[_0x0b62('0x6')]});}}catch(_0x1ab358){utils['error'](util['format']('[%s][members][agentcomplete]',_0xb34d04[_0x0b62('0x6')]),_0x1ab358);}};exports[_0x0b62('0x28')]=function(_0x362c45){try{utils[_0x0b62('0x23')](util[_0x0b62('0x4')](_0x0b62('0x29'),_0x362c45[_0x0b62('0x6')]),_0x362c45);if(_0x362c45[_0x0b62('0x2a')]){var _0x22cedb=_0x362c45[_0x0b62('0x2a')][_0x0b62('0xf')]('-')[0x0];if(!_['isNil'](members[_0x22cedb])){members[_0x22cedb]=_[_0x0b62('0x27')](members[_0x22cedb],{'data1':members[_0x22cedb][_0x0b62('0x2b')]||_0x362c45[_0x0b62('0x2c')],'data2':members[_0x22cedb]['data2']||_0x362c45[_0x0b62('0x2d')],'data3':members[_0x22cedb][_0x0b62('0x2e')]||_0x362c45['destination'],'uniqueid':members[_0x22cedb][_0x0b62('0x6')]||_0x362c45['uniqueid']});utils['info'](util[_0x0b62('0x4')]('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x362c45[_0x0b62('0x6')],members[_0x22cedb]['data1'],members[_0x22cedb][_0x0b62('0x8')],members[_0x22cedb][_0x0b62('0x2e')]));if(members[_0x22cedb][_0x0b62('0x21')]){writeDB(members[_0x22cedb]);}}}if(_0x362c45[_0x0b62('0x2f')]){var _0x327e12=_0x362c45[_0x0b62('0x2f')]['split']('-')[0x0];if(!_[_0x0b62('0x1e')](members[_0x327e12])){members[_0x327e12]=_['assign'](members[_0x327e12],{'data1':members[_0x327e12][_0x0b62('0x2b')]||_0x362c45['type'],'data2':members[_0x327e12][_0x0b62('0x8')]||_0x362c45[_0x0b62('0x2d')],'data3':members[_0x327e12][_0x0b62('0x2e')]||_0x362c45['destination'],'uniqueid':members[_0x327e12][_0x0b62('0x6')]||_0x362c45[_0x0b62('0x6')]});utils[_0x0b62('0x3')](util[_0x0b62('0x4')](_0x0b62('0x30'),_0x362c45[_0x0b62('0x6')],members[_0x327e12][_0x0b62('0x2b')],members[_0x327e12]['data2'],members[_0x327e12]['data3']));if(members[_0x327e12][_0x0b62('0x21')]){writeDB(members[_0x327e12]);}}}}catch(_0x1a889e){utils[_0x0b62('0x11')](util[_0x0b62('0x4')](_0x0b62('0x29'),_0x362c45[_0x0b62('0x6')]),_0x1a889e);}};