mirror of
https://github.com/appwrite/console.git
synced 2026-04-07 19:17:46 +00:00
53 lines
1.6 KiB
TypeScript
53 lines
1.6 KiB
TypeScript
import { env } from '$env/dynamic/public';
|
|
import { dev } from '$app/environment';
|
|
|
|
export const enum Mode {
|
|
CLOUD = 'cloud',
|
|
SELF_HOSTED = 'self-hosted'
|
|
}
|
|
|
|
export const VARS = {
|
|
CONSOLE_MODE: (env.PUBLIC_CONSOLE_MODE as Mode) ?? undefined,
|
|
APPWRITE_ENDPOINT: env.PUBLIC_APPWRITE_ENDPOINT ?? undefined,
|
|
GROWTH_ENDPOINT: env.PUBLIC_GROWTH_ENDPOINT ?? undefined,
|
|
PUBLIC_STRIPE_KEY: env.PUBLIC_STRIPE_KEY ?? undefined,
|
|
EMAIL_VERIFICATION: env.PUBLIC_CONSOLE_EMAIL_VERIFICATION === 'true',
|
|
MOCK_AI_SUGGESTIONS: (env.PUBLIC_CONSOLE_MOCK_AI_SUGGESTIONS ?? 'true') === 'true'
|
|
};
|
|
|
|
export const ENV = {
|
|
DEV: dev,
|
|
PROD: !dev,
|
|
PREVIEW: import.meta.env?.VERCEL === '1',
|
|
TEST: !!import.meta.env?.VITEST
|
|
};
|
|
|
|
export const MODE = VARS.CONSOLE_MODE === Mode.CLOUD ? Mode.CLOUD : Mode.SELF_HOSTED;
|
|
export const isCloud = MODE === Mode.CLOUD;
|
|
export const isSelfHosted = MODE !== Mode.CLOUD;
|
|
export const isDev = ENV.DEV;
|
|
export const isProd = ENV.PROD;
|
|
export const hasStripePublicKey = !!VARS.PUBLIC_STRIPE_KEY;
|
|
export const GRACE_PERIOD_OVERRIDE = false;
|
|
|
|
export const APPWRITE_OFFICIALS_ORG = 'appwriteOfficials';
|
|
|
|
export function isMultiRegionSupported(url: URL): boolean {
|
|
if (env.PUBLIC_APPWRITE_MULTI_REGION === 'true') return true;
|
|
|
|
try {
|
|
return url.hostname === 'cloud.appwrite.io';
|
|
} catch {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
// there can be multiple internal cloud instances.
|
|
export function isProductionCloud(url: URL): boolean {
|
|
try {
|
|
return url.hostname === 'cloud.appwrite.io';
|
|
} catch {
|
|
return false;
|
|
}
|
|
}
|