2026-05-20 10:22:58 -05:00

33 lines
855 B
Dart

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);
}
}