Service Layer medium complexity backend
0
Dependencies
0
Dependents
1
Entities
0
Integrations

Description

Handles all business logic and persistence for workshop to-do items, exposing CRUD operations scoped to a parent workshop session. Enforces that each to-do entry is linked to a valid session and that assignees are registered attendees of that session. Provides the data contract consumed by WorkshopTodoWidget and any future integrations.

Feature: Workshop To-Do Lists

workshop-todo-service

Sources & reasoning

Line 100 names "to-do-lister" as one of three explicit sub-capabilities of the mentorordning for two-day group sessions. Direct Blindeforbundet requirement, not inferred. Fase 3 placement confirmed by line 357, mapping to v1.1. Lowest complexity of the four workshop features; depends on Career Workshops as the parent session record.

  • **Mentorordning (karriereverksted):** Eget notatverktøy, to-do-lister og deltakerlister for gruppeveiledning over to dager.

Responsibilities

  • Create, read, update, and delete to-do entries linked to a workshop session
  • Validate that assignee IDs belong to the session's attendee list before saving
  • Return ordered to-do lists with completion status and assignee metadata
  • Persist completion state changes and propagate them to the caller
  • Guard against orphaned entries when a session is deleted

Interfaces

getTodosForSession(sessionId: string): TodoItem[]
createTodo(sessionId: string, text: string, assigneeId?: string): TodoItem
updateTodo(todoId: string, patch: TodoPatch): TodoItem
markComplete(todoId: string, complete: boolean): TodoItem
deleteTodo(todoId: string): void

Related Data Entities (1)

Data entities managed by this component