Module
A supplementary file attached to a Lesson. Resource is a first-class domain entity in v1 (not a field of Lesson) so the Workbook view, analytics, and shared Resources are possible without a refactor — see design.md §D1.
The kind of a Resource — drives the icon in the UI and the filter in
ResourceRepository.listByKind (deferred). Defined as a Zod enum so the
domain rejects unknown values at the boundary.
A supplementary file attached to a Lesson. Resource is a first-class domain entity in v1 (not a field of Lesson) so the Workbook view, analytics, and shared Resources are possible without a refactor — see design.md §D1.
The kind of a Resource — drives the icon in the UI and the filter in
ResourceRepository.listByKind(deferred). Defined as a Zod enum so the domain rejects unknown values at the boundary.