Built motion from commit f74363e9.|2.6.34
[motion2.git] / server / config / license / util.js
index f71c6d8..669021b 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x6ea9=['Demo\x20license','Breaking\x20license','getUuid','License','find','catch','uuid','data1','license','License\x20key\x20value\x20not\x20found','data2','split','decryptString','format','%s:%s:%s','parse','demo','gray','deadline','add','days','machineUuid','changed','message','then','findAll','sequelize','COUNT','col','count','admin','telephone','users','telephones','forEach','role','user','License\x20limit\x20reached\x20for\x20users','License\x20limit\x20reached\x20for\x20telephones','exports','util','lodash','../../components/encryptor','../../mysqldb','2027-01-01T00:00:00.000Z'];(function(_0x368568,_0x1ed75a){var _0x4cd552=function(_0x56bc21){while(--_0x56bc21){_0x368568['push'](_0x368568['shift']());}};_0x4cd552(++_0x1ed75a);}(_0x6ea9,0x136));var _0x96ea=function(_0x5f2ced,_0x48e36a){_0x5f2ced=_0x5f2ced-0x0;var _0x5aad90=_0x6ea9[_0x5f2ced];return _0x5aad90;};'use strict';var util=require(_0x96ea('0x0'));var _=require(_0x96ea('0x1'));var moment=require('moment');var BPromise=require('bluebird');var hardware=require('./hardware');var encryptor=require(_0x96ea('0x2'));var db=require(_0x96ea('0x3'))['db'];const demoLicense={'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0x96ea('0x4'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'description':_0x96ea('0x5'),'machineUuid':hardware['getUuid'](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};const breakingLicense={'breaking':!![],'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0x96ea('0x4'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'update':![],'description':_0x96ea('0x6'),'machineUuid':hardware[_0x96ea('0x7')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};function getLicense(_0x173c9b){return new BPromise(function(_0x236ecc,_0xc6e909){return db[_0x96ea('0x8')][_0x96ea('0x9')](_['defaults'](_0x173c9b,{'raw':!![],'where':{'id':0x1}}))['then'](function(_0x443ae5){return checkLicense(_0x443ae5,null);})['then'](function(_0x586b78){_0x236ecc(_0x586b78);return;})[_0x96ea('0xa')](function(_0x53889a){_0xc6e909(_0x53889a);});});}function checkLicense(_0x2890ef,_0x580433){if(!_0x2890ef){demoLicense[_0x96ea('0xb')]=_0x2890ef[_0x96ea('0xc')];return demoLicense;}try{var _0x2c29ca=_0x580433||_0x2890ef[_0x96ea('0xd')];if(_['isEmpty'](_0x2c29ca)){throw new Error(_0x96ea('0xe'));}var _0x19ed91=_0x2890ef['data1'];var _0x55d84b=_0x2890ef[_0x96ea('0xf')];var _0x5b6a28=_0x19ed91[_0x96ea('0x10')]('-')[0x4];var _0x2d9847=_0x19ed91[_0x96ea('0x10')]('-')[0x0];var _0x48d9a2=encryptor[_0x96ea('0x11')](_0x2c29ca,util[_0x96ea('0x12')](_0x96ea('0x13'),_0x5b6a28,_0x19ed91,_0x2d9847));var _0x442662=JSON[_0x96ea('0x14')](_0x48d9a2);_0x442662[_0x96ea('0x15')]=![];_0x442662[_0x96ea('0xb')]=_0x19ed91;_0x442662['machineUuid']=hardware['getUuid']();if(_0x55d84b){var _0x344056=encryptor[_0x96ea('0x11')](_0x55d84b);_0x442662[_0x96ea('0x16')]=_0x344056;_0x442662[_0x96ea('0x17')]=moment(_0x344056)[_0x96ea('0x18')](0x7,_0x96ea('0x19'))['format']();_0x442662['grayReason']=_0x442662[_0x96ea('0xb')]!=_0x442662[_0x96ea('0x1a')]?_0x96ea('0x1b'):'disabled';}return _0x442662;}catch(_0x181765){breakingLicense[_0x96ea('0xb')]=_0x2890ef[_0x96ea('0xc')];breakingLicense[_0x96ea('0x1c')]=_0x181765['message'];return breakingLicense;}}function getLimits(){return new BPromise(function(_0xfabf9,_0x5e5dfe){getLicense()[_0x96ea('0x1d')](function(_0x25e130){return db['User'][_0x96ea('0x1e')]({'attributes':['role',[db[_0x96ea('0x1f')]['fn'](_0x96ea('0x20'),db[_0x96ea('0x1f')][_0x96ea('0x21')]('role')),_0x96ea('0x22')]],'group':'role','where':{'role':{'$or':[_0x96ea('0x23'),'user',_0x96ea('0x24')]}},'raw':!![]})[_0x96ea('0x1d')](function(_0x493bab){var _0x3a6bb0={'user':_0x25e130[_0x96ea('0x25')]||0x0,'telephone':_0x25e130[_0x96ea('0x26')]||0x0};_0x493bab[_0x96ea('0x27')](function(_0x349196){var _0x3e72b1=_0x349196[_0x96ea('0x28')]===_0x96ea('0x23')?'user':_0x349196[_0x96ea('0x28')];_0x3a6bb0[_0x3e72b1]-=_0x349196[_0x96ea('0x22')];if(_0x3a6bb0[_0x3e72b1]<0x0)_0x3a6bb0[_0x3e72b1]=0x0;});_0xfabf9(_0x3a6bb0);return;});})['catch'](function(_0x4d1112){_0x5e5dfe(_0x4d1112);});});}function checkUserLimits(_0x2a5f7e){return new BPromise(function(_0x28c2c9,_0x58837d){getLimits()[_0x96ea('0x1d')](function(_0x2e2d50){var _0x299c10=_['pick'](_['countBy'](_0x2a5f7e,_0x96ea('0x28')),[_0x96ea('0x23'),_0x96ea('0x29'),_0x96ea('0x24')]);var _0x44190c=(_0x299c10['admin']||0x0)+(_0x299c10[_0x96ea('0x29')]||0x0);var _0x256d68=_0x299c10['telephone']||0x0;if(_0x44190c>_0x2e2d50[_0x96ea('0x29')])return _0x58837d(_0x96ea('0x2a'));if(_0x256d68>_0x2e2d50[_0x96ea('0x24')])return _0x58837d(_0x96ea('0x2b'));return _0x28c2c9();})['catch'](function(_0x232c7d){_0x58837d(_0x232c7d);});});}module[_0x96ea('0x2c')]={'checkLicense':checkLicense,'checkUserLimits':checkUserLimits,'getLicense':getLicense};
\ No newline at end of file
+var _0x6faa=['%s:%s:%s','uuid','decryptString','gray','deadline','format','machineUuid','disabled','message','User','findAll','role','sequelize','COUNT','count','admin','user','telephone','users','telephones','pick','countBy','License\x20limit\x20reached\x20for\x20users','License\x20limit\x20reached\x20for\x20telephones','exports','util','lodash','moment','bluebird','./hardware','../../components/encryptor','../../mysqldb','2027-01-01T00:00:00.000Z','Demo\x20license','getUuid','Breaking\x20license','License','find','then','catch','data1','isEmpty','License\x20key\x20value\x20not\x20found','split'];(function(_0x446789,_0x40aa74){var _0x534e45=function(_0x3b9809){while(--_0x3b9809){_0x446789['push'](_0x446789['shift']());}};_0x534e45(++_0x40aa74);}(_0x6faa,0x1d1));var _0xa6fa=function(_0x4bed73,_0x39a129){_0x4bed73=_0x4bed73-0x0;var _0x3fc3e3=_0x6faa[_0x4bed73];return _0x3fc3e3;};'use strict';var util=require(_0xa6fa('0x0'));var _=require(_0xa6fa('0x1'));var moment=require(_0xa6fa('0x2'));var BPromise=require(_0xa6fa('0x3'));var hardware=require(_0xa6fa('0x4'));var encryptor=require(_0xa6fa('0x5'));var db=require(_0xa6fa('0x6'))['db'];const demoLicense={'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0xa6fa('0x7'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'description':_0xa6fa('0x8'),'machineUuid':hardware[_0xa6fa('0x9')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};const breakingLicense={'breaking':!![],'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0xa6fa('0x7'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'update':![],'description':_0xa6fa('0xa'),'machineUuid':hardware[_0xa6fa('0x9')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};function getLicense(_0x2e9d03){return new BPromise(function(_0x168a6b,_0x4ae46e){return db[_0xa6fa('0xb')][_0xa6fa('0xc')](_['defaults'](_0x2e9d03,{'raw':!![],'where':{'id':0x1}}))[_0xa6fa('0xd')](function(_0x3e82dc){return checkLicense(_0x3e82dc,null);})['then'](function(_0x26432c){_0x168a6b(_0x26432c);return;})[_0xa6fa('0xe')](function(_0x3b13ae){_0x4ae46e(_0x3b13ae);});});}function checkLicense(_0x339813,_0x136594){if(!_0x339813){demoLicense['uuid']=_0x339813[_0xa6fa('0xf')];return demoLicense;}try{var _0x4f91f9=_0x136594||_0x339813['license'];if(_[_0xa6fa('0x10')](_0x4f91f9)){throw new Error(_0xa6fa('0x11'));}var _0x51797c=_0x339813[_0xa6fa('0xf')];var _0x50bcca=_0x339813['data2'];var _0x5dc6d7=_0x51797c[_0xa6fa('0x12')]('-')[0x4];var _0x5b8fe6=_0x51797c[_0xa6fa('0x12')]('-')[0x0];var _0x40de0c=encryptor['decryptString'](_0x4f91f9,util['format'](_0xa6fa('0x13'),_0x5dc6d7,_0x51797c,_0x5b8fe6));var _0x19e96f=JSON['parse'](_0x40de0c);_0x19e96f['demo']=![];_0x19e96f[_0xa6fa('0x14')]=_0x51797c;_0x19e96f['machineUuid']=hardware[_0xa6fa('0x9')]();if(_0x50bcca){var _0x26f831=encryptor[_0xa6fa('0x15')](_0x50bcca);_0x19e96f[_0xa6fa('0x16')]=_0x26f831;_0x19e96f[_0xa6fa('0x17')]=moment(_0x26f831)['add'](0x7,'days')[_0xa6fa('0x18')]();_0x19e96f['grayReason']=_0x19e96f[_0xa6fa('0x14')]!=_0x19e96f[_0xa6fa('0x19')]?'changed':_0xa6fa('0x1a');}return _0x19e96f;}catch(_0xd13b8e){breakingLicense['uuid']=_0x339813['data1'];breakingLicense['message']=_0xd13b8e[_0xa6fa('0x1b')];return breakingLicense;}}function getLimits(){return new BPromise(function(_0x1b3211,_0x54b705){getLicense()[_0xa6fa('0xd')](function(_0x48fb54){return db[_0xa6fa('0x1c')][_0xa6fa('0x1d')]({'attributes':[_0xa6fa('0x1e'),[db[_0xa6fa('0x1f')]['fn'](_0xa6fa('0x20'),db[_0xa6fa('0x1f')]['col']('role')),_0xa6fa('0x21')]],'group':_0xa6fa('0x1e'),'where':{'role':{'$or':[_0xa6fa('0x22'),_0xa6fa('0x23'),_0xa6fa('0x24')]}},'raw':!![]})[_0xa6fa('0xd')](function(_0x377251){var _0x3fe217={'user':_0x48fb54[_0xa6fa('0x25')]||0x0,'telephone':_0x48fb54[_0xa6fa('0x26')]||0x0};_0x377251['forEach'](function(_0x2480ab){var _0x328e7e=_0x2480ab['role']==='admin'?_0xa6fa('0x23'):_0x2480ab[_0xa6fa('0x1e')];_0x3fe217[_0x328e7e]-=_0x2480ab[_0xa6fa('0x21')];if(_0x3fe217[_0x328e7e]<0x0)_0x3fe217[_0x328e7e]=0x0;});_0x1b3211(_0x3fe217);return;});})[_0xa6fa('0xe')](function(_0x34c5eb){_0x54b705(_0x34c5eb);});});}function checkUserLimits(_0x27d9dd){return new BPromise(function(_0x1a8259,_0x29fa5d){getLimits()['then'](function(_0x1d30a3){var _0x2ff8df=_[_0xa6fa('0x27')](_[_0xa6fa('0x28')](_0x27d9dd,'role'),['admin','user',_0xa6fa('0x24')]);var _0x44e468=(_0x2ff8df[_0xa6fa('0x22')]||0x0)+(_0x2ff8df['user']||0x0);var _0x3d4d49=_0x2ff8df[_0xa6fa('0x24')]||0x0;if(_0x44e468>_0x1d30a3['user'])return _0x29fa5d(_0xa6fa('0x29'));if(_0x3d4d49>_0x1d30a3[_0xa6fa('0x24')])return _0x29fa5d(_0xa6fa('0x2a'));return _0x1a8259();})['catch'](function(_0x218967){_0x29fa5d(_0x218967);});});}module[_0xa6fa('0x2b')]={'checkLicense':checkLicense,'checkUserLimits':checkUserLimits,'getLicense':getLicense};
\ No newline at end of file