@firebolt-js/sdk
Version:
The Firebolt JS SDK
282 lines (216 loc) • 5.12 kB
Markdown
title: Entity
# Entity
## Table of Contents
- [Table of Contents](#table-of-contents)
- [Types](#types)
- [MovieEntity](#movieentity)
- [Metadata](#metadata)
- [MusicEntity](#musicentity)
- [ChannelEntity](#channelentity)
- [UntypedEntity](#untypedentity)
- [PlaylistEntity](#playlistentity)
- [TVEpisodeEntity](#tvepisodeentity)
- [TVSeasonEntity](#tvseasonentity)
- [TVSeriesEntity](#tvseriesentity)
- [AdditionalEntity](#additionalentity)
- [ProgramEntity](#programentity)
- [Entity](#entity)
- [EntityDetails](#entitydetails)
- [PlayableEntity](#playableentity)
## Types
### MovieEntity
A Firebolt compliant representation of a Movie entity.
```typescript
type MovieEntity = {
entityType: 'program'
programType: 'movie'
entityId: string
assetId?: string
appContentData?: string
}
```
### Metadata
```typescript
type Metadata = {
title?: string // Title of the entity.
synopsis?: string // Short description of the entity.
seasonNumber?: number // For TV seasons, the season number. For TV episodes, the season that the episode belongs to.
seasonCount?: number // For TV series, seasons, and episodes, the total number of seasons.
episodeNumber?: number // For TV episodes, the episode number.
episodeCount?: number // For TV seasons and episodes, the total number of episodes in the current season.
releaseDate?: string // The date that the program or entity was released or first aired.
contentRatings?: ContentRating[] // A ContentRating represents an age or content based of an entity. Supported rating schemes and associated types are below.
}
```
See also:
[ContentRating](../Entertainment/schemas/#ContentRating)
### MusicEntity
```typescript
type MusicEntity = {
entityType: 'music'
musicType: MusicType // In the case of a music `entityType`, specifies the type of music entity.
entityId: string
}
```
See also:
[MusicType](../Entertainment/schemas/#MusicType)
### ChannelEntity
```typescript
type ChannelEntity = {
entityType: 'channel'
channelType: 'streaming' | 'overTheAir'
entityId: string // ID of the channel, in the target App's scope.
appContentData?: string
}
```
### UntypedEntity
```typescript
type UntypedEntity = {
entityId: string
assetId?: string
appContentData?: string
}
```
### PlaylistEntity
A Firebolt compliant representation of a Playlist entity.
```typescript
type PlaylistEntity = {
entityType: 'playlist'
entityId: string
assetId?: string
appContentData?: string
}
```
### TVEpisodeEntity
A Firebolt compliant representation of a TV Episode entity.
```typescript
type TVEpisodeEntity = {
entityType: 'program'
programType: 'episode'
entityId: string
seriesId: string
seasonId: string
assetId?: string
appContentData?: string
}
```
### TVSeasonEntity
A Firebolt compliant representation of a TV Season entity.
```typescript
type TVSeasonEntity = {
entityType: 'program'
programType: 'season'
entityId: string
seriesId: string
assetId?: string
appContentData?: string
}
```
### TVSeriesEntity
A Firebolt compliant representation of a TV Series entity.
```typescript
type TVSeriesEntity = {
entityType: 'program'
programType: 'series'
entityId: string
assetId?: string
appContentData?: string
}
```
### AdditionalEntity
A Firebolt compliant representation of the remaining program entity types.
```typescript
type AdditionalEntity = {
entityType: 'program'
programType:
| 'concert'
| 'sportingEvent'
| 'preview'
| 'other'
| 'advertisement'
| 'musicVideo'
| 'minisode'
| 'extra'
entityId: string
assetId?: string
appContentData?: string
}
```
### ProgramEntity
```typescript
type ProgramEntity =
| MovieEntity
| TVEpisodeEntity
| TVSeasonEntity
| TVSeriesEntity
| AdditionalEntity
```
See also:
[MovieEntity](#movieentity)
[TVEpisodeEntity](#tvepisodeentity)
[TVSeasonEntity](#tvseasonentity)
[TVSeriesEntity](#tvseriesentity)
[AdditionalEntity](#additionalentity)
### Entity
```typescript
type Entity =
| ProgramEntity
| MusicEntity
| ChannelEntity
| UntypedEntity
| PlaylistEntity
```
See also:
[ProgramEntity](#programentity)
[MusicEntity](#musicentity)
[ChannelEntity](#channelentity)
[UntypedEntity](#untypedentity)
[PlaylistEntity](#playlistentity)
### EntityDetails
```typescript
type EntityDetails = {
identifiers:
| ProgramEntity
| MusicEntity
| ChannelEntity
| UntypedEntity
| PlaylistEntity
info?: Metadata
waysToWatch?: WayToWatch[] // A WayToWatch describes a way to watch a video program. It may describe a single
}
```
See also:
[Metadata](#metadata)
[WayToWatch](../Entertainment/schemas/#WayToWatch)
### PlayableEntity
```typescript
type PlayableEntity =
| MovieEntity
| TVEpisodeEntity
| PlaylistEntity
| MusicEntity
| AdditionalEntity
```
See also:
[MovieEntity](#movieentity)
[TVEpisodeEntity](#tvepisodeentity)
[PlaylistEntity](#playlistentity)
[MusicEntity](#musicentity)
[AdditionalEntity](#additionalentity)