| // BEX Media FlatBuffer types — for search, home, info, category payloads |
|
|
| include "bex_common.fbs"; |
|
|
| namespace bex.wire; |
|
|
| table MediaCard { |
| id:string; |
| title:string; |
| kind:MediaKind; |
| images:ImageSet; |
| original_title:string; |
| tagline:string; |
| year:string; |
| score:uint; |
| genres:[string]; |
| status:Status; |
| content_rating:string; |
| url:string; |
| ids:[LinkedId]; |
| extra:[Attr]; |
| } |
|
|
| table CategoryLink { |
| id:string; |
| title:string; |
| subtitle:string; |
| image:Image; |
| } |
|
|
| table HomeSection { |
| id:string; |
| title:string; |
| subtitle:string; |
| items:[MediaCard]; |
| next_page:string; |
| layout:string; |
| show_rank:bool; |
| categories:[CategoryLink]; |
| extra:[Attr]; |
| } |
|
|
| table PagedResult { |
| items:[MediaCard]; |
| categories:[CategoryLink]; |
| next_page:string; |
| } |
|
|
| table Episode { |
| id:string; |
| title:string; |
| number:double; |
| season:double; |
| images:ImageSet; |
| description:string; |
| released:string; |
| score:uint; |
| url:string; |
| tags:[string]; |
| extra:[Attr]; |
| } |
|
|
| table Season { |
| id:string; |
| title:string; |
| number:double; |
| year:uint; |
| episodes:[Episode]; |
| } |
|
|
| table Person { |
| id:string; |
| name:string; |
| image:ImageSet; |
| role:string; |
| url:string; |
| } |
|
|
| table MediaInfo { |
| id:string; |
| title:string; |
| kind:MediaKind; |
| images:ImageSet; |
| original_title:string; |
| description:string; |
| score:uint; |
| scored_by:ulong; |
| year:string; |
| release_date:string; |
| genres:[string]; |
| tags:[string]; |
| status:Status; |
| content_rating:string; |
| seasons:[Season]; |
| cast:[Person]; |
| crew:[Person]; |
| runtime_minutes:uint; |
| trailer_url:string; |
| ids:[LinkedId]; |
| studio:string; |
| country:string; |
| language:string; |
| url:string; |
| extra:[Attr]; |
| } |
|
|
| root_type MediaInfo; |
|
|