Function
Optionalposter?: stringOptionaluploadDate?: stringWhen the Lecture was published, as a calendar date. Absent for most of the catalog; a delivery adapter describing the video to search engines emits nothing rather than guessing when it is missing.
The single place where a content key becomes a URL.
Resolution must happen strictly BEFORE
parse:urlOrRelativePath()rejects a bare key (no leading/, no scheme), so a key can never live inside a parsed domain entity. Parsing afterwards means a row that resolves to something malformed is rejected here, at the adapter boundary, rather than reaching asrcattribute in the UI.Both functions are pure and synchronous —
BlobStore.urlis string work.The one exception is a value that is ALREADY a URL: see resolveContentValue.