32 lines
1.0 KiB
Dart

import 'package:backend_dart/application/service/service_provider.dart';
import 'package:riverpod/riverpod.dart';
import 'package:shelf/shelf.dart';
import 'package:shelf_router/shelf_router.dart';
Router getRouter(ProviderContainer container) {
final router = Router();
// Welcome and health routes
router.get('/', (Request request) {
return Response.ok('Welcome to ActaTempus!');
});
router.get('/health', (Request request) {
return Response.ok('Server is running');
});
// Services
final userService = container.read(userServiceProvider);
final projectService = container.read(projectServiceProvider);
final projectTaskService = container.read(projectTaskServiceProvider);
final timeEntryService = container.read(timeEntryServiceProvider);
// UserService-Router
router.mount('/users/', userService.router.call);
router.mount('/projects/', projectService.router.call);
router.mount('/project-tasks/', projectTaskService.router.call);
router.mount('/time-entries/', timeEntryService.router.call);
return router;
}