This commit is contained in:
Marek Lenczewski
2026-03-31 08:48:24 +02:00
parent f9a9004fcd
commit 576bfed36d
26 changed files with 203 additions and 253 deletions

View File

@@ -1,10 +1,10 @@
# Entity
# Kategorien
## Entity
Category(id, name, color) — Farbkodierte Kategorie für Aufgaben
TaskSchema(id, name, status, taskType, category, deadline, startDate, endDate, weekdays, monthDays, yearDays, createdAt) — Vorlage für wiederkehrende Aufgaben
Task(id, schema, name, category, categoryOverridden, date, status, createdAt) — Einzelne Aufgabe eines Schemas
# Controller
## Controller
CategoryController::index() — Alle Kategorien abrufen
CategoryController::show(id) — Einzelne Kategorie abrufen
@@ -12,10 +12,43 @@ CategoryController::create() — Neue Kategorie anlegen (201)
CategoryController::update(id) — Kategorie aktualisieren
CategoryController::delete(id) — Kategorie löschen (204)
## Service
CategoryManager::createCategory() — Neue Kategorie anlegen
CategoryManager::updateCategory() — Kategorie aktualisieren
CategoryManager::deleteCategory() — Kategorie löschen
## DTO
CreateCategoryRequest(name, color) — Kategorie anlegen
UpdateCategoryRequest(name, color) — Kategorie ändern
## Repository
CategoryRepository — Standard Doctrine-Repository (keine eigenen Methoden)
---
# Aufgaben
## Entity
Task(id, schema, name, category, categoryOverridden, date, status, createdAt) — Einzelne Aufgabe eines Schemas
## Controller
TaskController::show(id) — Einzelnen Task abrufen
TaskController::update(id) — Task aktualisieren (Name, Kategorie, Status, Datum)
TaskController::delete(id) — Task löschen (204)
---
# Entity
TaskSchema(id, name, status, taskType, category, deadline, startDate, endDate, weekdays, monthDays, yearDays, createdAt) — Vorlage für wiederkehrende Aufgaben
# Controller
TaskSchemaController::index() — Alle Schemas abrufen
TaskSchemaController::week(?start) — Wochenansicht ab Datum (Default: heute)
TaskSchemaController::allSchemas() — Alle Schemas sortiert nach Erstellung
@@ -28,10 +61,6 @@ TaskSchemaController::toggle(id) — Task-Status umschalten (aktiv↔erledigt)
# Service
CategoryManager::createCategory() — Neue Kategorie anlegen
CategoryManager::updateCategory() — Kategorie aktualisieren
CategoryManager::deleteCategory() — Kategorie löschen
TaskManager::updateTask() — Task aktualisieren (Name, Kategorie, Status, Datum)
TaskManager::toggleTaskStatus() — Task-Status umschalten (aktiv↔erledigt)
TaskManager::deleteTask() — Task löschen
@@ -50,10 +79,6 @@ DeadlineCalculator::getDeadlinesForRange() — Fälligkeitsdaten anhand Wiederho
TaskViewBuilder::buildWeekView() — Wochenansicht nach Tagen gruppiert
TaskViewBuilder::buildAllTasksView() — Alle Tasks sortiert
TaskSerializer::serializeTask() — Task-Entity zu Response-DTO
TaskSerializer::serializeTasks() — Mehrere Tasks zu Response-DTOs
TaskSerializer::serializeCategory() — Category-Entity zu Response-DTO
# DTO
## Request
@@ -62,13 +87,9 @@ CreateSchemaRequest(name, categoryId, status, taskType, deadline, startDate, end
UpdateSchemaRequest(name, categoryId, hasCategoryId, status, taskType, deadline, startDate, endDate, weekdays, monthDays, yearDays) — Schema ändern
UpdateTaskRequest(name, categoryId, status, date) — Task ändern
ToggleRequest(date) — Task-Status umschalten
CreateCategoryRequest(name, color) — Kategorie anlegen
UpdateCategoryRequest(name, color) — Kategorie ändern
## Response
TaskResponse(schemaId, taskId, name, status, taskType, date, deadline, isPast, category) — Task-Darstellung
CategoryResponse(id, name, color) — Kategorie-Darstellung
WeekViewResponse(tasksWithoutDeadline[], days[]) — Wochenansicht
DayResponse(date, tasks[]) — Tagesansicht mit Tasks
ToggleResponse(completed) — Toggle-Ergebnis
@@ -81,8 +102,6 @@ TaskSchemaType — Wiederholungstyp (einzel, taeglich, multi, woechentlich, mona
# Repository
CategoryRepository — Standard Doctrine-Repository (keine eigenen Methoden)
TaskRepository::findBySchemaAndDate() — Task anhand Schema und Datum finden
TaskRepository::findInRange() — Alle Tasks in einem Zeitraum (ohne inaktive Schemas)
TaskRepository::getExistingKeys() — Set aus "schemaId-YYYY-MM-DD" Keys für existierende Tasks