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

Description

Backend service responsible for persisting and retrieving freeform notes linked to individual workshop sessions. Enforces access rules so only the note author, peer mentors assigned to the session, and coordinators can read or modify a note. Exposes a clean API consumed by WorkshopNoteEditor.

Feature: Workshop Notes

workshop-note-service

Sources & reasoning

Line 100 explicitly names "eget notatverktøy" (own note tool) as one of three sub-capabilities of the mentorordning for two-day group sessions. This is a direct requirement, not inferred. Fase 3 placement confirmed by line 357, mapping to v1.1 by ordinal position. Workshop Notes 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 and update notes tied to a specific workshop session ID
  • Retrieve notes for a session with author and timestamp metadata
  • Enforce role-based access control for note read and write operations
  • Validate note content length and sanitise input before persistence
  • Emit audit events when notes are created or updated

Interfaces

createNote(sessionId: string, authorId: string, content: string): WorkshopNote
updateNote(noteId: string, content: string, editorId: string): WorkshopNote
getNoteBySession(sessionId: string, requesterId: string): WorkshopNote | null
deleteNote(noteId: string, requesterId: string): void

Related Data Entities (1)

Data entities managed by this component