Built motion from commit f67b3b02.|2.6.31
[motion2.git] / server / config / license / util.js
index b4e0040..e312e3f 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x827a=['pick','License\x20limit\x20reached\x20for\x20users','exports','lodash','moment','bluebird','../../components/encryptor','../../mysqldb','2027-01-01T00:00:00.000Z','Demo\x20license','getUuid','Breaking\x20license','find','defaults','then','catch','uuid','isEmpty','License\x20key\x20value\x20not\x20found','data1','split','decryptString','format','%s:%s:%s','parse','gray','deadline','add','machineUuid','changed','disabled','message','User','findAll','role','sequelize','COUNT','count','admin','user','telephone','users'];(function(_0x2fde01,_0x3d82eb){var _0x2aa6d7=function(_0x1bc50f){while(--_0x1bc50f){_0x2fde01['push'](_0x2fde01['shift']());}};_0x2aa6d7(++_0x3d82eb);}(_0x827a,0xab));var _0xa827=function(_0x5b84ab,_0x5563ea){_0x5b84ab=_0x5b84ab-0x0;var _0xe6be33=_0x827a[_0x5b84ab];return _0xe6be33;};'use strict';var util=require('util');var _=require(_0xa827('0x0'));var moment=require(_0xa827('0x1'));var BPromise=require(_0xa827('0x2'));var hardware=require('./hardware');var encryptor=require(_0xa827('0x3'));var db=require(_0xa827('0x4'))['db'];const demoLicense={'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0xa827('0x5'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'description':_0xa827('0x6'),'machineUuid':hardware[_0xa827('0x7')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};const breakingLicense={'breaking':!![],'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0xa827('0x5'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'update':![],'description':_0xa827('0x8'),'machineUuid':hardware[_0xa827('0x7')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};function getLicense(_0xfe3eb3){return new BPromise(function(_0x1ca4d2,_0x4d891c){return db['License'][_0xa827('0x9')](_[_0xa827('0xa')](_0xfe3eb3,{'raw':!![],'where':{'id':0x1}}))['then'](function(_0x161f12){return checkLicense(_0x161f12,null);})[_0xa827('0xb')](function(_0x1d3464){_0x1ca4d2(_0x1d3464);return;})[_0xa827('0xc')](function(_0x234746){_0x4d891c(_0x234746);});});}function checkLicense(_0x26d5d8,_0x18537b){if(!_0x26d5d8){demoLicense[_0xa827('0xd')]=_0x26d5d8['data1'];return demoLicense;}try{var _0x2f3bac=_0x18537b||_0x26d5d8['license'];if(_[_0xa827('0xe')](_0x2f3bac)){throw new Error(_0xa827('0xf'));}var _0x427c72=_0x26d5d8[_0xa827('0x10')];var _0x3de6a8=_0x26d5d8['data2'];var _0x75924=_0x427c72[_0xa827('0x11')]('-')[0x4];var _0x141da7=_0x427c72['split']('-')[0x0];var _0x3bef34=encryptor[_0xa827('0x12')](_0x2f3bac,util[_0xa827('0x13')](_0xa827('0x14'),_0x75924,_0x427c72,_0x141da7));var _0xf50c78=JSON[_0xa827('0x15')](_0x3bef34);_0xf50c78['demo']=![];_0xf50c78[_0xa827('0xd')]=_0x427c72;_0xf50c78['machineUuid']=hardware[_0xa827('0x7')]();if(_0x3de6a8){var _0xda832e=encryptor[_0xa827('0x12')](_0x3de6a8);_0xf50c78[_0xa827('0x16')]=_0xda832e;_0xf50c78[_0xa827('0x17')]=moment(_0xda832e)[_0xa827('0x18')](0x7,'days')[_0xa827('0x13')]();_0xf50c78['grayReason']=_0xf50c78['uuid']!=_0xf50c78[_0xa827('0x19')]?_0xa827('0x1a'):_0xa827('0x1b');}return _0xf50c78;}catch(_0x1559d7){breakingLicense[_0xa827('0xd')]=_0x26d5d8[_0xa827('0x10')];breakingLicense[_0xa827('0x1c')]=_0x1559d7[_0xa827('0x1c')];return breakingLicense;}}function getLimits(){return new BPromise(function(_0x3faf41,_0x43cf89){getLicense()['then'](function(_0x571b32){return db[_0xa827('0x1d')][_0xa827('0x1e')]({'attributes':[_0xa827('0x1f'),[db[_0xa827('0x20')]['fn'](_0xa827('0x21'),db['sequelize']['col']('role')),_0xa827('0x22')]],'group':'role','where':{'role':{'$or':[_0xa827('0x23'),_0xa827('0x24'),_0xa827('0x25')]}},'raw':!![]})[_0xa827('0xb')](function(_0x34854f){var _0x233d05={'user':_0x571b32[_0xa827('0x26')]||0x0,'telephone':_0x571b32['telephones']||0x0};_0x34854f['forEach'](function(_0x5b22a5){var _0x1611a3=_0x5b22a5[_0xa827('0x1f')]===_0xa827('0x23')?_0xa827('0x24'):_0x5b22a5[_0xa827('0x1f')];_0x233d05[_0x1611a3]-=_0x5b22a5[_0xa827('0x22')];if(_0x233d05[_0x1611a3]<0x0)_0x233d05[_0x1611a3]=0x0;});_0x3faf41(_0x233d05);return;});})[_0xa827('0xc')](function(_0x4b0410){_0x43cf89(_0x4b0410);});});}function checkUserLimits(_0x192166){return new BPromise(function(_0x39db03,_0x5af700){getLimits()['then'](function(_0x46c5c0){var _0x10d979=_[_0xa827('0x27')](_['countBy'](_0x192166,_0xa827('0x1f')),[_0xa827('0x23'),'user',_0xa827('0x25')]);var _0x5e087b=(_0x10d979[_0xa827('0x23')]||0x0)+(_0x10d979[_0xa827('0x24')]||0x0);var _0x589ec6=_0x10d979['telephone']||0x0;if(_0x5e087b>_0x46c5c0[_0xa827('0x24')])return _0x5af700(_0xa827('0x28'));if(_0x589ec6>_0x46c5c0['telephone'])return _0x5af700('License\x20limit\x20reached\x20for\x20telephones');return _0x39db03();})['catch'](function(_0x4bc9c7){_0x5af700(_0x4bc9c7);});});}module[_0xa827('0x29')]={'checkLicense':checkLicense,'checkUserLimits':checkUserLimits,'getLicense':getLicense};
\ No newline at end of file
+var _0xc7e6=['license','isEmpty','License\x20key\x20value\x20not\x20found','data2','split','decryptString','format','%s:%s:%s','parse','demo','uuid','machineUuid','gray','deadline','add','days','grayReason','changed','disabled','message','findAll','sequelize','COUNT','col','role','count','admin','user','telephone','users','telephones','pick','countBy','License\x20limit\x20reached\x20for\x20telephones','exports','util','bluebird','./hardware','../../components/encryptor','../../mysqldb','2027-01-01T00:00:00.000Z','Demo\x20license','getUuid','Breaking\x20license','License','find','defaults','then','catch','data1'];(function(_0x3eac22,_0x4f77cf){var _0x1dcda0=function(_0x300cfb){while(--_0x300cfb){_0x3eac22['push'](_0x3eac22['shift']());}};_0x1dcda0(++_0x4f77cf);}(_0xc7e6,0x87));var _0x6c7e=function(_0x4a57b0,_0x3ee928){_0x4a57b0=_0x4a57b0-0x0;var _0x5e82c8=_0xc7e6[_0x4a57b0];return _0x5e82c8;};'use strict';var util=require(_0x6c7e('0x0'));var _=require('lodash');var moment=require('moment');var BPromise=require(_0x6c7e('0x1'));var hardware=require(_0x6c7e('0x2'));var encryptor=require(_0x6c7e('0x3'));var db=require(_0x6c7e('0x4'))['db'];const demoLicense={'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0x6c7e('0x5'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'description':_0x6c7e('0x6'),'machineUuid':hardware[_0x6c7e('0x7')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};const breakingLicense={'breaking':!![],'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0x6c7e('0x5'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'update':![],'description':_0x6c7e('0x8'),'machineUuid':hardware['getUuid'](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};function getLicense(_0x56fdbb){return new BPromise(function(_0x488614,_0x399a5f){return db[_0x6c7e('0x9')][_0x6c7e('0xa')](_[_0x6c7e('0xb')](_0x56fdbb,{'raw':!![],'where':{'id':0x1}}))['then'](function(_0x4416f4){return checkLicense(_0x4416f4,null);})[_0x6c7e('0xc')](function(_0x4492f1){_0x488614(_0x4492f1);return;})[_0x6c7e('0xd')](function(_0x3be2da){_0x399a5f(_0x3be2da);});});}function checkLicense(_0x1d8f39,_0x324d20){if(!_0x1d8f39){demoLicense['uuid']=_0x1d8f39[_0x6c7e('0xe')];return demoLicense;}try{var _0x58be06=_0x324d20||_0x1d8f39[_0x6c7e('0xf')];if(_[_0x6c7e('0x10')](_0x58be06)){throw new Error(_0x6c7e('0x11'));}var _0x4a6fde=_0x1d8f39[_0x6c7e('0xe')];var _0x4c577b=_0x1d8f39[_0x6c7e('0x12')];var _0x1682e4=_0x4a6fde[_0x6c7e('0x13')]('-')[0x4];var _0x6024a1=_0x4a6fde[_0x6c7e('0x13')]('-')[0x0];var _0x195a07=encryptor[_0x6c7e('0x14')](_0x58be06,util[_0x6c7e('0x15')](_0x6c7e('0x16'),_0x1682e4,_0x4a6fde,_0x6024a1));var _0x96bbda=JSON[_0x6c7e('0x17')](_0x195a07);_0x96bbda[_0x6c7e('0x18')]=![];_0x96bbda[_0x6c7e('0x19')]=_0x4a6fde;_0x96bbda[_0x6c7e('0x1a')]=hardware[_0x6c7e('0x7')]();if(_0x4c577b){var _0x58d6a1=encryptor[_0x6c7e('0x14')](_0x4c577b);_0x96bbda[_0x6c7e('0x1b')]=_0x58d6a1;_0x96bbda[_0x6c7e('0x1c')]=moment(_0x58d6a1)[_0x6c7e('0x1d')](0x7,_0x6c7e('0x1e'))[_0x6c7e('0x15')]();_0x96bbda[_0x6c7e('0x1f')]=_0x96bbda[_0x6c7e('0x19')]!=_0x96bbda[_0x6c7e('0x1a')]?_0x6c7e('0x20'):_0x6c7e('0x21');}return _0x96bbda;}catch(_0xce2385){breakingLicense[_0x6c7e('0x19')]=_0x1d8f39[_0x6c7e('0xe')];breakingLicense['message']=_0xce2385[_0x6c7e('0x22')];return breakingLicense;}}function getLimits(){return new BPromise(function(_0x5a8017,_0x1af930){getLicense()[_0x6c7e('0xc')](function(_0x55e2f3){return db['User'][_0x6c7e('0x23')]({'attributes':['role',[db[_0x6c7e('0x24')]['fn'](_0x6c7e('0x25'),db[_0x6c7e('0x24')][_0x6c7e('0x26')](_0x6c7e('0x27'))),_0x6c7e('0x28')]],'group':'role','where':{'role':{'$or':[_0x6c7e('0x29'),_0x6c7e('0x2a'),_0x6c7e('0x2b')]}},'raw':!![]})['then'](function(_0x4de67d){var _0x1a8baa={'user':_0x55e2f3[_0x6c7e('0x2c')]||0x0,'telephone':_0x55e2f3[_0x6c7e('0x2d')]||0x0};_0x4de67d['forEach'](function(_0x2dc3a6){var _0x46a6d2=_0x2dc3a6[_0x6c7e('0x27')]===_0x6c7e('0x29')?_0x6c7e('0x2a'):_0x2dc3a6[_0x6c7e('0x27')];_0x1a8baa[_0x46a6d2]-=_0x2dc3a6[_0x6c7e('0x28')];if(_0x1a8baa[_0x46a6d2]<0x0)_0x1a8baa[_0x46a6d2]=0x0;});_0x5a8017(_0x1a8baa);return;});})[_0x6c7e('0xd')](function(_0x2506a6){_0x1af930(_0x2506a6);});});}function checkUserLimits(_0x22c3fe){return new BPromise(function(_0x7b6030,_0x139861){getLimits()[_0x6c7e('0xc')](function(_0x6cd75b){var _0x3a42d1=_[_0x6c7e('0x2e')](_[_0x6c7e('0x2f')](_0x22c3fe,_0x6c7e('0x27')),['admin',_0x6c7e('0x2a'),_0x6c7e('0x2b')]);var _0xc52d4=(_0x3a42d1['admin']||0x0)+(_0x3a42d1[_0x6c7e('0x2a')]||0x0);var _0x11f2bc=_0x3a42d1[_0x6c7e('0x2b')]||0x0;if(_0xc52d4>_0x6cd75b[_0x6c7e('0x2a')])return _0x139861('License\x20limit\x20reached\x20for\x20users');if(_0x11f2bc>_0x6cd75b[_0x6c7e('0x2b')])return _0x139861(_0x6c7e('0x30'));return _0x7b6030();})['catch'](function(_0x2528cf){_0x139861(_0x2528cf);});});}module[_0x6c7e('0x31')]={'checkLicense':checkLicense,'checkUserLimits':checkUserLimits,'getLicense':getLicense};
\ No newline at end of file