Skip to content

feat(cms): add video-subtitle content type #464

@lumberman

Description

@lumberman

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

  • A new Strapi collection type video-subtitle is added under apps/cms/src/api as schema JSON.
  • The collection uses collectionName: \video_subtitles`withsingularName: `video-subtitle`, pluralName: `video-subtitles`, and displayName: `Video Subtitle``.
  • draftAndPublish is disabled.
  • The schema includes required string fields videoId and languageId.
  • The schema includes string field edition with default base.
  • The schema includes text field vttSrc.
  • The schema includes integer field vttVersion with default 1.
  • The schema includes boolean field primary with default false.
  • The schema includes enumeration field source with values ai and human, defaulting to ai.
  • No extra media-api fields are added beyond the agreed CMS subset for this work item.

Possible solution(s)

  1. Add apps/cms/src/api/video-subtitle/content-types/video-subtitle/schema.json following the existing Strapi content-type layout in the repo.
  2. Regenerate the Strapi GraphQL schema if local CMS tooling updates apps/cms/schema.graphql as part of the content-type addition.
  3. 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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions