From 3e54f0b9459c0cabb037ab7c86eba97e96684b00 Mon Sep 17 00:00:00 2001 From: "dmit.b" Date: Thu, 25 Jun 2026 17:10:28 +0300 Subject: [PATCH] - fix Dockerfile --- bin/database/database_provider.dart | 15 ++++++++------- bin/routes/auth_routes.dart | 4 ++-- bin/routes/geo_routes.dart | 2 +- bin/server.dart | 12 +++++++----- 4 files changed, 18 insertions(+), 15 deletions(-) diff --git a/bin/database/database_provider.dart b/bin/database/database_provider.dart index 767830e..69e0eee 100644 --- a/bin/database/database_provider.dart +++ b/bin/database/database_provider.dart @@ -10,19 +10,20 @@ import '../models/geoposition.dart'; import '../models/log.dart'; class DatabaseProvider { - late Connection _dbConnection; + DatabaseProvider({required this.dotEnv}); + late Connection _dbConnection; + final DotEnv dotEnv; final Map _shareLinks = {}; final _uuid = const Uuid(); Future initialize() async { - final dotenv = DotEnv(); - final host = dotenv['POSTGRES_HOST'] ?? 'db'; - final port = int.parse(dotenv['POSTGRES_PORT'] ?? '5432'); - final databaseName = dotenv['POSTGRES_DB'] ?? 'family_safety'; - final username = dotenv['POSTGRES_USER'] ?? 'postgres'; - final password = dotenv['POSTGRES_PASSWORD'] ?? 'postgres'; + final host = dotEnv['POSTGRES_HOST'] ?? 'db'; + final port = int.parse(dotEnv['POSTGRES_PORT'] ?? '5432'); + final databaseName = dotEnv['POSTGRES_DB'] ?? 'family_safety'; + final username = dotEnv['POSTGRES_USER'] ?? 'postgres'; + final password = dotEnv['POSTGRES_PASSWORD'] ?? 'postgres'; try { final defaultConnection = await Connection.open( diff --git a/bin/routes/auth_routes.dart b/bin/routes/auth_routes.dart index e06e372..e024000 100644 --- a/bin/routes/auth_routes.dart +++ b/bin/routes/auth_routes.dart @@ -12,8 +12,8 @@ import 'dart:io'; class AuthRoutes { final DatabaseProvider database; final Map _lastRequest = {}; - - AuthRoutes(this.database); + AuthRoutes({required this.database,required this.dotEnv}); + final DotEnv dotEnv; Router get routes { final router = Router(); diff --git a/bin/routes/geo_routes.dart b/bin/routes/geo_routes.dart index ffc50b9..d8173c5 100644 --- a/bin/routes/geo_routes.dart +++ b/bin/routes/geo_routes.dart @@ -8,7 +8,7 @@ import 'dart:convert'; class GeoRoutes { final DatabaseProvider database; - GeoRoutes(this.database); + GeoRoutes({required this.database}); Router get routes { final router = Router(); diff --git a/bin/server.dart b/bin/server.dart index 0e8df98..4a33799 100644 --- a/bin/server.dart +++ b/bin/server.dart @@ -1,6 +1,7 @@ import 'dart:io'; import 'dart:async'; +import 'package:dotenv/dotenv.dart'; import 'package:shelf/shelf.dart'; import 'package:shelf/shelf_io.dart'; import 'package:shelf_router/shelf_router.dart'; @@ -28,15 +29,16 @@ Middleware _corsMiddleware = (Handler innerHandler) { }; void main(List args) async { - final database = DatabaseProvider(); + final dotenv = DotEnv()..load(); + final database = DatabaseProvider(dotEnv: dotenv); await database.initialize(); Timer.periodic(const Duration(minutes: 5), (timer) { database.cleanupExpired(); }); - final authRoutes = AuthRoutes(database); - final geoRoutes = GeoRoutes(database); + final authRoutes = AuthRoutes(database: database,dotEnv: dotenv); + final geoRoutes = GeoRoutes(database: database); final router = Router() @@ -53,8 +55,8 @@ void main(List args) async { .add(router.call) .handler); - final ip = InternetAddress.anyIPv4; - final port = int.parse(Platform.environment['PORT'] ?? '9090'); + final ip = dotenv['HOST'] ?? InternetAddress.anyIPv4; + final port = int.parse(dotenv['PORT'] ?? '9090'); final server = await serve(handler, ip, port); print('Server listening on port ${server.port}'); } \ No newline at end of file