Built motion from commit 14588770.|2.5.38
[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 _0x4343=['internal','request','CreateMemberReport','getUserByName','split','catch','error','[%s][members][writeDB]','uniqueid','some','startsWith','devicestatechange','debug','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','voice','TALKING','agent','NOT_INUSE','isNil','exitAt','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','cdr','[%s][members][cdr]','data1','type','source','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','data3','destinationchannel','destination','lodash','./utils','Local/_attended@transfer','Queue:','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','interface','channel','data2','membername','getUserByInterface','then'];(function(_0x70fd53,_0x2a95a6){var _0x4b71c5=function(_0x4b349d){while(--_0x4b349d){_0x70fd53['push'](_0x70fd53['shift']());}};_0x4b71c5(++_0x2a95a6);}(_0x4343,0x158));var _0x3434=function(_0x1d7b39,_0x4774a9){_0x1d7b39=_0x1d7b39-0x0;var _0x1f8eae=_0x4343[_0x1d7b39];return _0x1f8eae;};'use strict';var _=require(_0x3434('0x0'));var util=require('util');var utils=require(_0x3434('0x1'));var members={};var exclude=[_0x3434('0x2'),_0x3434('0x3')];function writeDB(_0x388c27){utils[_0x3434('0x4')](util[_0x3434('0x5')](_0x3434('0x6'),_0x388c27['uniqueid'],_0x388c27[_0x3434('0x7')],_0x388c27[_0x3434('0x8')],_0x388c27[_0x3434('0x9')],_0x388c27[_0x3434('0xa')],_0x388c27['type']));if(_0x388c27['interface']){utils[_0x3434('0xb')](_0x388c27[_0x3434('0x7')])[_0x3434('0xc')](function(_0x5c4831){if(_0x5c4831){_0x388c27[_0x3434('0xa')]=_0x5c4831['name'];_0x388c27[_0x3434('0xd')]=_0x5c4831[_0x3434('0xd')];utils[_0x3434('0xe')](_0x3434('0xf'),_0x388c27);}else{utils[_0x3434('0x10')](_0x388c27[_0x3434('0x7')][_0x3434('0x11')]('/')[0x1])[_0x3434('0xc')](function(_0x77a12a){if(_0x77a12a){_0x388c27[_0x3434('0xa')]=_0x77a12a['name'];_0x388c27['internal']=_0x77a12a['internal'];utils['request']('CreateMemberReport',_0x388c27);}});}})[_0x3434('0x12')](function(_0x4fb023){utils[_0x3434('0x13')](util[_0x3434('0x5')](_0x3434('0x14'),_0x388c27[_0x3434('0x15')]),_0x4fb023);});}delete members[_0x388c27[_0x3434('0x7')]];}function startsWith(_0x4ff05f,_0x4b25af){return _[_0x3434('0x16')](_0x4ff05f,function(_0xc1bf70){return _[_0x3434('0x17')](_0x4b25af,_0xc1bf70);});}exports[_0x3434('0x18')]=function(_0xbc143f){try{utils[_0x3434('0x19')](util['format'](_0x3434('0x1a'),members[_0xbc143f[_0x3434('0x1b')]]?members[_0xbc143f[_0x3434('0x1b')]]['uniqueid']:_0xbc143f[_0x3434('0x1b')]),_0xbc143f);utils[_0x3434('0x4')](util[_0x3434('0x5')](_0x3434('0x1c'),members[_0xbc143f[_0x3434('0x1b')]]?members[_0xbc143f[_0x3434('0x1b')]][_0x3434('0x15')]:_0xbc143f[_0x3434('0x1b')],_0xbc143f['state'],_0xbc143f['device']));switch(_0xbc143f[_0x3434('0x1d')]){case _0x3434('0x1e'):case _0x3434('0x1f'):if(!startsWith(exclude,_0xbc143f[_0x3434('0x1b')])){members[_0xbc143f[_0x3434('0x1b')]]={'channel':_0x3434('0x20'),'interface':_0xbc143f[_0x3434('0x1b')],'type':_0x3434('0x21'),'enterAt':utils['now'](),'role':_0x3434('0x22')};}break;case _0x3434('0x23'):if(!_[_0x3434('0x24')](members[_0xbc143f['device']])){members[_0xbc143f[_0x3434('0x1b')]][_0x3434('0x25')]=utils['now']();members[_0xbc143f[_0x3434('0x1b')]]['duration']=utils['diffTime'](members[_0xbc143f[_0x3434('0x1b')]][_0x3434('0x25')],members[_0xbc143f[_0x3434('0x1b')]]['enterAt']);if(members[_0xbc143f[_0x3434('0x1b')]][_0x3434('0x15')]){writeDB(members[_0xbc143f[_0x3434('0x1b')]]);}}break;default:break;}}catch(_0x2b40d3){utils[_0x3434('0x13')](util[_0x3434('0x5')](_0x3434('0x1a'),members[_0xbc143f[_0x3434('0x1b')]]?members[_0xbc143f[_0x3434('0x1b')]][_0x3434('0x15')]:_0xbc143f['device']),_0x2b40d3);}};exports['agentcomplete']=function(_0x23e537){try{if(!_[_0x3434('0x24')](members[_0x23e537[_0x3434('0x7')]])){utils[_0x3434('0x19')](util[_0x3434('0x5')](_0x3434('0x26'),_0x23e537[_0x3434('0x15')]),_0x23e537);utils[_0x3434('0x4')](util[_0x3434('0x5')](_0x3434('0x27'),_0x23e537['uniqueid'],_0x23e537['interface'],_0x23e537[_0x3434('0x28')]));members[_0x23e537['interface']]=_[_0x3434('0x29')](members[_0x23e537['interface']],{'data4':_0x23e537[_0x3434('0x28')],'uniqueid':_0x23e537[_0x3434('0x15')]});}}catch(_0x32c3ec){utils['error'](util[_0x3434('0x5')](_0x3434('0x26'),_0x23e537[_0x3434('0x15')]),_0x32c3ec);}};exports[_0x3434('0x2a')]=function(_0x230c49){try{utils[_0x3434('0x19')](util[_0x3434('0x5')](_0x3434('0x2b'),_0x230c49[_0x3434('0x15')]),_0x230c49);if(_0x230c49[_0x3434('0x8')]){var _0x9e48fc=_0x230c49[_0x3434('0x8')][_0x3434('0x11')]('-')[0x0];if(!_[_0x3434('0x24')](members[_0x9e48fc])){members[_0x9e48fc]=_[_0x3434('0x29')](members[_0x9e48fc],{'data1':members[_0x9e48fc][_0x3434('0x2c')]||_0x230c49[_0x3434('0x2d')],'data2':members[_0x9e48fc][_0x3434('0x9')]||_0x230c49[_0x3434('0x2e')],'data3':members[_0x9e48fc]['data3']||_0x230c49['destination'],'uniqueid':members[_0x9e48fc]['uniqueid']||_0x230c49['uniqueid']});utils['info'](util[_0x3434('0x5')](_0x3434('0x2f'),_0x230c49[_0x3434('0x15')],members[_0x9e48fc][_0x3434('0x2c')],members[_0x9e48fc][_0x3434('0x9')],members[_0x9e48fc][_0x3434('0x30')]));if(members[_0x9e48fc][_0x3434('0x25')]){writeDB(members[_0x9e48fc]);}}}if(_0x230c49[_0x3434('0x31')]){var _0x4e257f=_0x230c49['destinationchannel'][_0x3434('0x11')]('-')[0x0];if(!_[_0x3434('0x24')](members[_0x4e257f])){members[_0x4e257f]=_[_0x3434('0x29')](members[_0x4e257f],{'data1':members[_0x4e257f]['data1']||_0x230c49[_0x3434('0x2d')],'data2':members[_0x4e257f][_0x3434('0x9')]||_0x230c49[_0x3434('0x2e')],'data3':members[_0x4e257f][_0x3434('0x30')]||_0x230c49[_0x3434('0x32')],'uniqueid':members[_0x4e257f][_0x3434('0x15')]||_0x230c49[_0x3434('0x15')]});utils[_0x3434('0x4')](util[_0x3434('0x5')](_0x3434('0x2f'),_0x230c49['uniqueid'],members[_0x4e257f][_0x3434('0x2c')],members[_0x4e257f][_0x3434('0x9')],members[_0x4e257f][_0x3434('0x30')]));if(members[_0x4e257f][_0x3434('0x25')]){writeDB(members[_0x4e257f]);}}}}catch(_0x252e4b){utils['error'](util[_0x3434('0x5')]('[%s][members][cdr]',_0x230c49[_0x3434('0x15')]),_0x252e4b);}};