Built motion from commit c1aa34a0.|2.6.28
[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 _0x914c=['[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','cdr','channel','split','data1','type','source','destination','data3','exitAt','destinationchannel','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','[%s][members][cdr]','lodash','util','./utils','Local/_attended@transfer','Queue:','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','data2','membername','then','request','CreateMemberReport','getUserByName','name','internal','catch','error','[%s][members][writeDB]','some','startsWith','devicestatechange','debug','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','voice','TALKING','now','agent','NOT_INUSE','isNil','diffTime','agentcomplete','[%s][members][agentcomplete]'];(function(_0x47712e,_0xcdea4){var _0x46b9cc=function(_0x5c29e8){while(--_0x5c29e8){_0x47712e['push'](_0x47712e['shift']());}};_0x46b9cc(++_0xcdea4);}(_0x914c,0x122));var _0xc914=function(_0x4ae6ef,_0xc2af80){_0x4ae6ef=_0x4ae6ef-0x0;var _0x3cbb4e=_0x914c[_0x4ae6ef];return _0x3cbb4e;};'use strict';var _=require(_0xc914('0x0'));var util=require(_0xc914('0x1'));var utils=require(_0xc914('0x2'));var members={};var exclude=[_0xc914('0x3'),_0xc914('0x4')];function writeDB(_0xd992ca){utils[_0xc914('0x5')](util[_0xc914('0x6')](_0xc914('0x7'),_0xd992ca[_0xc914('0x8')],_0xd992ca[_0xc914('0x9')],_0xd992ca['channel'],_0xd992ca[_0xc914('0xa')],_0xd992ca[_0xc914('0xb')],_0xd992ca['type']));if(_0xd992ca[_0xc914('0x9')]){utils['getUserByInterface'](_0xd992ca[_0xc914('0x9')])[_0xc914('0xc')](function(_0x453362){if(_0x453362){_0xd992ca[_0xc914('0xb')]=_0x453362['name'];_0xd992ca['internal']=_0x453362['internal'];utils[_0xc914('0xd')](_0xc914('0xe'),_0xd992ca);}else{utils[_0xc914('0xf')](_0xd992ca['interface']['split']('/')[0x1])[_0xc914('0xc')](function(_0x438aa5){if(_0x438aa5){_0xd992ca[_0xc914('0xb')]=_0x438aa5[_0xc914('0x10')];_0xd992ca['internal']=_0x438aa5[_0xc914('0x11')];utils[_0xc914('0xd')]('CreateMemberReport',_0xd992ca);}});}})[_0xc914('0x12')](function(_0x22bd8a){utils[_0xc914('0x13')](util[_0xc914('0x6')](_0xc914('0x14'),_0xd992ca['uniqueid']),_0x22bd8a);});}delete members[_0xd992ca[_0xc914('0x9')]];}function startsWith(_0x241588,_0x109109){return _[_0xc914('0x15')](_0x241588,function(_0x243ed7){return _[_0xc914('0x16')](_0x109109,_0x243ed7);});}exports[_0xc914('0x17')]=function(_0x5b9e53){try{utils[_0xc914('0x18')](util[_0xc914('0x6')](_0xc914('0x19'),members[_0x5b9e53[_0xc914('0x1a')]]?members[_0x5b9e53[_0xc914('0x1a')]][_0xc914('0x8')]:_0x5b9e53[_0xc914('0x1a')]),_0x5b9e53);utils[_0xc914('0x5')](util[_0xc914('0x6')](_0xc914('0x1b'),members[_0x5b9e53['device']]?members[_0x5b9e53[_0xc914('0x1a')]][_0xc914('0x8')]:_0x5b9e53[_0xc914('0x1a')],_0x5b9e53[_0xc914('0x1c')],_0x5b9e53[_0xc914('0x1a')]));switch(_0x5b9e53[_0xc914('0x1c')]){case _0xc914('0x1d'):case _0xc914('0x1e'):if(!startsWith(exclude,_0x5b9e53[_0xc914('0x1a')])){members[_0x5b9e53[_0xc914('0x1a')]]={'channel':_0xc914('0x1f'),'interface':_0x5b9e53['device'],'type':_0xc914('0x20'),'enterAt':utils[_0xc914('0x21')](),'role':_0xc914('0x22')};}break;case _0xc914('0x23'):if(!_[_0xc914('0x24')](members[_0x5b9e53['device']])){members[_0x5b9e53[_0xc914('0x1a')]]['exitAt']=utils['now']();members[_0x5b9e53['device']]['duration']=utils[_0xc914('0x25')](members[_0x5b9e53[_0xc914('0x1a')]]['exitAt'],members[_0x5b9e53[_0xc914('0x1a')]]['enterAt']);if(members[_0x5b9e53['device']][_0xc914('0x8')]){writeDB(members[_0x5b9e53[_0xc914('0x1a')]]);}}break;default:break;}}catch(_0xb00998){utils[_0xc914('0x13')](util[_0xc914('0x6')]('[%s][members][devicestatechange]',members[_0x5b9e53[_0xc914('0x1a')]]?members[_0x5b9e53[_0xc914('0x1a')]][_0xc914('0x8')]:_0x5b9e53[_0xc914('0x1a')]),_0xb00998);}};exports[_0xc914('0x26')]=function(_0x126201){try{if(!_[_0xc914('0x24')](members[_0x126201[_0xc914('0x9')]])){utils[_0xc914('0x18')](util[_0xc914('0x6')](_0xc914('0x27'),_0x126201[_0xc914('0x8')]),_0x126201);utils['info'](util[_0xc914('0x6')](_0xc914('0x28'),_0x126201[_0xc914('0x8')],_0x126201[_0xc914('0x9')],_0x126201[_0xc914('0x29')]));members[_0x126201[_0xc914('0x9')]]=_[_0xc914('0x2a')](members[_0x126201[_0xc914('0x9')]],{'data4':_0x126201[_0xc914('0x29')],'uniqueid':_0x126201[_0xc914('0x8')]});}}catch(_0x121a64){utils[_0xc914('0x13')](util[_0xc914('0x6')](_0xc914('0x27'),_0x126201[_0xc914('0x8')]),_0x121a64);}};exports[_0xc914('0x2b')]=function(_0x3e445d){try{utils['debug'](util[_0xc914('0x6')]('[%s][members][cdr]',_0x3e445d[_0xc914('0x8')]),_0x3e445d);if(_0x3e445d[_0xc914('0x2c')]){var _0x18b36f=_0x3e445d[_0xc914('0x2c')][_0xc914('0x2d')]('-')[0x0];if(!_[_0xc914('0x24')](members[_0x18b36f])){members[_0x18b36f]=_['assign'](members[_0x18b36f],{'data1':members[_0x18b36f][_0xc914('0x2e')]||_0x3e445d[_0xc914('0x2f')],'data2':members[_0x18b36f][_0xc914('0xa')]||_0x3e445d[_0xc914('0x30')],'data3':members[_0x18b36f]['data3']||_0x3e445d[_0xc914('0x31')],'uniqueid':members[_0x18b36f][_0xc914('0x8')]||_0x3e445d[_0xc914('0x8')]});utils[_0xc914('0x5')](util[_0xc914('0x6')]('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x3e445d['uniqueid'],members[_0x18b36f]['data1'],members[_0x18b36f]['data2'],members[_0x18b36f][_0xc914('0x32')]));if(members[_0x18b36f][_0xc914('0x33')]){writeDB(members[_0x18b36f]);}}}if(_0x3e445d[_0xc914('0x34')]){var _0x325c0a=_0x3e445d[_0xc914('0x34')][_0xc914('0x2d')]('-')[0x0];if(!_['isNil'](members[_0x325c0a])){members[_0x325c0a]=_[_0xc914('0x2a')](members[_0x325c0a],{'data1':members[_0x325c0a][_0xc914('0x2e')]||_0x3e445d[_0xc914('0x2f')],'data2':members[_0x325c0a]['data2']||_0x3e445d['source'],'data3':members[_0x325c0a]['data3']||_0x3e445d[_0xc914('0x31')],'uniqueid':members[_0x325c0a][_0xc914('0x8')]||_0x3e445d['uniqueid']});utils[_0xc914('0x5')](util['format'](_0xc914('0x35'),_0x3e445d[_0xc914('0x8')],members[_0x325c0a][_0xc914('0x2e')],members[_0x325c0a][_0xc914('0xa')],members[_0x325c0a][_0xc914('0x32')]));if(members[_0x325c0a][_0xc914('0x33')]){writeDB(members[_0x325c0a]);}}}}catch(_0x6cc3eb){utils[_0xc914('0x13')](util[_0xc914('0x6')](_0xc914('0x36'),_0x3e445d['uniqueid']),_0x6cc3eb);}};