Built motion from commit eddce310.|2.6.12
[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 _0x4cd5=['[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','assign','queue','cdr','[%s][members][cdr]','source','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','data1','data3','destinationchannel','destination','lodash','util','Local/_attended@transfer','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','channel','data2','membername','type','getUserByInterface','then','name','internal','request','getUserByName','split','CreateMemberReport','error','some','startsWith','debug','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','voice','TALKING','now','agent','isNil','exitAt','diffTime','enterAt','agentcomplete'];(function(_0x439bd0,_0x43dd4b){var _0x1465b2=function(_0x44e411){while(--_0x44e411){_0x439bd0['push'](_0x439bd0['shift']());}};_0x1465b2(++_0x43dd4b);}(_0x4cd5,0x72));var _0x54cd=function(_0x1c60ca,_0x31a888){_0x1c60ca=_0x1c60ca-0x0;var _0x4cb5a1=_0x4cd5[_0x1c60ca];return _0x4cb5a1;};'use strict';var _=require(_0x54cd('0x0'));var util=require(_0x54cd('0x1'));var utils=require('./utils');var members={};var exclude=[_0x54cd('0x2'),'Queue:'];function writeDB(_0x133340){utils[_0x54cd('0x3')](util[_0x54cd('0x4')](_0x54cd('0x5'),_0x133340[_0x54cd('0x6')],_0x133340[_0x54cd('0x7')],_0x133340[_0x54cd('0x8')],_0x133340[_0x54cd('0x9')],_0x133340[_0x54cd('0xa')],_0x133340[_0x54cd('0xb')]));if(_0x133340[_0x54cd('0x7')]){utils[_0x54cd('0xc')](_0x133340['interface'])[_0x54cd('0xd')](function(_0x4e7e2e){if(_0x4e7e2e){_0x133340[_0x54cd('0xa')]=_0x4e7e2e[_0x54cd('0xe')];_0x133340[_0x54cd('0xf')]=_0x4e7e2e[_0x54cd('0xf')];utils[_0x54cd('0x10')]('CreateMemberReport',_0x133340);}else{utils[_0x54cd('0x11')](_0x133340['interface'][_0x54cd('0x12')]('/')[0x1])[_0x54cd('0xd')](function(_0x398e5e){if(_0x398e5e){_0x133340[_0x54cd('0xa')]=_0x398e5e[_0x54cd('0xe')];_0x133340['internal']=_0x398e5e[_0x54cd('0xf')];utils[_0x54cd('0x10')](_0x54cd('0x13'),_0x133340);}});}})['catch'](function(_0x365d1c){utils[_0x54cd('0x14')](util[_0x54cd('0x4')]('[%s][members][writeDB]',_0x133340['uniqueid']),_0x365d1c);});}delete members[_0x133340[_0x54cd('0x7')]];}function startsWith(_0x2a29e5,_0x2692fb){return _[_0x54cd('0x15')](_0x2a29e5,function(_0x16f4e5){return _[_0x54cd('0x16')](_0x2692fb,_0x16f4e5);});}exports['devicestatechange']=function(_0x4f799f){try{utils[_0x54cd('0x17')](util[_0x54cd('0x4')](_0x54cd('0x18'),members[_0x4f799f['device']]?members[_0x4f799f[_0x54cd('0x19')]]['uniqueid']:_0x4f799f[_0x54cd('0x19')]),_0x4f799f);utils[_0x54cd('0x3')](util[_0x54cd('0x4')](_0x54cd('0x1a'),members[_0x4f799f[_0x54cd('0x19')]]?members[_0x4f799f[_0x54cd('0x19')]][_0x54cd('0x6')]:_0x4f799f[_0x54cd('0x19')],_0x4f799f[_0x54cd('0x1b')],_0x4f799f[_0x54cd('0x19')]));switch(_0x4f799f[_0x54cd('0x1b')]){case _0x54cd('0x1c'):case _0x54cd('0x1d'):if(!startsWith(exclude,_0x4f799f[_0x54cd('0x19')])){members[_0x4f799f[_0x54cd('0x19')]]={'channel':_0x54cd('0x1e'),'interface':_0x4f799f[_0x54cd('0x19')],'type':_0x54cd('0x1f'),'enterAt':utils[_0x54cd('0x20')](),'role':_0x54cd('0x21')};}break;case'NOT_INUSE':if(!_[_0x54cd('0x22')](members[_0x4f799f[_0x54cd('0x19')]])){members[_0x4f799f[_0x54cd('0x19')]][_0x54cd('0x23')]=utils[_0x54cd('0x20')]();members[_0x4f799f[_0x54cd('0x19')]]['duration']=utils[_0x54cd('0x24')](members[_0x4f799f[_0x54cd('0x19')]][_0x54cd('0x23')],members[_0x4f799f[_0x54cd('0x19')]][_0x54cd('0x25')]);if(members[_0x4f799f[_0x54cd('0x19')]][_0x54cd('0x6')]){writeDB(members[_0x4f799f['device']]);}}break;default:break;}}catch(_0x1f4201){utils['error'](util[_0x54cd('0x4')](_0x54cd('0x18'),members[_0x4f799f[_0x54cd('0x19')]]?members[_0x4f799f[_0x54cd('0x19')]][_0x54cd('0x6')]:_0x4f799f['device']),_0x1f4201);}};exports[_0x54cd('0x26')]=function(_0xc0f017){try{if(!_['isNil'](members[_0xc0f017['interface']])){utils[_0x54cd('0x17')](util[_0x54cd('0x4')](_0x54cd('0x27'),_0xc0f017['uniqueid']),_0xc0f017);utils['info'](util[_0x54cd('0x4')](_0x54cd('0x28'),_0xc0f017[_0x54cd('0x6')],_0xc0f017[_0x54cd('0x7')],_0xc0f017['queue']));members[_0xc0f017[_0x54cd('0x7')]]=_[_0x54cd('0x29')](members[_0xc0f017[_0x54cd('0x7')]],{'data4':_0xc0f017[_0x54cd('0x2a')],'uniqueid':_0xc0f017[_0x54cd('0x6')]});}}catch(_0x1a4d48){utils['error'](util[_0x54cd('0x4')](_0x54cd('0x27'),_0xc0f017[_0x54cd('0x6')]),_0x1a4d48);}};exports[_0x54cd('0x2b')]=function(_0x3e5f91){try{utils['debug'](util[_0x54cd('0x4')](_0x54cd('0x2c'),_0x3e5f91[_0x54cd('0x6')]),_0x3e5f91);if(_0x3e5f91[_0x54cd('0x8')]){var _0x34d632=_0x3e5f91[_0x54cd('0x8')][_0x54cd('0x12')]('-')[0x0];if(!_[_0x54cd('0x22')](members[_0x34d632])){members[_0x34d632]=_[_0x54cd('0x29')](members[_0x34d632],{'data1':members[_0x34d632]['data1']||_0x3e5f91['type'],'data2':members[_0x34d632][_0x54cd('0x9')]||_0x3e5f91[_0x54cd('0x2d')],'data3':members[_0x34d632]['data3']||_0x3e5f91['destination'],'uniqueid':members[_0x34d632][_0x54cd('0x6')]||_0x3e5f91[_0x54cd('0x6')]});utils[_0x54cd('0x3')](util['format'](_0x54cd('0x2e'),_0x3e5f91[_0x54cd('0x6')],members[_0x34d632][_0x54cd('0x2f')],members[_0x34d632][_0x54cd('0x9')],members[_0x34d632][_0x54cd('0x30')]));if(members[_0x34d632][_0x54cd('0x23')]){writeDB(members[_0x34d632]);}}}if(_0x3e5f91[_0x54cd('0x31')]){var _0x4705e3=_0x3e5f91[_0x54cd('0x31')][_0x54cd('0x12')]('-')[0x0];if(!_[_0x54cd('0x22')](members[_0x4705e3])){members[_0x4705e3]=_[_0x54cd('0x29')](members[_0x4705e3],{'data1':members[_0x4705e3][_0x54cd('0x2f')]||_0x3e5f91['type'],'data2':members[_0x4705e3][_0x54cd('0x9')]||_0x3e5f91['source'],'data3':members[_0x4705e3][_0x54cd('0x30')]||_0x3e5f91[_0x54cd('0x32')],'uniqueid':members[_0x4705e3][_0x54cd('0x6')]||_0x3e5f91[_0x54cd('0x6')]});utils['info'](util[_0x54cd('0x4')](_0x54cd('0x2e'),_0x3e5f91[_0x54cd('0x6')],members[_0x4705e3][_0x54cd('0x2f')],members[_0x4705e3][_0x54cd('0x9')],members[_0x4705e3][_0x54cd('0x30')]));if(members[_0x4705e3][_0x54cd('0x23')]){writeDB(members[_0x4705e3]);}}}}catch(_0x125abb){utils[_0x54cd('0x14')](util[_0x54cd('0x4')]('[%s][members][cdr]',_0x3e5f91[_0x54cd('0x6')]),_0x125abb);}};