import 'dart:io'; import 'package:dotenv/dotenv.dart'; class ServerEnv { ServerEnv._(this.databaseUrl, this.port, this.firebaseWebApiKey); final String databaseUrl; final int port; final String firebaseWebApiKey; static ServerEnv load() { final DotEnv env = DotEnv(includePlatformEnvironment: true) ..load(['.env']); final String? databaseUrl = env['DATABASE_URL']; if (databaseUrl == null || databaseUrl.isEmpty) { stderr.writeln('DATABASE_URL is required in server/.env'); exit(1); } final String? apiKey = env['FIREBASE_WEB_API_KEY']; if (apiKey == null || apiKey.isEmpty) { stderr.writeln('FIREBASE_WEB_API_KEY is required in server/.env'); exit(1); } final int port = int.tryParse(env['PORT'] ?? '3000') ?? 3000; return ServerEnv._(databaseUrl, port, apiKey); } }