5.1 KiB
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
CategoryController::index() — Alle Kategorien abrufen CategoryController::show(id) — Einzelne Kategorie abrufen CategoryController::create() — Neue Kategorie anlegen (201) CategoryController::update(id) — Kategorie aktualisieren CategoryController::delete(id) — Kategorie löschen (204)
TaskController::show(id) — Einzelnen Task abrufen TaskController::update(id) — Task aktualisieren (Name, Kategorie, Status, Datum) TaskController::delete(id) — Task löschen (204)
TaskSchemaController::index() — Alle Schemas abrufen TaskSchemaController::week(?start) — Wochenansicht ab Datum (Default: heute) TaskSchemaController::allSchemas() — Alle Schemas sortiert nach Erstellung TaskSchemaController::allTasks() — Alle Tasks über alle Schemas TaskSchemaController::show(id) — Einzelnes Schema abrufen TaskSchemaController::create() — Neues Schema anlegen (201) TaskSchemaController::update(id) — Schema aktualisieren + Tasks synchronisieren TaskSchemaController::delete(id) — Schema löschen (204) 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::deleteTask() — Task löschen
TaskSchemaManager::createSchema() — Neues Schema anlegen TaskSchemaManager::updateSchema() — Schema aktualisieren + Tasks synchronisieren TaskSchemaManager::toggleTaskStatus() — Task-Status umschalten (aktiv↔erledigt) TaskSchemaManager::deleteSchema() — Schema löschen
TaskGenerator::generateForRange() — Fehlende Tasks für einen Zeitraum erzeugen TaskGenerator::generateForTasksWithoutDate() — Tasks für Einzel-Schemas ohne Deadline erzeugen
TaskSynchronizer::syncForSchema() — Tasks nach Schema-Update synchronisieren
DeadlineCalculator::getDeadlinesForRange() — Fälligkeitsdaten anhand Wiederholungsregeln berechnen
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
CreateSchemaRequest(name, categoryId, status, taskType, deadline, startDate, endDate, weekdays, monthDays, yearDays) — Schema anlegen 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
Enum
TaskStatus — Aufgabenstatus (aktiv, erledigt) TaskSchemaStatus — Schemastatus (aktiv, erledigt, inaktiv) TaskSchemaType — Wiederholungstyp (einzel, taeglich, multi, woechentlich, monatlich, jaehrlich)
Repository
CategoryRepository — Standard Doctrine-Repository (keine eigenen Methoden)
TaskRepository::findByTaskAndDate() — 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 TaskRepository::findByTaskFromDate() — Tasks eines Schemas ab einem Datum TaskRepository::deleteFutureByTask() — Zukünftige Tasks eines Schemas löschen TaskRepository::deleteFutureActive() — Zukünftige aktive Tasks eines Schemas löschen TaskRepository::findAllSorted() — Alle Tasks mit Datum, sortiert nach Datum absteigend TaskRepository::findWithoutDate() — Alle aktiven Tasks ohne Datum, sortiert nach Erstellung
TaskSchemaRepository::findActiveTasksInRange() — Aktive Schemas in einem Zeitraum finden
Migration
Version20260323230657 — Erstellt Category- und Task-Tabelle (initiales Schema) Version20260324141105 — Erstellt task_completion-Tabelle mit Unique-Constraint (task_id, date) Version20260324154816 — Ersetzt task_completion durch task_occurrence, migriert Daten Version20260325064344 — Ergänzt name, category_overridden, category_id auf task_occurrence Version20260326165702 — Benennt task→task_schema und task_occurrence→task um