Merge pull request 'Dev' (#8) from dev into release

Reviewed-on: #8
This commit was merged in pull request #8.
This commit is contained in:
2026-06-25 17:11:04 +03:00
5 changed files with 19 additions and 16 deletions
+8 -7
View File
@@ -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<String, String> _shareLinks = {};
final _uuid = const Uuid();
Future<void> 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(
+2 -2
View File
@@ -12,8 +12,8 @@ import 'dart:io';
class AuthRoutes {
final DatabaseProvider database;
final Map<String, DateTime> _lastRequest = {};
AuthRoutes(this.database);
AuthRoutes({required this.database,required this.dotEnv});
final DotEnv dotEnv;
Router get routes {
final router = Router();
+1 -1
View File
@@ -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();
+7 -5
View File
@@ -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<String> 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<String> 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}');
}
+1 -1
View File
@@ -7,7 +7,7 @@ services:
restart: unless-stopped
volumes:
- postgres_data:/var/lib/postgresql/data
- ./data:/var/lib/postgresql/data
#- ./data:/var/lib/postgresql/data
app:
image: geotracker