bdc2b67e9e6119689d3b32467772a37ca1fdcae5
[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 _0x9e0e=['NOT_INUSE','isNil','exitAt','diffTime','agentcomplete','assign','queue','source','destination','destinationchannel','data1','data3','lodash','util','./utils','Local/_attended@transfer','Queue:','info','format','uniqueid','interface','channel','data2','membername','type','getUserByInterface','then','name','internal','CreateMemberReport','getUserByName','split','request','catch','error','some','startsWith','devicestatechange','state','INUSE','BUSY','device','TALKING','now','agent'];(function(_0x31a37b,_0x826249){var _0x49ae16=function(_0x2e8d52){while(--_0x2e8d52){_0x31a37b['push'](_0x31a37b['shift']());}};_0x49ae16(++_0x826249);}(_0x9e0e,0x66));var _0xe9e0=function(_0x55ae29,_0x151e12){_0x55ae29=_0x55ae29-0x0;var _0x5578ed=_0x9e0e[_0x55ae29];return _0x5578ed;};'use strict';var _=require(_0xe9e0('0x0'));var util=require(_0xe9e0('0x1'));var utils=require(_0xe9e0('0x2'));var members={};var exclude=[_0xe9e0('0x3'),_0xe9e0('0x4')];function writeDB(_0x1861c6){utils[_0xe9e0('0x5')](util[_0xe9e0('0x6')]('MEMBER|%s|%s|%s|%s|%s|%s',_0x1861c6[_0xe9e0('0x7')],_0x1861c6[_0xe9e0('0x8')],_0x1861c6[_0xe9e0('0x9')],_0x1861c6[_0xe9e0('0xa')],_0x1861c6[_0xe9e0('0xb')],_0x1861c6[_0xe9e0('0xc')]));if(_0x1861c6['interface']){utils[_0xe9e0('0xd')](_0x1861c6[_0xe9e0('0x8')])[_0xe9e0('0xe')](function(_0x2f46be){if(_0x2f46be){_0x1861c6[_0xe9e0('0xb')]=_0x2f46be[_0xe9e0('0xf')];_0x1861c6[_0xe9e0('0x10')]=_0x2f46be[_0xe9e0('0x10')];utils['request'](_0xe9e0('0x11'),_0x1861c6);}else{utils[_0xe9e0('0x12')](_0x1861c6[_0xe9e0('0x8')][_0xe9e0('0x13')]('/')[0x1])['then'](function(_0x1c5580){if(_0x1c5580){_0x1861c6[_0xe9e0('0xb')]=_0x1c5580[_0xe9e0('0xf')];_0x1861c6[_0xe9e0('0x10')]=_0x1c5580[_0xe9e0('0x10')];utils[_0xe9e0('0x14')](_0xe9e0('0x11'),_0x1861c6);}});}})[_0xe9e0('0x15')](function(_0x5b31f7){utils[_0xe9e0('0x16')](_0x5b31f7);});}delete members[_0x1861c6['interface']];}function startsWith(_0x59303b,_0xef1eb9){return _[_0xe9e0('0x17')](_0x59303b,function(_0x57aef7){return _[_0xe9e0('0x18')](_0xef1eb9,_0x57aef7);});}exports[_0xe9e0('0x19')]=function(_0x4ee8ef){switch(_0x4ee8ef[_0xe9e0('0x1a')]){case _0xe9e0('0x1b'):case _0xe9e0('0x1c'):if(!startsWith(exclude,_0x4ee8ef[_0xe9e0('0x1d')])){members[_0x4ee8ef['device']]={'channel':'voice','interface':_0x4ee8ef[_0xe9e0('0x1d')],'type':_0xe9e0('0x1e'),'enterAt':utils[_0xe9e0('0x1f')](),'role':_0xe9e0('0x20')};}break;case _0xe9e0('0x21'):if(!_[_0xe9e0('0x22')](members[_0x4ee8ef[_0xe9e0('0x1d')]])){members[_0x4ee8ef['device']][_0xe9e0('0x23')]=utils['now']();members[_0x4ee8ef[_0xe9e0('0x1d')]]['duration']=utils[_0xe9e0('0x24')](members[_0x4ee8ef[_0xe9e0('0x1d')]]['exitAt'],members[_0x4ee8ef[_0xe9e0('0x1d')]]['enterAt']);if(members[_0x4ee8ef[_0xe9e0('0x1d')]][_0xe9e0('0x7')]){writeDB(members[_0x4ee8ef[_0xe9e0('0x1d')]]);}}default:break;}};exports[_0xe9e0('0x25')]=function(_0x460e4f){if(!_[_0xe9e0('0x22')](members[_0x460e4f['interface']])){members[_0x460e4f[_0xe9e0('0x8')]]=_[_0xe9e0('0x26')](members[_0x460e4f[_0xe9e0('0x8')]],{'data4':_0x460e4f[_0xe9e0('0x27')],'uniqueid':_0x460e4f[_0xe9e0('0x7')]});}};exports['cdr']=function(_0x4b7ee1){if(_0x4b7ee1[_0xe9e0('0x9')]){var _0xfd7182=_0x4b7ee1[_0xe9e0('0x9')][_0xe9e0('0x13')]('-')[0x0];if(!_[_0xe9e0('0x22')](members[_0xfd7182])){members[_0xfd7182]=_[_0xe9e0('0x26')](members[_0xfd7182],{'data1':members[_0xfd7182]['data1']||_0x4b7ee1[_0xe9e0('0xc')],'data2':members[_0xfd7182]['data2']||_0x4b7ee1[_0xe9e0('0x28')],'data3':members[_0xfd7182]['data3']||_0x4b7ee1[_0xe9e0('0x29')],'uniqueid':members[_0xfd7182][_0xe9e0('0x7')]||_0x4b7ee1[_0xe9e0('0x7')]});if(members[_0xfd7182]['exitAt']){writeDB(members[_0xfd7182]);}}}if(_0x4b7ee1['destinationchannel']){var _0x579479=_0x4b7ee1[_0xe9e0('0x2a')][_0xe9e0('0x13')]('-')[0x0];if(!_[_0xe9e0('0x22')](members[_0x579479])){members[_0x579479]=_[_0xe9e0('0x26')](members[_0x579479],{'data1':members[_0x579479][_0xe9e0('0x2b')]||_0x4b7ee1[_0xe9e0('0xc')],'data2':members[_0x579479][_0xe9e0('0xa')]||_0x4b7ee1[_0xe9e0('0x28')],'data3':members[_0x579479][_0xe9e0('0x2c')]||_0x4b7ee1[_0xe9e0('0x29')],'uniqueid':members[_0x579479][_0xe9e0('0x7')]||_0x4b7ee1[_0xe9e0('0x7')]});if(members[_0x579479][_0xe9e0('0x23')]){writeDB(members[_0x579479]);}}}};