mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-22 16:31:13 -05:00
Refactor code structure and remove redundant changes
This commit is contained in:
27
lib/env.ts
Normal file
27
lib/env.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { z } from 'zod';
|
||||
|
||||
const envSchema = z.object({
|
||||
NEXT_PUBLIC_DJANGO_API_URL: z.string().url('NEXT_PUBLIC_DJANGO_API_URL must be a valid URL'),
|
||||
NEXT_PUBLIC_CLOUDFLARE_ACCOUNT_ID: z.string().min(1, 'NEXT_PUBLIC_CLOUDFLARE_ACCOUNT_ID is required'),
|
||||
NEXT_PUBLIC_CLOUDFLARE_IMAGE_URL: z.string().url('NEXT_PUBLIC_CLOUDFLARE_IMAGE_URL must be a valid URL'),
|
||||
});
|
||||
|
||||
function validateEnv() {
|
||||
try {
|
||||
return envSchema.parse({
|
||||
NEXT_PUBLIC_DJANGO_API_URL: process.env.NEXT_PUBLIC_DJANGO_API_URL,
|
||||
NEXT_PUBLIC_CLOUDFLARE_ACCOUNT_ID: process.env.NEXT_PUBLIC_CLOUDFLARE_ACCOUNT_ID,
|
||||
NEXT_PUBLIC_CLOUDFLARE_IMAGE_URL: process.env.NEXT_PUBLIC_CLOUDFLARE_IMAGE_URL,
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('❌ Invalid environment variables:');
|
||||
if (error instanceof z.ZodError) {
|
||||
error.errors.forEach((err) => {
|
||||
console.error(` - ${err.path.join('.')}: ${err.message}`);
|
||||
});
|
||||
}
|
||||
throw new Error('Environment validation failed');
|
||||
}
|
||||
}
|
||||
|
||||
export const env = validateEnv();
|
||||
Reference in New Issue
Block a user