From 576bfed36d22ae3f507502000b89f14c1e3c12e7 Mon Sep 17 00:00:00 2001 From: Marek Lenczewski Date: Tue, 31 Mar 2026 08:48:24 +0200 Subject: [PATCH] update --- CLAUDE.md | 9 +- backend/plan.md | 55 ++++-- backend/src/Controller/Api/TaskController.php | 10 +- .../Controller/Api/TaskSchemaController.php | 4 +- backend/src/DTO/Response/CategoryResponse.php | 12 -- backend/src/DTO/Response/DayResponse.php | 6 +- backend/src/DTO/Response/TaskResponse.php | 18 -- backend/src/DTO/Response/WeekViewResponse.php | 6 +- backend/src/Entity/Task.php | 37 ++++ backend/src/Service/TaskManager.php | 8 +- backend/src/Service/TaskSerializer.php | 49 ----- backend/src/Service/TaskViewBuilder.php | 27 +-- .../cache/dev/App_KernelDevDebugContainer.php | 18 +- .../dev/App_KernelDevDebugContainer.php.meta | 2 +- .../App_KernelDevDebugContainer.php.meta.json | 2 +- .../App_KernelDevDebugContainer.preload.php | 171 +++++++++--------- .../cache/dev/App_KernelDevDebugContainer.ser | Bin 456112 -> 454449 bytes .../cache/dev/App_KernelDevDebugContainer.xml | 10 - .../dev/App_KernelDevDebugContainer.xml.meta | 2 +- .../App_KernelDevDebugContainer.xml.meta.json | 2 +- .../App_KernelDevDebugContainerCompiler.log | 2 - ...pp_KernelDevDebugContainerDeprecations.log | 2 +- .../cache/dev/url_generating_routes.php.meta | Bin 3267 -> 3267 bytes .../dev/url_generating_routes.php.meta.json | 2 +- .../cache/dev/url_matching_routes.php.meta | Bin 3267 -> 3267 bytes .../dev/url_matching_routes.php.meta.json | 2 +- 26 files changed, 203 insertions(+), 253 deletions(-) delete mode 100644 backend/src/DTO/Response/CategoryResponse.php delete mode 100644 backend/src/DTO/Response/TaskResponse.php delete mode 100644 backend/src/Service/TaskSerializer.php diff --git a/CLAUDE.md b/CLAUDE.md index cff7395..d5f4e7a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -41,8 +41,7 @@ Controller → Service (Manager) → Repository → Entity - Manager-Services: Geschäftslogik (CRUD, Validierung, Toggle) - DTOs: typisierter Input (Request) und Output (Response) - Validierung: nur auf Request-DTOs (`#[Assert\...]`), nicht auf Entities -- Exceptions: `ValidationException` (eigener Listener), `HttpException` (Symfony built-in) -- Entities: nur Doctrine-Mapping + Getter/Setter +- Entities: Doctrine-Mapping + Getter/Setter + berechnete Felder via Serializer-Groups ## Verzeichnisstruktur (Backend) @@ -56,8 +55,7 @@ backend/src/ Request/ — CreateSchemaRequest, UpdateSchemaRequest, UpdateTaskRequest, ToggleRequest, CreateCategoryRequest, UpdateCategoryRequest, SchemaValidationTrait - Response/ — TaskResponse, CategoryResponse, WeekViewResponse, - DayResponse, ToggleResponse + Response/ — WeekViewResponse, DayResponse, ToggleResponse Entity/ Category.php, Task.php, TaskSchema.php Enum/ @@ -72,7 +70,6 @@ backend/src/ TaskSynchronizer.php — Sync nach Schema-Update (löschen/erstellen/reset) DeadlineCalculator.php — Berechnet Fälligkeitsdaten für ein Schema TaskViewBuilder.php — Baut Wochenansicht + Alle-Aufgaben-View - TaskSerializer.php — Task/Category → Response-DTOs ``` ## API-Routen @@ -148,7 +145,7 @@ frontend/src/ - **Sprache Code**: Englisch (Klassen, Methoden, Variablen, CSS-Klassen) - **Sprache UI**: Deutsch (Labels, Fehlermeldungen, Platzhalter) - **Enum-Werte**: Deutsch in DB (`aktiv`, `erledigt`, `einzel` etc.), Englisch als PHP-Case-Namen (`Active`, `Completed`, `Single`) -- **API-Serialisierung**: Symfony Serializer-Groups für Schema/Category Entities (`schema:read`, `schema:write`, `category:read`, `category:write`), TaskSerializer-Service für Tasks +- **API-Serialisierung**: Symfony Serializer-Groups auf allen Entities (`schema:read`, `task:read`, `category:read`) - **Validierung**: Auf Request-DTOs, nicht auf Entities - **Error-Handling**: `HttpException` → Symfony built-in - **Frontend**: Vue 3 Composition API mit `