mirror of
https://github.com/appwrite/console.git
synced 2026-06-06 19:27:48 +00:00
42 lines
1.2 KiB
TypeScript
42 lines
1.2 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
|
|
};
|
|
|
|
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;
|
|
}
|
|
}
|