TaskSchema module

This commit is contained in:
Marek Lenczewski
2026-04-12 15:42:48 +02:00
parent 4e81cea831
commit 5198769de4
57 changed files with 3066 additions and 324 deletions

View File

@@ -91,21 +91,28 @@ Implementierungs-Schritte als Feature-Module - WIE es gebaut wird
# TaskSchema module
## Backend
- TaskSchema - TaskSchema entity
- id, name, status, date, type, repeat, start, end
- TaskType - Enum for schema type
- single (create one task on date or null, delete schema after date or now if null)
- repeat (create tasks depending on repeat in start-end range, delete after enddate)
- TaskRepeat - Enum for schema repeat
- daily, weekly (array with weekdays), monthly (array with monthdays)
- TaskSchemaController - TaskSchema routes
- index, show, create, update, delete
- TaskSchemaManager - TaskSchema CRUD
- create, update, delete
- TaskSchemaRepository - TaskSchema queries
- TaskGenerator - Create tasks from schema
- generate
- Task - add schema (n:1)
- TaskSchema - id, name, status, taskStatus, date, repeat (json), start, end
- repeat=null → single, repeat={"daily"/"weekly"/"monthly":...} → repeating
- TaskSchemaStatus - active, inactive
- TaskController - remove create route
- TaskManager - remove create
- TaskSchemaController - index, show, create, update, delete
- TaskSchemaManager - create (single=task only, repeat=schema+generate), update (remove+generate), delete (remove+schema)
- TaskGenerator - generateTasks, removeTasks, generateNewTasks (scheduler)
- Scheduler - daily at 03:00, messenger:consume via DDEV daemon
- Migration - task_schema table + schema_id FK
## Frontend
- TaskCreate.vue removed, SchemaCreate/SchemaEdit/SchemaAll added
- Task.vue + TaskAll.vue - calendar + plus icons → /schemas, /schemas/create
- Form: name, (status + taskStatus), repeat, weekday/monthday grid, (start + end)
## App
- same changes as Frontend
## Features
- Single schema: task directly, no schema persisted
- Repeat schema: tasks for period (max 14 days), scheduler fills daily
- Update: remove non-past tasks + regenerate
- Delete: remove non-past tasks + schema
# Category module
## Backend