license checker

This commit is contained in:
Jan Prochazka
2024-07-31 16:13:59 +02:00
parent 2e847eee9b
commit d537a75d83
5 changed files with 10 additions and 4 deletions

View File

@@ -44,6 +44,7 @@ module.exports = {
isDocker: platformInfo.isDocker, isDocker: platformInfo.isDocker,
isElectron: platformInfo.isElectron, isElectron: platformInfo.isElectron,
isLicenseValid: platformInfo.isLicenseValid, isLicenseValid: platformInfo.isLicenseValid,
licenseError: platformInfo.licenseError,
permissions, permissions,
login, login,
...additionalConfigProps, ...additionalConfigProps,

View File

@@ -1,5 +1,5 @@
function checkLicense() { function checkLicense() {
return true; return null;
} }
module.exports = { module.exports = {

View File

@@ -13,7 +13,8 @@ const isDocker = fs.existsSync('/home/dbgate-docker/public');
const isDevMode = process.env.DEVMODE == '1'; const isDevMode = process.env.DEVMODE == '1';
const isNpmDist = !!global['IS_NPM_DIST']; const isNpmDist = !!global['IS_NPM_DIST'];
const isForkedApi = processArgs.isForkedApi; const isForkedApi = processArgs.isForkedApi;
const isLicenseValid = checkLicense(); const licenseError = checkLicense();
const isLicenseValid = licenseError == null;
// function moduleAvailable(name) { // function moduleAvailable(name) {
// try { // try {
@@ -33,6 +34,7 @@ const platformInfo = {
isForkedApi, isForkedApi,
isElectron: isElectron(), isElectron: isElectron(),
isLicenseValid, isLicenseValid,
licenseError,
isDevMode, isDevMode,
isNpmDist, isNpmDist,
isSnap: process.env.ELECTRON_SNAP == 'true', isSnap: process.env.ELECTRON_SNAP == 'true',

View File

@@ -21,10 +21,12 @@
<div class="box"> <div class="box">
<div class="heading">Configuration error</div> <div class="heading">Configuration error</div>
{#if !$config?.isLicenseValid} {#if !$config?.isLicenseValid}
<ErrorInfo message="Invalid license, please set DBGATE_LICENSE environment variable" /> <ErrorInfo message={`Invalid license. Please contact sales@dbgate.eu for more details. ${$config?.licenseError}`} />
{:else} {:else}
<ErrorInfo message="No error found, try to open app again" /> <ErrorInfo message="No error found, try to open app again" />
<Link href="?">Back to app</Link> <div class="m-2">
<Link href="?">Back to app</Link>
</div>
{/if} {/if}
</div> </div>
</div> </div>

View File

@@ -43,6 +43,7 @@ export function handleOauthCallback() {
export async function handleAuthOnStartup(config, isAdminPage = false) { export async function handleAuthOnStartup(config, isAdminPage = false) {
if (!config.isLicenseValid) { if (!config.isLicenseValid) {
internalRedirectTo(`?page=error`); internalRedirectTo(`?page=error`);
return;
} }
if (config.isAdminLoginForm && isAdminPage) { if (config.isAdminLoginForm && isAdminPage) {