Background
Media API defines a VideoSubtitle model with subtitle metadata keyed by videoId, edition, and languageId. Forge CMS currently does not have a matching Strapi content type stored as schema JSON, which blocks modeling this data canonically inside the Strapi repo.
Expected outcome
A new Strapi collection type named video-subtitle exists in apps/cms as schema JSON and matches the agreed CMS fields for subtitle records.
Acceptance criteria
Possible solution(s)
- Add
apps/cms/src/api/video-subtitle/content-types/video-subtitle/schema.json following the existing Strapi content-type layout in the repo.
- Regenerate the Strapi GraphQL schema if local CMS tooling updates
apps/cms/schema.graphql as part of the content-type addition.
- Defer uniqueness enforcement for
[videoId, edition, languageId] if this bounded task is explicitly limited to schema JSON only.
References
- Media API model:
VideoSubtitle
- Target bounded context:
apps/cms
- Expected storage format: Strapi schema JSON in repo
- Requested CMS subset fields:
videoId, languageId, edition, vttSrc, vttVersion, primary, source
Background
Media API defines a
VideoSubtitlemodel with subtitle metadata keyed byvideoId,edition, andlanguageId. Forge CMS currently does not have a matching Strapi content type stored as schema JSON, which blocks modeling this data canonically inside the Strapi repo.Expected outcome
A new Strapi collection type named
video-subtitleexists inapps/cmsas schema JSON and matches the agreed CMS fields for subtitle records.Acceptance criteria
video-subtitleis added underapps/cms/src/apias schema JSON.collectionName: \video_subtitles`withsingularName: `video-subtitle`,pluralName: `video-subtitles`, anddisplayName: `Video Subtitle``.draftAndPublishis disabled.videoIdandlanguageId.editionwith defaultbase.vttSrc.vttVersionwith default1.primarywith defaultfalse.sourcewith valuesaiandhuman, defaulting toai.Possible solution(s)
apps/cms/src/api/video-subtitle/content-types/video-subtitle/schema.jsonfollowing the existing Strapi content-type layout in the repo.apps/cms/schema.graphqlas part of the content-type addition.[videoId, edition, languageId]if this bounded task is explicitly limited to schema JSON only.References
VideoSubtitleapps/cmsvideoId,languageId,edition,vttSrc,vttVersion,primary,source