pluginengine01 / wire /bex_media.fbs
krystv's picture
Upload 107 files
3374e90 verified
// 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;