Built motion from commit (unavailable).|2.5.10
[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 _0x2a12=['format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','interface','channel','data2','type','getUserByInterface','then','membername','name','internal','request','CreateMemberReport','getUserByName','split','[%s][members][writeDB]','uniqueid','some','startsWith','devicestatechange','debug','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','voice','TALKING','now','agent','NOT_INUSE','isNil','exitAt','duration','error','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','[%s][members][agentcomplete]','[%s][members][cdr]','source','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','data1','data3','destinationchannel','lodash','util','./utils','Local/_attended@transfer','Queue:','info'];(function(_0x1f597b,_0x19e003){var _0x3e93c9=function(_0x506baf){while(--_0x506baf){_0x1f597b['push'](_0x1f597b['shift']());}};_0x3e93c9(++_0x19e003);}(_0x2a12,0x166));var _0x22a1=function(_0x5214b0,_0x546abd){_0x5214b0=_0x5214b0-0x0;var _0x58af72=_0x2a12[_0x5214b0];return _0x58af72;};'use strict';var _=require(_0x22a1('0x0'));var util=require(_0x22a1('0x1'));var utils=require(_0x22a1('0x2'));var members={};var exclude=[_0x22a1('0x3'),_0x22a1('0x4')];function writeDB(_0x4ba991){utils[_0x22a1('0x5')](util[_0x22a1('0x6')](_0x22a1('0x7'),_0x4ba991['uniqueid'],_0x4ba991[_0x22a1('0x8')],_0x4ba991[_0x22a1('0x9')],_0x4ba991[_0x22a1('0xa')],_0x4ba991['membername'],_0x4ba991[_0x22a1('0xb')]));if(_0x4ba991[_0x22a1('0x8')]){utils[_0x22a1('0xc')](_0x4ba991[_0x22a1('0x8')])[_0x22a1('0xd')](function(_0x4f0a10){if(_0x4f0a10){_0x4ba991[_0x22a1('0xe')]=_0x4f0a10[_0x22a1('0xf')];_0x4ba991[_0x22a1('0x10')]=_0x4f0a10[_0x22a1('0x10')];utils[_0x22a1('0x11')](_0x22a1('0x12'),_0x4ba991);}else{utils[_0x22a1('0x13')](_0x4ba991[_0x22a1('0x8')][_0x22a1('0x14')]('/')[0x1])[_0x22a1('0xd')](function(_0x4f7041){if(_0x4f7041){_0x4ba991[_0x22a1('0xe')]=_0x4f7041['name'];_0x4ba991['internal']=_0x4f7041[_0x22a1('0x10')];utils['request'](_0x22a1('0x12'),_0x4ba991);}});}})['catch'](function(_0x2e9abb){utils['error'](util[_0x22a1('0x6')](_0x22a1('0x15'),_0x4ba991[_0x22a1('0x16')]),_0x2e9abb);});}delete members[_0x4ba991[_0x22a1('0x8')]];}function startsWith(_0x4b17bf,_0x2af647){return _[_0x22a1('0x17')](_0x4b17bf,function(_0xe15d31){return _[_0x22a1('0x18')](_0x2af647,_0xe15d31);});}exports[_0x22a1('0x19')]=function(_0x2e7f8c){try{utils[_0x22a1('0x1a')](util[_0x22a1('0x6')](_0x22a1('0x1b'),members[_0x2e7f8c[_0x22a1('0x1c')]]?members[_0x2e7f8c[_0x22a1('0x1c')]][_0x22a1('0x16')]:_0x2e7f8c[_0x22a1('0x1c')]),_0x2e7f8c);utils[_0x22a1('0x5')](util[_0x22a1('0x6')](_0x22a1('0x1d'),members[_0x2e7f8c['device']]?members[_0x2e7f8c['device']][_0x22a1('0x16')]:_0x2e7f8c[_0x22a1('0x1c')],_0x2e7f8c[_0x22a1('0x1e')],_0x2e7f8c['device']));switch(_0x2e7f8c['state']){case _0x22a1('0x1f'):case'BUSY':if(!startsWith(exclude,_0x2e7f8c[_0x22a1('0x1c')])){members[_0x2e7f8c['device']]={'channel':_0x22a1('0x20'),'interface':_0x2e7f8c[_0x22a1('0x1c')],'type':_0x22a1('0x21'),'enterAt':utils[_0x22a1('0x22')](),'role':_0x22a1('0x23')};}break;case _0x22a1('0x24'):if(!_[_0x22a1('0x25')](members[_0x2e7f8c[_0x22a1('0x1c')]])){members[_0x2e7f8c['device']][_0x22a1('0x26')]=utils['now']();members[_0x2e7f8c[_0x22a1('0x1c')]][_0x22a1('0x27')]=utils['diffTime'](members[_0x2e7f8c[_0x22a1('0x1c')]][_0x22a1('0x26')],members[_0x2e7f8c['device']]['enterAt']);if(members[_0x2e7f8c[_0x22a1('0x1c')]][_0x22a1('0x16')]){writeDB(members[_0x2e7f8c[_0x22a1('0x1c')]]);}}break;default:break;}}catch(_0x1c4465){utils[_0x22a1('0x28')](util[_0x22a1('0x6')](_0x22a1('0x1b'),members[_0x2e7f8c['device']]?members[_0x2e7f8c[_0x22a1('0x1c')]][_0x22a1('0x16')]:_0x2e7f8c['device']),_0x1c4465);}};exports['agentcomplete']=function(_0x240e20){try{if(!_[_0x22a1('0x25')](members[_0x240e20[_0x22a1('0x8')]])){utils[_0x22a1('0x1a')](util[_0x22a1('0x6')]('[%s][members][agentcomplete]',_0x240e20[_0x22a1('0x16')]),_0x240e20);utils[_0x22a1('0x5')](util[_0x22a1('0x6')](_0x22a1('0x29'),_0x240e20['uniqueid'],_0x240e20[_0x22a1('0x8')],_0x240e20[_0x22a1('0x2a')]));members[_0x240e20['interface']]=_[_0x22a1('0x2b')](members[_0x240e20[_0x22a1('0x8')]],{'data4':_0x240e20[_0x22a1('0x2a')],'uniqueid':_0x240e20[_0x22a1('0x16')]});}}catch(_0x232622){utils[_0x22a1('0x28')](util['format'](_0x22a1('0x2c'),_0x240e20[_0x22a1('0x16')]),_0x232622);}};exports['cdr']=function(_0x3ba5de){try{utils[_0x22a1('0x1a')](util[_0x22a1('0x6')](_0x22a1('0x2d'),_0x3ba5de[_0x22a1('0x16')]),_0x3ba5de);if(_0x3ba5de[_0x22a1('0x9')]){var _0x3eeaed=_0x3ba5de[_0x22a1('0x9')]['split']('-')[0x0];if(!_[_0x22a1('0x25')](members[_0x3eeaed])){members[_0x3eeaed]=_[_0x22a1('0x2b')](members[_0x3eeaed],{'data1':members[_0x3eeaed]['data1']||_0x3ba5de[_0x22a1('0xb')],'data2':members[_0x3eeaed]['data2']||_0x3ba5de[_0x22a1('0x2e')],'data3':members[_0x3eeaed]['data3']||_0x3ba5de[_0x22a1('0x2f')],'uniqueid':members[_0x3eeaed][_0x22a1('0x16')]||_0x3ba5de['uniqueid']});utils[_0x22a1('0x5')](util[_0x22a1('0x6')](_0x22a1('0x30'),_0x3ba5de[_0x22a1('0x16')],members[_0x3eeaed][_0x22a1('0x31')],members[_0x3eeaed]['data2'],members[_0x3eeaed][_0x22a1('0x32')]));if(members[_0x3eeaed]['exitAt']){writeDB(members[_0x3eeaed]);}}}if(_0x3ba5de['destinationchannel']){var _0x33bee1=_0x3ba5de[_0x22a1('0x33')][_0x22a1('0x14')]('-')[0x0];if(!_[_0x22a1('0x25')](members[_0x33bee1])){members[_0x33bee1]=_[_0x22a1('0x2b')](members[_0x33bee1],{'data1':members[_0x33bee1][_0x22a1('0x31')]||_0x3ba5de['type'],'data2':members[_0x33bee1][_0x22a1('0xa')]||_0x3ba5de[_0x22a1('0x2e')],'data3':members[_0x33bee1][_0x22a1('0x32')]||_0x3ba5de[_0x22a1('0x2f')],'uniqueid':members[_0x33bee1]['uniqueid']||_0x3ba5de[_0x22a1('0x16')]});utils[_0x22a1('0x5')](util[_0x22a1('0x6')]('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x3ba5de['uniqueid'],members[_0x33bee1][_0x22a1('0x31')],members[_0x33bee1][_0x22a1('0xa')],members[_0x33bee1]['data3']));if(members[_0x33bee1][_0x22a1('0x26')]){writeDB(members[_0x33bee1]);}}}}catch(_0xa93429){utils['error'](util[_0x22a1('0x6')](_0x22a1('0x2d'),_0x3ba5de[_0x22a1('0x16')]),_0xa93429);}};