Built motion from commit c0cdc9d8.|2.6.28
[motion2.git] / server / config / license / util.js
index f5bc9b0..c0600b6 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x67e8=['countBy','License\x20limit\x20reached\x20for\x20users','License\x20limit\x20reached\x20for\x20telephones','exports','util','moment','bluebird','./hardware','2027-01-01T00:00:00.000Z','Demo\x20license','Breaking\x20license','License','find','defaults','then','catch','data1','license','License\x20key\x20value\x20not\x20found','data2','split','decryptString','format','parse','getUuid','gray','deadline','add','grayReason','uuid','machineUuid','changed','message','User','findAll','role','sequelize','col','admin','user','telephone','telephones','count','pick'];(function(_0x1a9b94,_0x4d763e){var _0x379102=function(_0x1d9e7c){while(--_0x1d9e7c){_0x1a9b94['push'](_0x1a9b94['shift']());}};_0x379102(++_0x4d763e);}(_0x67e8,0xe0));var _0x867e=function(_0x271a55,_0x254bf4){_0x271a55=_0x271a55-0x0;var _0x17c23c=_0x67e8[_0x271a55];return _0x17c23c;};'use strict';var util=require(_0x867e('0x0'));var _=require('lodash');var moment=require(_0x867e('0x1'));var BPromise=require(_0x867e('0x2'));var hardware=require(_0x867e('0x3'));var encryptor=require('../../components/encryptor');var db=require('../../mysqldb')['db'];const demoLicense={'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0x867e('0x4'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'description':_0x867e('0x5'),'machineUuid':hardware['getUuid'](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};const breakingLicense={'breaking':!![],'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0x867e('0x4'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'update':![],'description':_0x867e('0x6'),'machineUuid':hardware['getUuid'](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};function getLicense(_0x1ab51a){return new BPromise(function(_0x13c712,_0x47406f){return db[_0x867e('0x7')][_0x867e('0x8')](_[_0x867e('0x9')](_0x1ab51a,{'raw':!![],'where':{'id':0x1}}))[_0x867e('0xa')](function(_0x3cd5f2){return checkLicense(_0x3cd5f2,null);})[_0x867e('0xa')](function(_0x7fe3){_0x13c712(_0x7fe3);return;})[_0x867e('0xb')](function(_0x253a00){_0x47406f(_0x253a00);});});}function checkLicense(_0x31f01d,_0x5282f4){if(!_0x31f01d){demoLicense['uuid']=_0x31f01d[_0x867e('0xc')];return demoLicense;}try{var _0x4160b6=_0x5282f4||_0x31f01d[_0x867e('0xd')];if(_['isEmpty'](_0x4160b6)){throw new Error(_0x867e('0xe'));}var _0x2ca176=_0x31f01d[_0x867e('0xc')];var _0x4aae17=_0x31f01d[_0x867e('0xf')];var _0x1e9a73=_0x2ca176[_0x867e('0x10')]('-')[0x4];var _0x14a106=_0x2ca176[_0x867e('0x10')]('-')[0x0];var _0x572a72=encryptor[_0x867e('0x11')](_0x4160b6,util[_0x867e('0x12')]('%s:%s:%s',_0x1e9a73,_0x2ca176,_0x14a106));var _0x321088=JSON[_0x867e('0x13')](_0x572a72);_0x321088['demo']=![];_0x321088['uuid']=_0x2ca176;_0x321088['machineUuid']=hardware[_0x867e('0x14')]();if(_0x4aae17){var _0x53fbd0=encryptor[_0x867e('0x11')](_0x4aae17);_0x321088[_0x867e('0x15')]=_0x53fbd0;_0x321088[_0x867e('0x16')]=moment(_0x53fbd0)[_0x867e('0x17')](0x7,'days')['format']();_0x321088[_0x867e('0x18')]=_0x321088[_0x867e('0x19')]!=_0x321088[_0x867e('0x1a')]?_0x867e('0x1b'):'disabled';}return _0x321088;}catch(_0xc8d5b6){breakingLicense[_0x867e('0x19')]=_0x31f01d[_0x867e('0xc')];breakingLicense[_0x867e('0x1c')]=_0xc8d5b6[_0x867e('0x1c')];return breakingLicense;}}function getLimits(){return new BPromise(function(_0xfb86c5,_0x168d05){getLicense()['then'](function(_0x46e58){return db[_0x867e('0x1d')][_0x867e('0x1e')]({'attributes':[_0x867e('0x1f'),[db[_0x867e('0x20')]['fn']('COUNT',db['sequelize'][_0x867e('0x21')](_0x867e('0x1f'))),'count']],'group':_0x867e('0x1f'),'where':{'role':{'$or':[_0x867e('0x22'),_0x867e('0x23'),_0x867e('0x24')]}},'raw':!![]})[_0x867e('0xa')](function(_0xaecea4){var _0x3b72c9={'user':_0x46e58['users']||0x0,'telephone':_0x46e58[_0x867e('0x25')]||0x0};_0xaecea4['forEach'](function(_0x31345a){var _0x211009=_0x31345a['role']==='admin'?_0x867e('0x23'):_0x31345a[_0x867e('0x1f')];_0x3b72c9[_0x211009]-=_0x31345a[_0x867e('0x26')];if(_0x3b72c9[_0x211009]<0x0)_0x3b72c9[_0x211009]=0x0;});_0xfb86c5(_0x3b72c9);return;});})[_0x867e('0xb')](function(_0x47b0d1){_0x168d05(_0x47b0d1);});});}function checkUserLimits(_0x5842b8){return new BPromise(function(_0x16c642,_0x3131ee){getLimits()[_0x867e('0xa')](function(_0x26520f){var _0x4717f7=_[_0x867e('0x27')](_[_0x867e('0x28')](_0x5842b8,_0x867e('0x1f')),[_0x867e('0x22'),_0x867e('0x23'),'telephone']);var _0x4a36ee=(_0x4717f7[_0x867e('0x22')]||0x0)+(_0x4717f7[_0x867e('0x23')]||0x0);var _0xe41ed=_0x4717f7['telephone']||0x0;if(_0x4a36ee>_0x26520f['user'])return _0x3131ee(_0x867e('0x29'));if(_0xe41ed>_0x26520f['telephone'])return _0x3131ee(_0x867e('0x2a'));return _0x16c642();})[_0x867e('0xb')](function(_0x5af11e){_0x3131ee(_0x5af11e);});});}module[_0x867e('0x2b')]={'checkLicense':checkLicense,'checkUserLimits':checkUserLimits,'getLicense':getLicense};
\ No newline at end of file
+var _0x1a20=['add','days','grayReason','changed','disabled','message','User','findAll','role','sequelize','col','admin','user','forEach','count','pick','countBy','telephone','License\x20limit\x20reached\x20for\x20users','License\x20limit\x20reached\x20for\x20telephones','util','lodash','moment','bluebird','./hardware','../../components/encryptor','../../mysqldb','2027-01-01T00:00:00.000Z','Demo\x20license','getUuid','Breaking\x20license','License','defaults','then','catch','uuid','license','isEmpty','License\x20key\x20value\x20not\x20found','data1','data2','split','decryptString','format','parse','machineUuid','deadline'];(function(_0x2b0f04,_0x590fdd){var _0x8df3db=function(_0x21dc3a){while(--_0x21dc3a){_0x2b0f04['push'](_0x2b0f04['shift']());}};_0x8df3db(++_0x590fdd);}(_0x1a20,0xd0));var _0x01a2=function(_0xa464c9,_0x7c86d8){_0xa464c9=_0xa464c9-0x0;var _0x3d73c4=_0x1a20[_0xa464c9];return _0x3d73c4;};'use strict';var util=require(_0x01a2('0x0'));var _=require(_0x01a2('0x1'));var moment=require(_0x01a2('0x2'));var BPromise=require(_0x01a2('0x3'));var hardware=require(_0x01a2('0x4'));var encryptor=require(_0x01a2('0x5'));var db=require(_0x01a2('0x6'))['db'];const demoLicense={'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0x01a2('0x7'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'description':_0x01a2('0x8'),'machineUuid':hardware[_0x01a2('0x9')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};const breakingLicense={'breaking':!![],'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0x01a2('0x7'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'update':![],'description':_0x01a2('0xa'),'machineUuid':hardware[_0x01a2('0x9')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};function getLicense(_0x220055){return new BPromise(function(_0x22c87a,_0x39eba1){return db[_0x01a2('0xb')]['find'](_[_0x01a2('0xc')](_0x220055,{'raw':!![],'where':{'id':0x1}}))[_0x01a2('0xd')](function(_0x5e7be9){return checkLicense(_0x5e7be9,null);})['then'](function(_0x30e1f8){_0x22c87a(_0x30e1f8);return;})[_0x01a2('0xe')](function(_0x3bb747){_0x39eba1(_0x3bb747);});});}function checkLicense(_0x3e0e02,_0x3e39ad){if(!_0x3e0e02){demoLicense[_0x01a2('0xf')]=_0x3e0e02['data1'];return demoLicense;}try{var _0x3163b4=_0x3e39ad||_0x3e0e02[_0x01a2('0x10')];if(_[_0x01a2('0x11')](_0x3163b4)){throw new Error(_0x01a2('0x12'));}var _0x1fd8cc=_0x3e0e02[_0x01a2('0x13')];var _0x547417=_0x3e0e02[_0x01a2('0x14')];var _0x3bf707=_0x1fd8cc[_0x01a2('0x15')]('-')[0x4];var _0x3390e8=_0x1fd8cc[_0x01a2('0x15')]('-')[0x0];var _0x25db1d=encryptor[_0x01a2('0x16')](_0x3163b4,util[_0x01a2('0x17')]('%s:%s:%s',_0x3bf707,_0x1fd8cc,_0x3390e8));var _0x535fa2=JSON[_0x01a2('0x18')](_0x25db1d);_0x535fa2['demo']=![];_0x535fa2[_0x01a2('0xf')]=_0x1fd8cc;_0x535fa2[_0x01a2('0x19')]=hardware['getUuid']();if(_0x547417){var _0x40839a=encryptor['decryptString'](_0x547417);_0x535fa2['gray']=_0x40839a;_0x535fa2[_0x01a2('0x1a')]=moment(_0x40839a)[_0x01a2('0x1b')](0x7,_0x01a2('0x1c'))['format']();_0x535fa2[_0x01a2('0x1d')]=_0x535fa2['uuid']!=_0x535fa2[_0x01a2('0x19')]?_0x01a2('0x1e'):_0x01a2('0x1f');}return _0x535fa2;}catch(_0x16fa7d){breakingLicense['uuid']=_0x3e0e02[_0x01a2('0x13')];breakingLicense[_0x01a2('0x20')]=_0x16fa7d[_0x01a2('0x20')];return breakingLicense;}}function getLimits(){return new BPromise(function(_0xcf7c20,_0x3f7418){getLicense()['then'](function(_0x453a8a){return db[_0x01a2('0x21')][_0x01a2('0x22')]({'attributes':[_0x01a2('0x23'),[db[_0x01a2('0x24')]['fn']('COUNT',db[_0x01a2('0x24')][_0x01a2('0x25')](_0x01a2('0x23'))),'count']],'group':_0x01a2('0x23'),'where':{'role':{'$or':[_0x01a2('0x26'),_0x01a2('0x27'),'telephone']}},'raw':!![]})[_0x01a2('0xd')](function(_0x440b57){var _0x2d1e88={'user':_0x453a8a['users']||0x0,'telephone':_0x453a8a['telephones']||0x0};_0x440b57[_0x01a2('0x28')](function(_0x1159db){var _0x4d6b3e=_0x1159db[_0x01a2('0x23')]===_0x01a2('0x26')?_0x01a2('0x27'):_0x1159db[_0x01a2('0x23')];_0x2d1e88[_0x4d6b3e]-=_0x1159db[_0x01a2('0x29')];if(_0x2d1e88[_0x4d6b3e]<0x0)_0x2d1e88[_0x4d6b3e]=0x0;});_0xcf7c20(_0x2d1e88);return;});})[_0x01a2('0xe')](function(_0x49b2b6){_0x3f7418(_0x49b2b6);});});}function checkUserLimits(_0x381091){return new BPromise(function(_0xddd892,_0x15df39){getLimits()[_0x01a2('0xd')](function(_0x50c40b){var _0x631cd9=_[_0x01a2('0x2a')](_[_0x01a2('0x2b')](_0x381091,'role'),[_0x01a2('0x26'),_0x01a2('0x27'),_0x01a2('0x2c')]);var _0x3e4677=(_0x631cd9[_0x01a2('0x26')]||0x0)+(_0x631cd9[_0x01a2('0x27')]||0x0);var _0x4ace09=_0x631cd9[_0x01a2('0x2c')]||0x0;if(_0x3e4677>_0x50c40b[_0x01a2('0x27')])return _0x15df39(_0x01a2('0x2d'));if(_0x4ace09>_0x50c40b[_0x01a2('0x2c')])return _0x15df39(_0x01a2('0x2e'));return _0xddd892();})[_0x01a2('0xe')](function(_0x11a5b2){_0x15df39(_0x11a5b2);});});}module['exports']={'checkLicense':checkLicense,'checkUserLimits':checkUserLimits,'getLicense':getLicense};
\ No newline at end of file