Built motion from commit e8d9bd62.|2.6.25
[motion2.git] / server / config / license / util.js
index a53340a..2a87b95 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x9a09=['moment','bluebird','./hardware','2027-01-01T00:00:00.000Z','getUuid','Breaking\x20license','License','find','defaults','then','catch','uuid','data1','license','isEmpty','data2','split','decryptString','format','parse','demo','gray','deadline','add','days','grayReason','machineUuid','changed','disabled','message','User','findAll','role','sequelize','count','user','telephone','telephones','forEach','admin','countBy','License\x20limit\x20reached\x20for\x20users','exports','util','lodash'];(function(_0x122d76,_0x43cf04){var _0x22ebf8=function(_0x5c491){while(--_0x5c491){_0x122d76['push'](_0x122d76['shift']());}};_0x22ebf8(++_0x43cf04);}(_0x9a09,0x1ed));var _0x99a0=function(_0x195cea,_0x26b590){_0x195cea=_0x195cea-0x0;var _0x1d85f0=_0x9a09[_0x195cea];return _0x1d85f0;};'use strict';var util=require(_0x99a0('0x0'));var _=require(_0x99a0('0x1'));var moment=require(_0x99a0('0x2'));var BPromise=require(_0x99a0('0x3'));var hardware=require(_0x99a0('0x4'));var encryptor=require('../../components/encryptor');var db=require('../../mysqldb')['db'];const demoLicense={'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0x99a0('0x5'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'description':'Demo\x20license','machineUuid':hardware[_0x99a0('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':_0x99a0('0x7'),'machineUuid':hardware['getUuid'](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};function getLicense(_0x2c9c1c){return new BPromise(function(_0x3ee92f,_0x57976f){return db[_0x99a0('0x8')][_0x99a0('0x9')](_[_0x99a0('0xa')](_0x2c9c1c,{'raw':!![],'where':{'id':0x1}}))['then'](function(_0x59e1cd){return checkLicense(_0x59e1cd,null);})[_0x99a0('0xb')](function(_0x270b5c){_0x3ee92f(_0x270b5c);return;})[_0x99a0('0xc')](function(_0x4e2b95){_0x57976f(_0x4e2b95);});});}function checkLicense(_0x463cb9,_0xbfa70f){if(!_0x463cb9){demoLicense[_0x99a0('0xd')]=_0x463cb9[_0x99a0('0xe')];return demoLicense;}try{var _0x39fd89=_0xbfa70f||_0x463cb9[_0x99a0('0xf')];if(_[_0x99a0('0x10')](_0x39fd89)){throw new Error('License\x20key\x20value\x20not\x20found');}var _0x3c6870=_0x463cb9[_0x99a0('0xe')];var _0xc43163=_0x463cb9[_0x99a0('0x11')];var _0x240add=_0x3c6870[_0x99a0('0x12')]('-')[0x4];var _0x1886b3=_0x3c6870['split']('-')[0x0];var _0x11a3fd=encryptor[_0x99a0('0x13')](_0x39fd89,util[_0x99a0('0x14')]('%s:%s:%s',_0x240add,_0x3c6870,_0x1886b3));var _0x3b722e=JSON[_0x99a0('0x15')](_0x11a3fd);_0x3b722e[_0x99a0('0x16')]=![];_0x3b722e[_0x99a0('0xd')]=_0x3c6870;_0x3b722e['machineUuid']=hardware['getUuid']();if(_0xc43163){var _0x2fe52a=encryptor[_0x99a0('0x13')](_0xc43163);_0x3b722e[_0x99a0('0x17')]=_0x2fe52a;_0x3b722e[_0x99a0('0x18')]=moment(_0x2fe52a)[_0x99a0('0x19')](0x7,_0x99a0('0x1a'))[_0x99a0('0x14')]();_0x3b722e[_0x99a0('0x1b')]=_0x3b722e[_0x99a0('0xd')]!=_0x3b722e[_0x99a0('0x1c')]?_0x99a0('0x1d'):_0x99a0('0x1e');}return _0x3b722e;}catch(_0x119c7b){breakingLicense[_0x99a0('0xd')]=_0x463cb9['data1'];breakingLicense[_0x99a0('0x1f')]=_0x119c7b['message'];return breakingLicense;}}function getLimits(){return new BPromise(function(_0x4de06d,_0x5b6c9e){getLicense()[_0x99a0('0xb')](function(_0x121ef6){return db[_0x99a0('0x20')][_0x99a0('0x21')]({'attributes':[_0x99a0('0x22'),[db[_0x99a0('0x23')]['fn']('COUNT',db[_0x99a0('0x23')]['col'](_0x99a0('0x22'))),_0x99a0('0x24')]],'group':_0x99a0('0x22'),'where':{'role':{'$or':['admin',_0x99a0('0x25'),_0x99a0('0x26')]}},'raw':!![]})['then'](function(_0x4d6187){var _0x46ee5f={'user':_0x121ef6['users']||0x0,'telephone':_0x121ef6[_0x99a0('0x27')]||0x0};_0x4d6187[_0x99a0('0x28')](function(_0x21a5dd){var _0x238f38=_0x21a5dd[_0x99a0('0x22')]===_0x99a0('0x29')?_0x99a0('0x25'):_0x21a5dd[_0x99a0('0x22')];_0x46ee5f[_0x238f38]-=_0x21a5dd['count'];if(_0x46ee5f[_0x238f38]<0x0)_0x46ee5f[_0x238f38]=0x0;});_0x4de06d(_0x46ee5f);return;});})[_0x99a0('0xc')](function(_0x172855){_0x5b6c9e(_0x172855);});});}function checkUserLimits(_0x43c133){return new BPromise(function(_0x10a851,_0x1cc75e){getLimits()[_0x99a0('0xb')](function(_0x331135){var _0x3a6574=_['pick'](_[_0x99a0('0x2a')](_0x43c133,_0x99a0('0x22')),['admin',_0x99a0('0x25'),'telephone']);var _0x3f2988=(_0x3a6574[_0x99a0('0x29')]||0x0)+(_0x3a6574[_0x99a0('0x25')]||0x0);var _0x2c7467=_0x3a6574[_0x99a0('0x26')]||0x0;if(_0x3f2988>_0x331135['user'])return _0x1cc75e(_0x99a0('0x2b'));if(_0x2c7467>_0x331135[_0x99a0('0x26')])return _0x1cc75e('License\x20limit\x20reached\x20for\x20telephones');return _0x10a851();})[_0x99a0('0xc')](function(_0x4e31eb){_0x1cc75e(_0x4e31eb);});});}module[_0x99a0('0x2c')]={'checkLicense':checkLicense,'checkUserLimits':checkUserLimits,'getLicense':getLicense};
\ No newline at end of file
+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