Skip to content

Commit f586034

Browse files
committed
expand hosted content schema based on frontend model
1 parent 36e7ce4 commit f586034

File tree

1 file changed

+77
-1
lines changed

1 file changed

+77
-1
lines changed
Lines changed: 77 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,77 @@
1-
export interface FEHostedContent {}
1+
export interface FEHostedContent {
2+
// general / shared
3+
id: string;
4+
url: string;
5+
encodedUrl: string;
6+
campaign?: HostedCampaign;
7+
title: string;
8+
mainImageUrl: string;
9+
thumbnailUrl: string;
10+
standfirst: string;
11+
cta: HostedCallToAction;
12+
name: string;
13+
owner: string;
14+
logo: HostedLogo;
15+
fontColour: Colour;
16+
// article
17+
body?: string;
18+
mainPicture?: string;
19+
mainPictureCaption?: string;
20+
// video
21+
video?: HostedVideo;
22+
// gallery
23+
images: HostedGalleryImage[];
24+
}
25+
26+
type HostedCampaign = {
27+
id: string;
28+
name: string;
29+
owner: string;
30+
logo: HostedLogo;
31+
fontColour: Colour;
32+
};
33+
34+
type HostedCallToAction = {
35+
url: string;
36+
image?: string;
37+
label?: string;
38+
trackingCode?: string;
39+
btnText?: string;
40+
};
41+
42+
type HostedLogo = {
43+
src: string;
44+
dimensions: {
45+
width: number;
46+
height: number;
47+
};
48+
link: string;
49+
};
50+
51+
type HostedVideo = {
52+
mediaId: string;
53+
title: string;
54+
duration: number;
55+
posterUrl: string;
56+
youtubeId?: string;
57+
sources: Encoding[];
58+
};
59+
60+
type HostedGalleryImage = {
61+
url: string;
62+
width?: number;
63+
height?: number;
64+
title: string;
65+
caption: string;
66+
credit: string;
67+
};
68+
69+
type Colour = {
70+
hexCode: string;
71+
};
72+
73+
type Encoding = {
74+
format: string;
75+
url: string;
76+
rawFormat: string;
77+
};

0 commit comments

Comments
 (0)