A VideoLesson as it is stored in the generated seed: identical to the
entity's input shape except that source and poster hold opaque content
KEYS (course/module/lesson/video.mp4) rather than URLs.
The distinction is not visible in the type system — both are string — so
it is enforced by construction: only the generator writes rows, and only
this module turns one into an entity.
Type Declaration
source: string
Content key, not a URL.
Optionalposter?: string
Content key, not a URL. Absent when the lesson folder had no image.
A
VideoLessonas it is stored in the generated seed: identical to the entity's input shape except thatsourceandposterhold opaque content KEYS (course/module/lesson/video.mp4) rather than URLs.The distinction is not visible in the type system — both are
string— so it is enforced by construction: only the generator writes rows, and only this module turns one into an entity.