6ca24a361f3a8625b08a0bea635c31a25280d82f
[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 _0x1502=['[%s][members][cdr]','lodash','util','./utils','Local/_attended@transfer','Queue:','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','data2','membername','getUserByInterface','name','internal','request','CreateMemberReport','split','then','catch','error','some','startsWith','devicestatechange','debug','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','INUSE','BUSY','voice','TALKING','now','isNil','exitAt','duration','enterAt','[%s][members][agentcomplete]','info','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','channel','data1','type','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel'];(function(_0x4cefc3,_0x23f291){var _0x1cc779=function(_0x7cb914){while(--_0x7cb914){_0x4cefc3['push'](_0x4cefc3['shift']());}};_0x1cc779(++_0x23f291);}(_0x1502,0x1c3));var _0x2150=function(_0xe7ddf2,_0x5d7ece){_0xe7ddf2=_0xe7ddf2-0x0;var _0x43407a=_0x1502[_0xe7ddf2];return _0x43407a;};'use strict';var _=require(_0x2150('0x0'));var util=require(_0x2150('0x1'));var utils=require(_0x2150('0x2'));var members={};var exclude=[_0x2150('0x3'),_0x2150('0x4')];function writeDB(_0x208af9){utils['info'](util[_0x2150('0x5')](_0x2150('0x6'),_0x208af9[_0x2150('0x7')],_0x208af9[_0x2150('0x8')],_0x208af9['channel'],_0x208af9[_0x2150('0x9')],_0x208af9[_0x2150('0xa')],_0x208af9['type']));if(_0x208af9[_0x2150('0x8')]){utils[_0x2150('0xb')](_0x208af9[_0x2150('0x8')])['then'](function(_0x31a4f){if(_0x31a4f){_0x208af9[_0x2150('0xa')]=_0x31a4f[_0x2150('0xc')];_0x208af9['internal']=_0x31a4f[_0x2150('0xd')];utils[_0x2150('0xe')](_0x2150('0xf'),_0x208af9);}else{utils['getUserByName'](_0x208af9[_0x2150('0x8')][_0x2150('0x10')]('/')[0x1])[_0x2150('0x11')](function(_0x30975e){if(_0x30975e){_0x208af9['membername']=_0x30975e['name'];_0x208af9[_0x2150('0xd')]=_0x30975e[_0x2150('0xd')];utils['request']('CreateMemberReport',_0x208af9);}});}})[_0x2150('0x12')](function(_0x1536f){utils[_0x2150('0x13')](util['format']('[%s][members][writeDB]',_0x208af9[_0x2150('0x7')]),_0x1536f);});}delete members[_0x208af9[_0x2150('0x8')]];}function startsWith(_0x4beabc,_0x13ad4b){return _[_0x2150('0x14')](_0x4beabc,function(_0x3543a1){return _[_0x2150('0x15')](_0x13ad4b,_0x3543a1);});}exports[_0x2150('0x16')]=function(_0x31b9fb){try{utils[_0x2150('0x17')](util[_0x2150('0x5')](_0x2150('0x18'),members[_0x31b9fb[_0x2150('0x19')]]?members[_0x31b9fb[_0x2150('0x19')]][_0x2150('0x7')]:_0x31b9fb[_0x2150('0x19')]),_0x31b9fb);utils['info'](util['format'](_0x2150('0x1a'),members[_0x31b9fb[_0x2150('0x19')]]?members[_0x31b9fb[_0x2150('0x19')]][_0x2150('0x7')]:_0x31b9fb['device'],_0x31b9fb['state'],_0x31b9fb[_0x2150('0x19')]));switch(_0x31b9fb['state']){case _0x2150('0x1b'):case _0x2150('0x1c'):if(!startsWith(exclude,_0x31b9fb[_0x2150('0x19')])){members[_0x31b9fb[_0x2150('0x19')]]={'channel':_0x2150('0x1d'),'interface':_0x31b9fb['device'],'type':_0x2150('0x1e'),'enterAt':utils[_0x2150('0x1f')](),'role':'agent'};}break;case'NOT_INUSE':if(!_[_0x2150('0x20')](members[_0x31b9fb[_0x2150('0x19')]])){members[_0x31b9fb[_0x2150('0x19')]][_0x2150('0x21')]=utils[_0x2150('0x1f')]();members[_0x31b9fb[_0x2150('0x19')]][_0x2150('0x22')]=utils['diffTime'](members[_0x31b9fb[_0x2150('0x19')]]['exitAt'],members[_0x31b9fb['device']][_0x2150('0x23')]);if(members[_0x31b9fb[_0x2150('0x19')]]['uniqueid']){writeDB(members[_0x31b9fb['device']]);}}break;default:break;}}catch(_0xabd935){utils['error'](util[_0x2150('0x5')](_0x2150('0x18'),members[_0x31b9fb[_0x2150('0x19')]]?members[_0x31b9fb[_0x2150('0x19')]]['uniqueid']:_0x31b9fb[_0x2150('0x19')]),_0xabd935);}};exports['agentcomplete']=function(_0x1b1d6a){try{if(!_['isNil'](members[_0x1b1d6a[_0x2150('0x8')]])){utils[_0x2150('0x17')](util[_0x2150('0x5')](_0x2150('0x24'),_0x1b1d6a[_0x2150('0x7')]),_0x1b1d6a);utils[_0x2150('0x25')](util[_0x2150('0x5')](_0x2150('0x26'),_0x1b1d6a[_0x2150('0x7')],_0x1b1d6a[_0x2150('0x8')],_0x1b1d6a[_0x2150('0x27')]));members[_0x1b1d6a[_0x2150('0x8')]]=_[_0x2150('0x28')](members[_0x1b1d6a['interface']],{'data4':_0x1b1d6a[_0x2150('0x27')],'uniqueid':_0x1b1d6a[_0x2150('0x7')]});}}catch(_0x656c7f){utils[_0x2150('0x13')](util[_0x2150('0x5')](_0x2150('0x24'),_0x1b1d6a['uniqueid']),_0x656c7f);}};exports['cdr']=function(_0x253c5f){try{utils[_0x2150('0x17')](util[_0x2150('0x5')]('[%s][members][cdr]',_0x253c5f[_0x2150('0x7')]),_0x253c5f);if(_0x253c5f[_0x2150('0x29')]){var _0x2b4050=_0x253c5f['channel']['split']('-')[0x0];if(!_[_0x2150('0x20')](members[_0x2b4050])){members[_0x2b4050]=_[_0x2150('0x28')](members[_0x2b4050],{'data1':members[_0x2b4050][_0x2150('0x2a')]||_0x253c5f[_0x2150('0x2b')],'data2':members[_0x2b4050][_0x2150('0x9')]||_0x253c5f[_0x2150('0x2c')],'data3':members[_0x2b4050][_0x2150('0x2d')]||_0x253c5f[_0x2150('0x2e')],'uniqueid':members[_0x2b4050][_0x2150('0x7')]||_0x253c5f[_0x2150('0x7')]});utils[_0x2150('0x25')](util[_0x2150('0x5')](_0x2150('0x2f'),_0x253c5f[_0x2150('0x7')],members[_0x2b4050][_0x2150('0x2a')],members[_0x2b4050]['data2'],members[_0x2b4050]['data3']));if(members[_0x2b4050]['exitAt']){writeDB(members[_0x2b4050]);}}}if(_0x253c5f[_0x2150('0x30')]){var _0x5b240e=_0x253c5f[_0x2150('0x30')]['split']('-')[0x0];if(!_['isNil'](members[_0x5b240e])){members[_0x5b240e]=_[_0x2150('0x28')](members[_0x5b240e],{'data1':members[_0x5b240e][_0x2150('0x2a')]||_0x253c5f[_0x2150('0x2b')],'data2':members[_0x5b240e][_0x2150('0x9')]||_0x253c5f[_0x2150('0x2c')],'data3':members[_0x5b240e]['data3']||_0x253c5f[_0x2150('0x2e')],'uniqueid':members[_0x5b240e][_0x2150('0x7')]||_0x253c5f[_0x2150('0x7')]});utils['info'](util['format']('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x253c5f[_0x2150('0x7')],members[_0x5b240e][_0x2150('0x2a')],members[_0x5b240e]['data2'],members[_0x5b240e][_0x2150('0x2d')]));if(members[_0x5b240e][_0x2150('0x21')]){writeDB(members[_0x5b240e]);}}}}catch(_0x555ec6){utils[_0x2150('0x13')](util['format'](_0x2150('0x31'),_0x253c5f['uniqueid']),_0x555ec6);}};