Built motion from commit 2b9af5da.|2.6.26
[motion2.git] / server / config / license / util.js
index 2a87b95..65f0410 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x508e=['telephones','forEach','user','catch','pick','countBy','admin','License\x20limit\x20reached\x20for\x20users','util','lodash','bluebird','./hardware','../../components/encryptor','../../mysqldb','2027-01-01T00:00:00.000Z','Demo\x20license','Breaking\x20license','getUuid','License','find','defaults','then','uuid','license','isEmpty','License\x20key\x20value\x20not\x20found','data2','split','format','%s:%s:%s','parse','demo','machineUuid','decryptString','gray','add','days','grayReason','disabled','message','User','findAll','role','sequelize','COUNT','count','telephone','users'];(function(_0x3cb3e4,_0xa531c2){var _0x498c97=function(_0x5037c3){while(--_0x5037c3){_0x3cb3e4['push'](_0x3cb3e4['shift']());}};_0x498c97(++_0xa531c2);}(_0x508e,0x1e8));var _0xe508=function(_0x1c1e39,_0x3551cb){_0x1c1e39=_0x1c1e39-0x0;var _0x265d36=_0x508e[_0x1c1e39];return _0x265d36;};'use strict';var util=require(_0xe508('0x0'));var _=require(_0xe508('0x1'));var moment=require('moment');var BPromise=require(_0xe508('0x2'));var hardware=require(_0xe508('0x3'));var encryptor=require(_0xe508('0x4'));var db=require(_0xe508('0x5'))['db'];const demoLicense={'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0xe508('0x6'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'description':_0xe508('0x7'),'machineUuid':hardware['getUuid'](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};const breakingLicense={'breaking':!![],'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0xe508('0x6'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'update':![],'description':_0xe508('0x8'),'machineUuid':hardware[_0xe508('0x9')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};function getLicense(_0x5474bf){return new BPromise(function(_0x5b4297,_0x54bca7){return db[_0xe508('0xa')][_0xe508('0xb')](_[_0xe508('0xc')](_0x5474bf,{'raw':!![],'where':{'id':0x1}}))[_0xe508('0xd')](function(_0x4cc4c0){return checkLicense(_0x4cc4c0,null);})['then'](function(_0x41b8e6){_0x5b4297(_0x41b8e6);return;})['catch'](function(_0x5eb46d){_0x54bca7(_0x5eb46d);});});}function checkLicense(_0x5f6449,_0x5018aa){if(!_0x5f6449){demoLicense[_0xe508('0xe')]=_0x5f6449['data1'];return demoLicense;}try{var _0x3a1ddc=_0x5018aa||_0x5f6449[_0xe508('0xf')];if(_[_0xe508('0x10')](_0x3a1ddc)){throw new Error(_0xe508('0x11'));}var _0x5722ec=_0x5f6449['data1'];var _0x968f10=_0x5f6449[_0xe508('0x12')];var _0x2e1bb8=_0x5722ec['split']('-')[0x4];var _0x264afb=_0x5722ec[_0xe508('0x13')]('-')[0x0];var _0x1deaa0=encryptor['decryptString'](_0x3a1ddc,util[_0xe508('0x14')](_0xe508('0x15'),_0x2e1bb8,_0x5722ec,_0x264afb));var _0x21de61=JSON[_0xe508('0x16')](_0x1deaa0);_0x21de61[_0xe508('0x17')]=![];_0x21de61[_0xe508('0xe')]=_0x5722ec;_0x21de61[_0xe508('0x18')]=hardware['getUuid']();if(_0x968f10){var _0x54fc67=encryptor[_0xe508('0x19')](_0x968f10);_0x21de61[_0xe508('0x1a')]=_0x54fc67;_0x21de61['deadline']=moment(_0x54fc67)[_0xe508('0x1b')](0x7,_0xe508('0x1c'))['format']();_0x21de61[_0xe508('0x1d')]=_0x21de61['uuid']!=_0x21de61[_0xe508('0x18')]?'changed':_0xe508('0x1e');}return _0x21de61;}catch(_0x2b2b79){breakingLicense[_0xe508('0xe')]=_0x5f6449['data1'];breakingLicense[_0xe508('0x1f')]=_0x2b2b79[_0xe508('0x1f')];return breakingLicense;}}function getLimits(){return new BPromise(function(_0x81b4c7,_0x10eb58){getLicense()['then'](function(_0x1542e6){return db[_0xe508('0x20')][_0xe508('0x21')]({'attributes':[_0xe508('0x22'),[db[_0xe508('0x23')]['fn'](_0xe508('0x24'),db[_0xe508('0x23')]['col'](_0xe508('0x22'))),_0xe508('0x25')]],'group':_0xe508('0x22'),'where':{'role':{'$or':['admin','user',_0xe508('0x26')]}},'raw':!![]})[_0xe508('0xd')](function(_0x115621){var _0x669277={'user':_0x1542e6[_0xe508('0x27')]||0x0,'telephone':_0x1542e6[_0xe508('0x28')]||0x0};_0x115621[_0xe508('0x29')](function(_0x10cde7){var _0x3792c4=_0x10cde7[_0xe508('0x22')]==='admin'?_0xe508('0x2a'):_0x10cde7[_0xe508('0x22')];_0x669277[_0x3792c4]-=_0x10cde7['count'];if(_0x669277[_0x3792c4]<0x0)_0x669277[_0x3792c4]=0x0;});_0x81b4c7(_0x669277);return;});})[_0xe508('0x2b')](function(_0xe417dd){_0x10eb58(_0xe417dd);});});}function checkUserLimits(_0x31ec3c){return new BPromise(function(_0x1af1c0,_0x3c664b){getLimits()[_0xe508('0xd')](function(_0x361365){var _0x13ec50=_[_0xe508('0x2c')](_[_0xe508('0x2d')](_0x31ec3c,_0xe508('0x22')),['admin',_0xe508('0x2a'),_0xe508('0x26')]);var _0x4add73=(_0x13ec50[_0xe508('0x2e')]||0x0)+(_0x13ec50[_0xe508('0x2a')]||0x0);var _0x15e7bc=_0x13ec50[_0xe508('0x26')]||0x0;if(_0x4add73>_0x361365[_0xe508('0x2a')])return _0x3c664b(_0xe508('0x2f'));if(_0x15e7bc>_0x361365[_0xe508('0x26')])return _0x3c664b('License\x20limit\x20reached\x20for\x20telephones');return _0x1af1c0();})[_0xe508('0x2b')](function(_0x5dc8df){_0x3c664b(_0x5dc8df);});});}module['exports']={'checkLicense':checkLicense,'checkUserLimits':checkUserLimits,'getLicense':getLicense};
\ No newline at end of file
+var _0x4baf=['count','admin','telephone','users','forEach','pick','user','License\x20limit\x20reached\x20for\x20users','License\x20limit\x20reached\x20for\x20telephones','util','lodash','../../components/encryptor','../../mysqldb','2027-01-01T00:00:00.000Z','Demo\x20license','getUuid','Breaking\x20license','License','defaults','then','catch','uuid','data1','license','isEmpty','License\x20key\x20value\x20not\x20found','data2','split','decryptString','%s:%s:%s','parse','machineUuid','gray','days','grayReason','changed','disabled','message','User','findAll','role','COUNT','sequelize'];(function(_0x46198b,_0x2fe700){var _0x464d14=function(_0xde224f){while(--_0xde224f){_0x46198b['push'](_0x46198b['shift']());}};_0x464d14(++_0x2fe700);}(_0x4baf,0xb5));var _0xf4ba=function(_0x465cf5,_0x569415){_0x465cf5=_0x465cf5-0x0;var _0x1a2c15=_0x4baf[_0x465cf5];return _0x1a2c15;};'use strict';var util=require(_0xf4ba('0x0'));var _=require(_0xf4ba('0x1'));var moment=require('moment');var BPromise=require('bluebird');var hardware=require('./hardware');var encryptor=require(_0xf4ba('0x2'));var db=require(_0xf4ba('0x3'))['db'];const demoLicense={'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0xf4ba('0x4'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'description':_0xf4ba('0x5'),'machineUuid':hardware[_0xf4ba('0x6')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};const breakingLicense={'breaking':!![],'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':'2027-01-01T00:00:00.000Z','chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'update':![],'description':_0xf4ba('0x7'),'machineUuid':hardware[_0xf4ba('0x6')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};function getLicense(_0x434df3){return new BPromise(function(_0x5b03c8,_0x1f9906){return db[_0xf4ba('0x8')]['find'](_[_0xf4ba('0x9')](_0x434df3,{'raw':!![],'where':{'id':0x1}}))[_0xf4ba('0xa')](function(_0x3b29b4){return checkLicense(_0x3b29b4,null);})[_0xf4ba('0xa')](function(_0x357460){_0x5b03c8(_0x357460);return;})[_0xf4ba('0xb')](function(_0x1a9629){_0x1f9906(_0x1a9629);});});}function checkLicense(_0x44d593,_0x5f46da){if(!_0x44d593){demoLicense[_0xf4ba('0xc')]=_0x44d593[_0xf4ba('0xd')];return demoLicense;}try{var _0x2c381f=_0x5f46da||_0x44d593[_0xf4ba('0xe')];if(_[_0xf4ba('0xf')](_0x2c381f)){throw new Error(_0xf4ba('0x10'));}var _0x1f2178=_0x44d593[_0xf4ba('0xd')];var _0x364a39=_0x44d593[_0xf4ba('0x11')];var _0x226b55=_0x1f2178[_0xf4ba('0x12')]('-')[0x4];var _0x43ab58=_0x1f2178[_0xf4ba('0x12')]('-')[0x0];var _0xe909e=encryptor[_0xf4ba('0x13')](_0x2c381f,util['format'](_0xf4ba('0x14'),_0x226b55,_0x1f2178,_0x43ab58));var _0x1503da=JSON[_0xf4ba('0x15')](_0xe909e);_0x1503da['demo']=![];_0x1503da['uuid']=_0x1f2178;_0x1503da[_0xf4ba('0x16')]=hardware['getUuid']();if(_0x364a39){var _0x5b8127=encryptor[_0xf4ba('0x13')](_0x364a39);_0x1503da[_0xf4ba('0x17')]=_0x5b8127;_0x1503da['deadline']=moment(_0x5b8127)['add'](0x7,_0xf4ba('0x18'))['format']();_0x1503da[_0xf4ba('0x19')]=_0x1503da[_0xf4ba('0xc')]!=_0x1503da['machineUuid']?_0xf4ba('0x1a'):_0xf4ba('0x1b');}return _0x1503da;}catch(_0x57a242){breakingLicense[_0xf4ba('0xc')]=_0x44d593['data1'];breakingLicense[_0xf4ba('0x1c')]=_0x57a242['message'];return breakingLicense;}}function getLimits(){return new BPromise(function(_0x195c97,_0x5937f7){getLicense()['then'](function(_0x4c3311){return db[_0xf4ba('0x1d')][_0xf4ba('0x1e')]({'attributes':[_0xf4ba('0x1f'),[db['sequelize']['fn'](_0xf4ba('0x20'),db[_0xf4ba('0x21')]['col'](_0xf4ba('0x1f'))),_0xf4ba('0x22')]],'group':_0xf4ba('0x1f'),'where':{'role':{'$or':[_0xf4ba('0x23'),'user',_0xf4ba('0x24')]}},'raw':!![]})[_0xf4ba('0xa')](function(_0x2de47f){var _0x1c3960={'user':_0x4c3311[_0xf4ba('0x25')]||0x0,'telephone':_0x4c3311['telephones']||0x0};_0x2de47f[_0xf4ba('0x26')](function(_0x534efa){var _0x3f7e7d=_0x534efa[_0xf4ba('0x1f')]===_0xf4ba('0x23')?'user':_0x534efa[_0xf4ba('0x1f')];_0x1c3960[_0x3f7e7d]-=_0x534efa[_0xf4ba('0x22')];if(_0x1c3960[_0x3f7e7d]<0x0)_0x1c3960[_0x3f7e7d]=0x0;});_0x195c97(_0x1c3960);return;});})['catch'](function(_0x3f5f73){_0x5937f7(_0x3f5f73);});});}function checkUserLimits(_0x3e4a33){return new BPromise(function(_0x4bacab,_0x2a1eea){getLimits()[_0xf4ba('0xa')](function(_0x33e11e){var _0x3b4d51=_[_0xf4ba('0x27')](_['countBy'](_0x3e4a33,_0xf4ba('0x1f')),[_0xf4ba('0x23'),_0xf4ba('0x28'),_0xf4ba('0x24')]);var _0x49facc=(_0x3b4d51[_0xf4ba('0x23')]||0x0)+(_0x3b4d51[_0xf4ba('0x28')]||0x0);var _0x1879a7=_0x3b4d51[_0xf4ba('0x24')]||0x0;if(_0x49facc>_0x33e11e['user'])return _0x2a1eea(_0xf4ba('0x29'));if(_0x1879a7>_0x33e11e[_0xf4ba('0x24')])return _0x2a1eea(_0xf4ba('0x2a'));return _0x4bacab();})[_0xf4ba('0xb')](function(_0x1d0cec){_0x2a1eea(_0x1d0cec);});});}module['exports']={'checkLicense':checkLicense,'checkUserLimits':checkUserLimits,'getLicense':getLicense};
\ No newline at end of file