Built motion from commit (unavailable).|2.5.26
[motion2.git] / server / config / license / util.js
index 74fc035..f7bc6b1 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x96b1=['role','sequelize','col','count','user','telephone','users','admin','catch','countBy','License\x20limit\x20reached\x20for\x20users','License\x20limit\x20reached\x20for\x20telephones','exports','moment','bluebird','./hardware','../../mysqldb','Breaking\x20license','getUuid','License','defaults','then','uuid','license','isEmpty','License\x20key\x20value\x20not\x20found','data2','split','decryptString','parse','machineUuid','deadline','add','days','format','grayReason','changed','disabled','message','User','findAll'];(function(_0x433a86,_0x175b5c){var _0x23000c=function(_0x4b1fa0){while(--_0x4b1fa0){_0x433a86['push'](_0x433a86['shift']());}};_0x23000c(++_0x175b5c);}(_0x96b1,0x88));var _0x196b=function(_0x20714a,_0x7de591){_0x20714a=_0x20714a-0x0;var _0x15e877=_0x96b1[_0x20714a];return _0x15e877;};'use strict';var util=require('util');var _=require('lodash');var moment=require(_0x196b('0x0'));var BPromise=require(_0x196b('0x1'));var hardware=require(_0x196b('0x2'));var encryptor=require('../../components/encryptor');var db=require(_0x196b('0x3'))['db'];const demoLicense={'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':![],'description':'Demo\x20license','machineUuid':hardware['getUuid'](),'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':_0x196b('0x4'),'machineUuid':hardware[_0x196b('0x5')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};function getLicense(_0x12fcbe){return new BPromise(function(_0x33da97,_0x2bee72){return db[_0x196b('0x6')]['find'](_[_0x196b('0x7')](_0x12fcbe,{'raw':!![],'where':{'id':0x1}}))[_0x196b('0x8')](function(_0x24f8e1){return checkLicense(_0x24f8e1,null);})[_0x196b('0x8')](function(_0x1ce8e1){_0x33da97(_0x1ce8e1);return;})['catch'](function(_0x1e8755){_0x2bee72(_0x1e8755);});});}function checkLicense(_0x1f4c49,_0x301e6e){if(!_0x1f4c49){demoLicense[_0x196b('0x9')]=_0x1f4c49['data1'];return demoLicense;}try{var _0x35357b=_0x301e6e||_0x1f4c49[_0x196b('0xa')];if(_[_0x196b('0xb')](_0x35357b)){throw new Error(_0x196b('0xc'));}var _0x50e536=_0x1f4c49['data1'];var _0x31f1d2=_0x1f4c49[_0x196b('0xd')];var _0x2e38de=_0x50e536[_0x196b('0xe')]('-')[0x4];var _0x1136fa=_0x50e536[_0x196b('0xe')]('-')[0x0];var _0x2ef64d=encryptor[_0x196b('0xf')](_0x35357b,util['format']('%s:%s:%s',_0x2e38de,_0x50e536,_0x1136fa));var _0x1c1e60=JSON[_0x196b('0x10')](_0x2ef64d);_0x1c1e60['demo']=![];_0x1c1e60[_0x196b('0x9')]=_0x50e536;_0x1c1e60[_0x196b('0x11')]=hardware[_0x196b('0x5')]();if(_0x31f1d2){var _0xed06f=encryptor['decryptString'](_0x31f1d2);_0x1c1e60['gray']=_0xed06f;_0x1c1e60[_0x196b('0x12')]=moment(_0xed06f)[_0x196b('0x13')](0x7,_0x196b('0x14'))[_0x196b('0x15')]();_0x1c1e60[_0x196b('0x16')]=_0x1c1e60[_0x196b('0x9')]!=_0x1c1e60[_0x196b('0x11')]?_0x196b('0x17'):_0x196b('0x18');}return _0x1c1e60;}catch(_0x97219a){breakingLicense[_0x196b('0x9')]=_0x1f4c49['data1'];breakingLicense[_0x196b('0x19')]=_0x97219a[_0x196b('0x19')];return breakingLicense;}}function getLimits(){return new BPromise(function(_0x2d5539,_0x149732){getLicense()[_0x196b('0x8')](function(_0x543386){return db[_0x196b('0x1a')][_0x196b('0x1b')]({'attributes':[_0x196b('0x1c'),[db['sequelize']['fn']('COUNT',db[_0x196b('0x1d')][_0x196b('0x1e')](_0x196b('0x1c'))),_0x196b('0x1f')]],'group':'role','where':{'role':{'$or':['admin',_0x196b('0x20'),_0x196b('0x21')]}},'raw':!![]})[_0x196b('0x8')](function(_0x49949f){var _0x33b0f7={'user':_0x543386[_0x196b('0x22')]||0x0,'telephone':_0x543386['telephones']||0x0};_0x49949f['forEach'](function(_0x66dc4b){var _0x5503f3=_0x66dc4b[_0x196b('0x1c')]===_0x196b('0x23')?_0x196b('0x20'):_0x66dc4b[_0x196b('0x1c')];_0x33b0f7[_0x5503f3]-=_0x66dc4b['count'];if(_0x33b0f7[_0x5503f3]<0x0)_0x33b0f7[_0x5503f3]=0x0;});_0x2d5539(_0x33b0f7);return;});})[_0x196b('0x24')](function(_0x3e5d65){_0x149732(_0x3e5d65);});});}function checkUserLimits(_0x55e0c0){return new BPromise(function(_0x4a5647,_0x1526f8){getLimits()[_0x196b('0x8')](function(_0x407b78){var _0x1363dd=_['pick'](_[_0x196b('0x25')](_0x55e0c0,_0x196b('0x1c')),[_0x196b('0x23'),_0x196b('0x20'),_0x196b('0x21')]);var _0x3e5e99=(_0x1363dd[_0x196b('0x23')]||0x0)+(_0x1363dd[_0x196b('0x20')]||0x0);var _0x39d493=_0x1363dd['telephone']||0x0;if(_0x3e5e99>_0x407b78['user'])return _0x1526f8(_0x196b('0x26'));if(_0x39d493>_0x407b78[_0x196b('0x21')])return _0x1526f8(_0x196b('0x27'));return _0x4a5647();})[_0x196b('0x24')](function(_0x59ab36){_0x1526f8(_0x59ab36);});});}module[_0x196b('0x28')]={'checkLicense':checkLicense,'checkUserLimits':checkUserLimits,'getLicense':getLicense};
\ No newline at end of file
+var _0xae1b=['forEach','pick','admin','user','License\x20limit\x20reached\x20for\x20users','util','lodash','moment','../../mysqldb','2027-01-01T00:00:00.000Z','Demo\x20license','getUuid','Breaking\x20license','License','find','defaults','then','catch','uuid','license','isEmpty','data1','data2','split','%s:%s:%s','demo','decryptString','gray','deadline','add','days','format','machineUuid','changed','message','findAll','role','sequelize','COUNT','count','telephone','telephones'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xae1b,0x1d3));var _0xbae1=function(_0x258512,_0x423e86){_0x258512=_0x258512-0x0;var _0x5cd34a=_0xae1b[_0x258512];return _0x5cd34a;};'use strict';var util=require(_0xbae1('0x0'));var _=require(_0xbae1('0x1'));var moment=require(_0xbae1('0x2'));var BPromise=require('bluebird');var hardware=require('./hardware');var encryptor=require('../../components/encryptor');var db=require(_0xbae1('0x3'))['db'];const demoLicense={'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0xbae1('0x4'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'description':_0xbae1('0x5'),'machineUuid':hardware[_0xbae1('0x6')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};const breakingLicense={'breaking':!![],'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0xbae1('0x4'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'update':![],'description':_0xbae1('0x7'),'machineUuid':hardware[_0xbae1('0x6')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};function getLicense(_0x59edd9){return new BPromise(function(_0xe51fb4,_0x563471){return db[_0xbae1('0x8')][_0xbae1('0x9')](_[_0xbae1('0xa')](_0x59edd9,{'raw':!![],'where':{'id':0x1}}))['then'](function(_0x5e02e6){return checkLicense(_0x5e02e6,null);})[_0xbae1('0xb')](function(_0x491c69){_0xe51fb4(_0x491c69);return;})[_0xbae1('0xc')](function(_0x41f229){_0x563471(_0x41f229);});});}function checkLicense(_0x199bc8,_0x153e6b){if(!_0x199bc8){demoLicense[_0xbae1('0xd')]=_0x199bc8['data1'];return demoLicense;}try{var _0x58a114=_0x153e6b||_0x199bc8[_0xbae1('0xe')];if(_[_0xbae1('0xf')](_0x58a114)){throw new Error('License\x20key\x20value\x20not\x20found');}var _0x320399=_0x199bc8[_0xbae1('0x10')];var _0x12f906=_0x199bc8[_0xbae1('0x11')];var _0x32f687=_0x320399[_0xbae1('0x12')]('-')[0x4];var _0x1b947=_0x320399['split']('-')[0x0];var _0x277f7d=encryptor['decryptString'](_0x58a114,util['format'](_0xbae1('0x13'),_0x32f687,_0x320399,_0x1b947));var _0xc1e04f=JSON['parse'](_0x277f7d);_0xc1e04f[_0xbae1('0x14')]=![];_0xc1e04f[_0xbae1('0xd')]=_0x320399;_0xc1e04f['machineUuid']=hardware[_0xbae1('0x6')]();if(_0x12f906){var _0x3c67f4=encryptor[_0xbae1('0x15')](_0x12f906);_0xc1e04f[_0xbae1('0x16')]=_0x3c67f4;_0xc1e04f[_0xbae1('0x17')]=moment(_0x3c67f4)[_0xbae1('0x18')](0x7,_0xbae1('0x19'))[_0xbae1('0x1a')]();_0xc1e04f['grayReason']=_0xc1e04f[_0xbae1('0xd')]!=_0xc1e04f[_0xbae1('0x1b')]?_0xbae1('0x1c'):'disabled';}return _0xc1e04f;}catch(_0x2d8899){breakingLicense['uuid']=_0x199bc8[_0xbae1('0x10')];breakingLicense['message']=_0x2d8899[_0xbae1('0x1d')];return breakingLicense;}}function getLimits(){return new BPromise(function(_0x256d0a,_0xc38ba8){getLicense()[_0xbae1('0xb')](function(_0xafa4cc){return db['User'][_0xbae1('0x1e')]({'attributes':[_0xbae1('0x1f'),[db[_0xbae1('0x20')]['fn'](_0xbae1('0x21'),db[_0xbae1('0x20')]['col'](_0xbae1('0x1f'))),_0xbae1('0x22')]],'group':_0xbae1('0x1f'),'where':{'role':{'$or':['admin','user',_0xbae1('0x23')]}},'raw':!![]})[_0xbae1('0xb')](function(_0x477484){var _0x2e9997={'user':_0xafa4cc['users']||0x0,'telephone':_0xafa4cc[_0xbae1('0x24')]||0x0};_0x477484[_0xbae1('0x25')](function(_0x354186){var _0x1f127e=_0x354186[_0xbae1('0x1f')]==='admin'?'user':_0x354186[_0xbae1('0x1f')];_0x2e9997[_0x1f127e]-=_0x354186['count'];if(_0x2e9997[_0x1f127e]<0x0)_0x2e9997[_0x1f127e]=0x0;});_0x256d0a(_0x2e9997);return;});})[_0xbae1('0xc')](function(_0x495d84){_0xc38ba8(_0x495d84);});});}function checkUserLimits(_0x39282d){return new BPromise(function(_0x4a1a47,_0x5439ba){getLimits()[_0xbae1('0xb')](function(_0x2b1be6){var _0x4662d2=_[_0xbae1('0x26')](_['countBy'](_0x39282d,_0xbae1('0x1f')),[_0xbae1('0x27'),_0xbae1('0x28'),_0xbae1('0x23')]);var _0x13b971=(_0x4662d2[_0xbae1('0x27')]||0x0)+(_0x4662d2[_0xbae1('0x28')]||0x0);var _0x15f257=_0x4662d2[_0xbae1('0x23')]||0x0;if(_0x13b971>_0x2b1be6['user'])return _0x5439ba(_0xbae1('0x29'));if(_0x15f257>_0x2b1be6[_0xbae1('0x23')])return _0x5439ba('License\x20limit\x20reached\x20for\x20telephones');return _0x4a1a47();})[_0xbae1('0xc')](function(_0x329900){_0x5439ba(_0x329900);});});}module['exports']={'checkLicense':checkLicense,'checkUserLimits':checkUserLimits,'getLicense':getLicense};
\ No newline at end of file