Built motion from commit (unavailable).|2.5.21
[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 _0x2f47=['destination','[%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','channel','data2','membername','type','interface','getUserByInterface','then','name','internal','request','CreateMemberReport','getUserByName','split','error','[%s][members][writeDB]','some','startsWith','devicestatechange','debug','[%s][members][devicestatechange]','device','uniqueid','state','INUSE','BUSY','voice','TALKING','NOT_INUSE','isNil','now','duration','diffTime','exitAt','enterAt','[%s][members][agentcomplete]','assign','queue','cdr','data1','source','data3'];(function(_0x5c4dfc,_0x1762bc){var _0x2a4096=function(_0x2cfada){while(--_0x2cfada){_0x5c4dfc['push'](_0x5c4dfc['shift']());}};_0x2a4096(++_0x1762bc);}(_0x2f47,0x107));var _0x72f4=function(_0xb6e90b,_0x598cdd){_0xb6e90b=_0xb6e90b-0x0;var _0x2a5b7d=_0x2f47[_0xb6e90b];return _0x2a5b7d;};'use strict';var _=require(_0x72f4('0x0'));var util=require(_0x72f4('0x1'));var utils=require(_0x72f4('0x2'));var members={};var exclude=[_0x72f4('0x3'),_0x72f4('0x4')];function writeDB(_0x3af4fb){utils[_0x72f4('0x5')](util[_0x72f4('0x6')](_0x72f4('0x7'),_0x3af4fb['uniqueid'],_0x3af4fb['interface'],_0x3af4fb[_0x72f4('0x8')],_0x3af4fb[_0x72f4('0x9')],_0x3af4fb[_0x72f4('0xa')],_0x3af4fb[_0x72f4('0xb')]));if(_0x3af4fb[_0x72f4('0xc')]){utils[_0x72f4('0xd')](_0x3af4fb[_0x72f4('0xc')])[_0x72f4('0xe')](function(_0xfef841){if(_0xfef841){_0x3af4fb[_0x72f4('0xa')]=_0xfef841[_0x72f4('0xf')];_0x3af4fb[_0x72f4('0x10')]=_0xfef841[_0x72f4('0x10')];utils[_0x72f4('0x11')](_0x72f4('0x12'),_0x3af4fb);}else{utils[_0x72f4('0x13')](_0x3af4fb['interface'][_0x72f4('0x14')]('/')[0x1])[_0x72f4('0xe')](function(_0x31633c){if(_0x31633c){_0x3af4fb[_0x72f4('0xa')]=_0x31633c['name'];_0x3af4fb[_0x72f4('0x10')]=_0x31633c[_0x72f4('0x10')];utils[_0x72f4('0x11')]('CreateMemberReport',_0x3af4fb);}});}})['catch'](function(_0x3961f7){utils[_0x72f4('0x15')](util[_0x72f4('0x6')](_0x72f4('0x16'),_0x3af4fb['uniqueid']),_0x3961f7);});}delete members[_0x3af4fb['interface']];}function startsWith(_0xd405b3,_0xbd5e0e){return _[_0x72f4('0x17')](_0xd405b3,function(_0x32e4fe){return _[_0x72f4('0x18')](_0xbd5e0e,_0x32e4fe);});}exports[_0x72f4('0x19')]=function(_0xf6686c){try{utils[_0x72f4('0x1a')](util[_0x72f4('0x6')](_0x72f4('0x1b'),members[_0xf6686c[_0x72f4('0x1c')]]?members[_0xf6686c[_0x72f4('0x1c')]]['uniqueid']:_0xf6686c[_0x72f4('0x1c')]),_0xf6686c);utils[_0x72f4('0x5')](util[_0x72f4('0x6')]('[%s][members][devicestatechange]\x20state:%s\x20interface:%s',members[_0xf6686c[_0x72f4('0x1c')]]?members[_0xf6686c[_0x72f4('0x1c')]][_0x72f4('0x1d')]:_0xf6686c[_0x72f4('0x1c')],_0xf6686c[_0x72f4('0x1e')],_0xf6686c[_0x72f4('0x1c')]));switch(_0xf6686c[_0x72f4('0x1e')]){case _0x72f4('0x1f'):case _0x72f4('0x20'):if(!startsWith(exclude,_0xf6686c[_0x72f4('0x1c')])){members[_0xf6686c[_0x72f4('0x1c')]]={'channel':_0x72f4('0x21'),'interface':_0xf6686c[_0x72f4('0x1c')],'type':_0x72f4('0x22'),'enterAt':utils['now'](),'role':'agent'};}break;case _0x72f4('0x23'):if(!_[_0x72f4('0x24')](members[_0xf6686c[_0x72f4('0x1c')]])){members[_0xf6686c['device']]['exitAt']=utils[_0x72f4('0x25')]();members[_0xf6686c[_0x72f4('0x1c')]][_0x72f4('0x26')]=utils[_0x72f4('0x27')](members[_0xf6686c[_0x72f4('0x1c')]][_0x72f4('0x28')],members[_0xf6686c['device']][_0x72f4('0x29')]);if(members[_0xf6686c[_0x72f4('0x1c')]]['uniqueid']){writeDB(members[_0xf6686c[_0x72f4('0x1c')]]);}}break;default:break;}}catch(_0x5759e1){utils['error'](util[_0x72f4('0x6')](_0x72f4('0x1b'),members[_0xf6686c[_0x72f4('0x1c')]]?members[_0xf6686c[_0x72f4('0x1c')]][_0x72f4('0x1d')]:_0xf6686c['device']),_0x5759e1);}};exports['agentcomplete']=function(_0x506257){try{if(!_['isNil'](members[_0x506257[_0x72f4('0xc')]])){utils['debug'](util['format'](_0x72f4('0x2a'),_0x506257[_0x72f4('0x1d')]),_0x506257);utils[_0x72f4('0x5')](util[_0x72f4('0x6')]('[%s][members][agentcomplete]\x20interface:%s\x20queue:%s',_0x506257[_0x72f4('0x1d')],_0x506257[_0x72f4('0xc')],_0x506257['queue']));members[_0x506257[_0x72f4('0xc')]]=_[_0x72f4('0x2b')](members[_0x506257[_0x72f4('0xc')]],{'data4':_0x506257[_0x72f4('0x2c')],'uniqueid':_0x506257['uniqueid']});}}catch(_0x5f0b68){utils[_0x72f4('0x15')](util[_0x72f4('0x6')](_0x72f4('0x2a'),_0x506257[_0x72f4('0x1d')]),_0x5f0b68);}};exports[_0x72f4('0x2d')]=function(_0x2d0e55){try{utils[_0x72f4('0x1a')](util[_0x72f4('0x6')]('[%s][members][cdr]',_0x2d0e55[_0x72f4('0x1d')]),_0x2d0e55);if(_0x2d0e55['channel']){var _0x525726=_0x2d0e55['channel'][_0x72f4('0x14')]('-')[0x0];if(!_[_0x72f4('0x24')](members[_0x525726])){members[_0x525726]=_[_0x72f4('0x2b')](members[_0x525726],{'data1':members[_0x525726][_0x72f4('0x2e')]||_0x2d0e55['type'],'data2':members[_0x525726][_0x72f4('0x9')]||_0x2d0e55[_0x72f4('0x2f')],'data3':members[_0x525726][_0x72f4('0x30')]||_0x2d0e55[_0x72f4('0x31')],'uniqueid':members[_0x525726][_0x72f4('0x1d')]||_0x2d0e55['uniqueid']});utils[_0x72f4('0x5')](util[_0x72f4('0x6')](_0x72f4('0x32'),_0x2d0e55[_0x72f4('0x1d')],members[_0x525726][_0x72f4('0x2e')],members[_0x525726][_0x72f4('0x9')],members[_0x525726]['data3']));if(members[_0x525726][_0x72f4('0x28')]){writeDB(members[_0x525726]);}}}if(_0x2d0e55['destinationchannel']){var _0x11ef68=_0x2d0e55['destinationchannel']['split']('-')[0x0];if(!_[_0x72f4('0x24')](members[_0x11ef68])){members[_0x11ef68]=_[_0x72f4('0x2b')](members[_0x11ef68],{'data1':members[_0x11ef68]['data1']||_0x2d0e55['type'],'data2':members[_0x11ef68][_0x72f4('0x9')]||_0x2d0e55[_0x72f4('0x2f')],'data3':members[_0x11ef68][_0x72f4('0x30')]||_0x2d0e55[_0x72f4('0x31')],'uniqueid':members[_0x11ef68][_0x72f4('0x1d')]||_0x2d0e55['uniqueid']});utils[_0x72f4('0x5')](util[_0x72f4('0x6')]('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x2d0e55[_0x72f4('0x1d')],members[_0x11ef68][_0x72f4('0x2e')],members[_0x11ef68][_0x72f4('0x9')],members[_0x11ef68][_0x72f4('0x30')]));if(members[_0x11ef68]['exitAt']){writeDB(members[_0x11ef68]);}}}}catch(_0x59711a){utils['error'](util[_0x72f4('0x6')](_0x72f4('0x33'),_0x2d0e55[_0x72f4('0x1d')]),_0x59711a);}};