@financial-times/cp-content-pipeline-schema 2.5.3 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/README.md +187 -41
- package/lib/datasources/base.d.ts +1 -0
- package/lib/datasources/capi.js +1 -0
- package/lib/datasources/capi.js.map +1 -1
- package/lib/datasources/instrumented.d.ts +1 -0
- package/lib/datasources/instrumented.js +1 -9
- package/lib/datasources/instrumented.js.map +1 -1
- package/lib/datasources/origami-image.js +1 -0
- package/lib/datasources/origami-image.js.map +1 -1
- package/lib/datasources/twitter.js +1 -0
- package/lib/datasources/twitter.js.map +1 -1
- package/lib/datasources/url-management.d.ts +1 -0
- package/lib/datasources/url-management.js +2 -0
- package/lib/datasources/url-management.js.map +1 -1
- package/lib/fixtures/capiObject.js +1 -1
- package/lib/fixtures/capiObject.js.map +1 -1
- package/lib/generated/index.d.ts +572 -2
- package/lib/model/CapiResponse.d.ts +1 -0
- package/lib/model/CapiResponse.js +4 -2
- package/lib/model/CapiResponse.js.map +1 -1
- package/lib/model/CapiResponse.test.js +7 -0
- package/lib/model/CapiResponse.test.js.map +1 -1
- package/lib/resolvers/content-tree/Workarounds.d.ts +8 -1
- package/lib/resolvers/content-tree/nodePredicates.d.ts +1 -1
- package/lib/resolvers/content-tree/tagMappings.js +14 -5
- package/lib/resolvers/content-tree/tagMappings.js.map +1 -1
- package/lib/resolvers/content.d.ts +8 -0
- package/lib/resolvers/content.js +1 -0
- package/lib/resolvers/content.js.map +1 -1
- package/lib/resolvers/index.d.ts +8 -0
- package/package.json +1 -1
- package/queries/article.graphql +1 -0
- package/src/datasources/base.ts +1 -0
- package/src/datasources/capi.ts +1 -0
- package/src/datasources/instrumented.ts +1 -11
- package/src/datasources/origami-image.ts +3 -0
- package/src/datasources/twitter.ts +2 -0
- package/src/datasources/url-management.ts +2 -0
- package/src/fixtures/capiObject.ts +1 -1
- package/src/generated/index.ts +572 -2
- package/src/model/CapiResponse.test.ts +9 -0
- package/src/model/CapiResponse.ts +4 -3
- package/src/resolvers/content-tree/Workarounds.ts +10 -0
- package/src/resolvers/content-tree/tagMappings.ts +15 -5
- package/src/resolvers/content.ts +1 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/typedefs/clip.graphql +28 -0
- package/typedefs/concept.graphql +21 -2
- package/typedefs/content.graphql +465 -36
- package/typedefs/core.graphql +6 -0
- package/typedefs/image.graphql +210 -15
- package/typedefs/picture.graphql +54 -1
- package/typedefs/references/clipSet.graphql +34 -1
- package/typedefs/references/flourish.graphql +8 -0
- package/typedefs/references/imageSet.graphql +6 -0
- package/typedefs/references/layoutImage.graphql +3 -0
- package/typedefs/references/rawImage.graphql +3 -0
- package/typedefs/references/recommended.graphql +3 -0
- package/typedefs/references/reference.graphql +1 -0
- package/typedefs/references/scrollyImage.graphql +3 -0
- package/typedefs/references/tweet.graphql +3 -0
- package/typedefs/references/video.graphql +5 -0
- package/typedefs/richText.graphql +7 -4
- package/typedefs/teaser.graphql +42 -1
- package/typedefs/topper.graphql +219 -7
package/src/generated/index.ts
CHANGED
|
@@ -40,42 +40,72 @@ export type Scalars = {
|
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
export type Accessibility = {
|
|
43
|
+
/** An array of captions for the clip. */
|
|
43
44
|
readonly captions?: Maybe<ReadonlyArray<Maybe<Caption>>>;
|
|
45
|
+
/** An abstract syntax tree of the transcript for the clip. */
|
|
44
46
|
readonly transcript?: Maybe<RichText>;
|
|
45
47
|
};
|
|
46
48
|
|
|
47
49
|
export type AltStandfirst = {
|
|
50
|
+
/** An introductory paragraph of the article. */
|
|
48
51
|
readonly promotionalStandfirst?: Maybe<Scalars['String']['output']>;
|
|
49
52
|
};
|
|
50
53
|
|
|
51
54
|
export type AltTitle = {
|
|
55
|
+
/** A promotional title of the article. */
|
|
52
56
|
readonly promotionalTitle?: Maybe<Scalars['String']['output']>;
|
|
53
57
|
};
|
|
54
58
|
|
|
55
59
|
export type Article = Content & {
|
|
60
|
+
/** A scalar representing the access level of the article, eg. 'free'. */
|
|
56
61
|
readonly accessLevel?: Maybe<Scalars['AccessLevel']['output']>;
|
|
62
|
+
/** An alternative introductory paragraph of the article. */
|
|
57
63
|
readonly altStandfirst?: Maybe<AltStandfirst>;
|
|
64
|
+
/** An alternative title of the article. */
|
|
58
65
|
readonly altTitle?: Maybe<AltTitle>;
|
|
66
|
+
/** An array of concepts related to the article, eg. organisations or topics. */
|
|
59
67
|
readonly annotations?: Maybe<ReadonlyArray<Maybe<Concept>>>;
|
|
68
|
+
/** An abstract syntax tree of the article content. */
|
|
60
69
|
readonly body?: Maybe<RichText>;
|
|
70
|
+
/** The raw string of the XML as returned from ContentAPI. */
|
|
61
71
|
readonly bodyXML?: Maybe<Scalars['String']['output']>;
|
|
72
|
+
/** An abstract syntax tree of the authors of the article. */
|
|
62
73
|
readonly byline?: Maybe<StructuredContent>;
|
|
74
|
+
/** A scalar representing whether the article can be syndicated, ie. published by a third party site. */
|
|
63
75
|
readonly canBeSyndicated?: Maybe<Scalars['CanBeSyndicated']['output']>;
|
|
76
|
+
/** Whether comments are enabled on the article. */
|
|
64
77
|
readonly commentsEnabled?: Maybe<Scalars['Boolean']['output']>;
|
|
78
|
+
/** The parent article, indicating this article is a part of a series or package. */
|
|
65
79
|
readonly containedIn?: Maybe<Content>;
|
|
80
|
+
/** A design object containing the theme and layout of the article. */
|
|
66
81
|
readonly design?: Maybe<Design>;
|
|
82
|
+
/** The editorial division the article belongs to, eg. 'FT-SpecialReports'. */
|
|
67
83
|
readonly editorialDesk?: Maybe<Scalars['String']['output']>;
|
|
84
|
+
/** The first ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'. */
|
|
68
85
|
readonly firstPublishedDate: Scalars['String']['output'];
|
|
86
|
+
/** The unique identifier of the article - a uuid or a url. */
|
|
69
87
|
readonly id: Scalars['ID']['output'];
|
|
88
|
+
/** The concept to use for instant alert CTAs. */
|
|
70
89
|
readonly instantAlertConcept?: Maybe<Concept>;
|
|
90
|
+
/** An image object containing the url and the caption, to be displayed usually before the article content. */
|
|
71
91
|
readonly mainImage?: Maybe<Image>;
|
|
92
|
+
/** The party that originated the article, eg. 'FT'. */
|
|
72
93
|
readonly originatingParty?: Maybe<Scalars['String']['output']>;
|
|
94
|
+
/** The ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'. */
|
|
73
95
|
readonly publishedDate: Scalars['String']['output'];
|
|
96
|
+
/** The number of milliseconds since the unix epoch the article was published, eg '1712140552443'. */
|
|
97
|
+
readonly publishedTimestamp: Scalars['Float']['output'];
|
|
98
|
+
/** An introductory paragraph of the article. */
|
|
74
99
|
readonly standfirst?: Maybe<Scalars['String']['output']>;
|
|
100
|
+
/** A promotional thumbnail / snapshot of the article. */
|
|
75
101
|
readonly teaser?: Maybe<Teaser>;
|
|
102
|
+
/** The title of the article. */
|
|
76
103
|
readonly title: Scalars['String']['output'];
|
|
104
|
+
/** A banner located usually at the top of articles containing the title, the standfirst and any images. */
|
|
77
105
|
readonly topper?: Maybe<Topper>;
|
|
106
|
+
/** The type of the article, eg. 'Article' or 'Video'. */
|
|
78
107
|
readonly type: Scalars['ContentType']['output'];
|
|
108
|
+
/** The url of the concept. Vanity urls replace long, randomly generated urls - they are more user friendly and concise. Relative urls are relative to the current domain. */
|
|
79
109
|
readonly url: Scalars['String']['output'];
|
|
80
110
|
};
|
|
81
111
|
|
|
@@ -91,29 +121,55 @@ export type ArticleUrlArgs = {
|
|
|
91
121
|
};
|
|
92
122
|
|
|
93
123
|
export type Audio = Content & {
|
|
124
|
+
/** A scalar representing the access level of the article, eg. 'free'. */
|
|
94
125
|
readonly accessLevel?: Maybe<Scalars['AccessLevel']['output']>;
|
|
126
|
+
/** An alternative introductory paragraph of the article. */
|
|
95
127
|
readonly altStandfirst?: Maybe<AltStandfirst>;
|
|
128
|
+
/** An alternative title of the article. */
|
|
96
129
|
readonly altTitle?: Maybe<AltTitle>;
|
|
130
|
+
/** An array of concepts related to the article, eg. organisations or topics. */
|
|
97
131
|
readonly annotations?: Maybe<ReadonlyArray<Maybe<Concept>>>;
|
|
132
|
+
/** An abstract syntax tree of the article content. */
|
|
98
133
|
readonly body?: Maybe<RichText>;
|
|
134
|
+
/** The raw string of the XML as returned from ContentAPI. */
|
|
99
135
|
readonly bodyXML?: Maybe<Scalars['String']['output']>;
|
|
136
|
+
/** An abstract syntax tree of the authors of the article. */
|
|
100
137
|
readonly byline?: Maybe<StructuredContent>;
|
|
138
|
+
/** A scalar representing whether the article can be syndicated, ie. published by a third party site. */
|
|
101
139
|
readonly canBeSyndicated?: Maybe<Scalars['CanBeSyndicated']['output']>;
|
|
140
|
+
/** Whether comments are enabled on the article. */
|
|
102
141
|
readonly commentsEnabled?: Maybe<Scalars['Boolean']['output']>;
|
|
142
|
+
/** A design object containing the theme and layout of the article. */
|
|
103
143
|
readonly design?: Maybe<Design>;
|
|
144
|
+
/** The editorial division the article belongs to, eg. 'FT-SpecialReports'. */
|
|
104
145
|
readonly editorialDesk?: Maybe<Scalars['String']['output']>;
|
|
146
|
+
/** The first ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'. */
|
|
105
147
|
readonly firstPublishedDate: Scalars['String']['output'];
|
|
148
|
+
/** The unique identifier of the article - a uuid or a url. */
|
|
106
149
|
readonly id: Scalars['ID']['output'];
|
|
150
|
+
/** The concept to use for instant alert CTAs. */
|
|
107
151
|
readonly instantAlertConcept?: Maybe<Concept>;
|
|
152
|
+
/** An image object containing the url and the caption, to be displayed usually before the article content. */
|
|
108
153
|
readonly mainImage?: Maybe<Image>;
|
|
154
|
+
/** An array of media objects containing the url, the duration, the filesize and the media type. */
|
|
109
155
|
readonly media?: Maybe<ReadonlyArray<Maybe<Media>>>;
|
|
156
|
+
/** The party that originated the article, eg. 'FT'. */
|
|
110
157
|
readonly originatingParty?: Maybe<Scalars['String']['output']>;
|
|
158
|
+
/** The ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'. */
|
|
111
159
|
readonly publishedDate: Scalars['String']['output'];
|
|
160
|
+
/** The number of milliseconds since the unix epoch the article was published, eg '1712140552443'. */
|
|
161
|
+
readonly publishedTimestamp: Scalars['Float']['output'];
|
|
162
|
+
/** An introductory paragraph of the article. */
|
|
112
163
|
readonly standfirst?: Maybe<Scalars['String']['output']>;
|
|
164
|
+
/** A promotional thumbnail / snapshot of the article. */
|
|
113
165
|
readonly teaser?: Maybe<Teaser>;
|
|
166
|
+
/** The title of the article. */
|
|
114
167
|
readonly title: Scalars['String']['output'];
|
|
168
|
+
/** A banner located usually at the top of articles containing the title, the standfirst and any images. */
|
|
115
169
|
readonly topper?: Maybe<Topper>;
|
|
170
|
+
/** The type of the article, eg. 'Article' or 'Video'. */
|
|
116
171
|
readonly type: Scalars['ContentType']['output'];
|
|
172
|
+
/** The url of the concept. Vanity urls replace long, randomly generated urls - they are more user friendly and concise. Relative urls are relative to the current domain. */
|
|
117
173
|
readonly url: Scalars['String']['output'];
|
|
118
174
|
};
|
|
119
175
|
|
|
@@ -129,114 +185,200 @@ export type AudioUrlArgs = {
|
|
|
129
185
|
};
|
|
130
186
|
|
|
131
187
|
export type BasicTopper = Topper & {
|
|
188
|
+
/** Whether the topper should have a background box. */
|
|
132
189
|
readonly backgroundBox?: Maybe<Scalars['Boolean']['output']>;
|
|
190
|
+
/** The background colour of the topper. */
|
|
133
191
|
readonly backgroundColour?: Maybe<Scalars['TopperBackgroundColour']['output']>;
|
|
192
|
+
/** The concept object to be displayed, eg. {'type': 'TOPIC', 'prefLabel': 'Non-dom tax status', ...}. */
|
|
134
193
|
readonly displayConcept?: Maybe<Concept>;
|
|
194
|
+
/** The variant of the follow button to be displayed on the topper. */
|
|
135
195
|
readonly followButtonVariant?: Maybe<Scalars['FollowButtonVariant']['output']>;
|
|
196
|
+
/** The concept object of the genre, eg. {'type': 'GENRE', 'prefLabel': 'Opinion', ...}. */
|
|
136
197
|
readonly genreConcept?: Maybe<Concept>;
|
|
198
|
+
/** The headline text of the topper. */
|
|
137
199
|
readonly headline: Scalars['String']['output'];
|
|
200
|
+
/** An abstract syntax tree of the introduction text. */
|
|
138
201
|
readonly intro?: Maybe<RichText>;
|
|
202
|
+
/** Whether the topper should have a text shadow. */
|
|
139
203
|
readonly textShadow?: Maybe<Scalars['Boolean']['output']>;
|
|
140
204
|
};
|
|
141
205
|
|
|
142
206
|
export type BrandedTopper = Topper & TopperWithBrand & TopperWithTheme & {
|
|
207
|
+
/** Whether the topper should have a background box. */
|
|
143
208
|
readonly backgroundBox?: Maybe<Scalars['Boolean']['output']>;
|
|
209
|
+
/** The background colour of the topper. */
|
|
144
210
|
readonly backgroundColour?: Maybe<Scalars['TopperBackgroundColour']['output']>;
|
|
211
|
+
/** The concept object of the brand, eg. {'type': 'BRAND', 'prefLabel': 'FT Magazine', ...}. */
|
|
145
212
|
readonly brandConcept?: Maybe<Concept>;
|
|
213
|
+
/** The concept object to be displayed, eg. {'type': 'TOPIC', 'prefLabel': 'Non-dom tax status', ...}. */
|
|
146
214
|
readonly displayConcept?: Maybe<Concept>;
|
|
215
|
+
/** The variant of the follow button to be displayed on the topper. */
|
|
147
216
|
readonly followButtonVariant?: Maybe<Scalars['FollowButtonVariant']['output']>;
|
|
217
|
+
/** The concept object of the genre, eg. {'type': 'GENRE', 'prefLabel': 'Opinion', ...}. */
|
|
148
218
|
readonly genreConcept?: Maybe<Concept>;
|
|
219
|
+
/** The headline text of the topper. */
|
|
149
220
|
readonly headline: Scalars['String']['output'];
|
|
221
|
+
/** An abstract syntax tree of the introduction text. */
|
|
150
222
|
readonly intro?: Maybe<RichText>;
|
|
223
|
+
/** Whether the headline should be large. */
|
|
151
224
|
readonly isLargeHeadline?: Maybe<Scalars['Boolean']['output']>;
|
|
225
|
+
/** The layout of the topper, eg. 'split-text-left'. */
|
|
152
226
|
readonly layout?: Maybe<Scalars['String']['output']>;
|
|
227
|
+
/** Whether the topper should have a text shadow. */
|
|
153
228
|
readonly textShadow?: Maybe<Scalars['Boolean']['output']>;
|
|
154
229
|
};
|
|
155
230
|
|
|
156
231
|
export type Caption = {
|
|
232
|
+
/** The media type of the caption eg. text/vtt. */
|
|
157
233
|
readonly mediaType?: Maybe<Scalars['String']['output']>;
|
|
234
|
+
/** The url of the caption, eg. 'https://next-media-api.ft.com/clips/captions/32065513'. */
|
|
158
235
|
readonly url?: Maybe<Scalars['String']['output']>;
|
|
159
236
|
};
|
|
160
237
|
|
|
161
238
|
export type Clip = {
|
|
239
|
+
/** An array of data sources - includes 'video/mp4' and 'audio/mp3' sources. */
|
|
162
240
|
readonly dataSource: ReadonlyArray<ClipSource>;
|
|
241
|
+
/** The format of the clip, eg. 'standard-inline' or 'mobile'. */
|
|
163
242
|
readonly format?: Maybe<Scalars['ClipFormat']['output']>;
|
|
243
|
+
/** The unique identifier of the clip - a uuid or a url. */
|
|
164
244
|
readonly id: Scalars['String']['output'];
|
|
245
|
+
/** The url of the image to be used as a poster for the clip, eg. 'https://www.ft.com/__origami/service/image...'. */
|
|
165
246
|
readonly poster?: Maybe<Scalars['String']['output']>;
|
|
247
|
+
/** The type of the clip, eg. 'http://www.ft.com/ontology/content/Clip'. */
|
|
166
248
|
readonly type?: Maybe<Scalars['String']['output']>;
|
|
167
249
|
};
|
|
168
250
|
|
|
169
251
|
export type ClipSet = Reference & {
|
|
252
|
+
/** An object containing the accessibility details of the clip. */
|
|
170
253
|
readonly accessibility?: Maybe<Accessibility>;
|
|
254
|
+
/** Whether the clip should play automatically when loaded. */
|
|
171
255
|
readonly autoplay?: Maybe<Scalars['Boolean']['output']>;
|
|
256
|
+
/** Text describing the content of the clip, to be shown next to the clip. */
|
|
172
257
|
readonly caption?: Maybe<Scalars['String']['output']>;
|
|
258
|
+
/** An array of clips in the clip set. */
|
|
173
259
|
readonly clips?: Maybe<ReadonlyArray<Maybe<Clip>>>;
|
|
260
|
+
/** An array of content warnings for the clip set. */
|
|
174
261
|
readonly contentWarning?: Maybe<ReadonlyArray<Maybe<Scalars['String']['output']>>>;
|
|
262
|
+
/** The credit text of the clip, eg. 'Getty Images'. */
|
|
175
263
|
readonly credits?: Maybe<Scalars['String']['output']>;
|
|
264
|
+
/** The layout of the clip set, eg. 'in-line'. */
|
|
176
265
|
readonly dataLayout?: Maybe<Scalars['String']['output']>;
|
|
266
|
+
/** The description of the clip. */
|
|
177
267
|
readonly description?: Maybe<Scalars['String']['output']>;
|
|
268
|
+
/** The title to be displayed for the clip set. */
|
|
178
269
|
readonly displayTitle?: Maybe<Scalars['String']['output']>;
|
|
270
|
+
/** The unique identifier of the clip set. */
|
|
179
271
|
readonly id: Scalars['String']['output'];
|
|
272
|
+
/** Whether the clip should loop. */
|
|
180
273
|
readonly loop?: Maybe<Scalars['Boolean']['output']>;
|
|
274
|
+
/** Whether the clip should be muted. */
|
|
181
275
|
readonly muted?: Maybe<Scalars['Boolean']['output']>;
|
|
276
|
+
/** Whether the clip set should **not** include audio. */
|
|
182
277
|
readonly noAudio?: Maybe<Scalars['Boolean']['output']>;
|
|
278
|
+
/** The date the clip set was published. */
|
|
183
279
|
readonly publishedDate?: Maybe<Scalars['String']['output']>;
|
|
280
|
+
/** The source of the clip set, eg. 'YouTube'. */
|
|
184
281
|
readonly source?: Maybe<Scalars['String']['output']>;
|
|
282
|
+
/** The subtitle of the clip set. */
|
|
185
283
|
readonly subtitle?: Maybe<Scalars['String']['output']>;
|
|
284
|
+
/** The type of the clip set, eg. 'video'. */
|
|
186
285
|
readonly type: Scalars['String']['output'];
|
|
187
286
|
};
|
|
188
287
|
|
|
189
288
|
export type ClipSource = {
|
|
289
|
+
/** The audio encoding format of the source, eg. mp3. */
|
|
190
290
|
readonly audioCodec?: Maybe<Scalars['String']['output']>;
|
|
291
|
+
/** The url of the clip source, eg. 'https://next-media-api.ft.com/renditions/16868569859480/0x0.mp3'. */
|
|
191
292
|
readonly binaryUrl: Scalars['String']['output'];
|
|
293
|
+
/** The duration of the clip in milliseconds. */
|
|
192
294
|
readonly duration?: Maybe<Scalars['Int']['output']>;
|
|
295
|
+
/** The media type eg. video/mp4. */
|
|
193
296
|
readonly mediaType: Scalars['String']['output'];
|
|
297
|
+
/** The height of the clip in pixels. */
|
|
194
298
|
readonly pixelHeight?: Maybe<Scalars['Int']['output']>;
|
|
299
|
+
/** The width of the clip in pixels. */
|
|
195
300
|
readonly pixelWidth?: Maybe<Scalars['Int']['output']>;
|
|
301
|
+
/** The video encoding format of the source, eg. h264. */
|
|
196
302
|
readonly videoCodec?: Maybe<Scalars['String']['output']>;
|
|
197
303
|
};
|
|
198
304
|
|
|
305
|
+
/** A concept is supplemtary information item, like a location, person, organisation or topic. It is used to provide context to an article. */
|
|
199
306
|
export type Concept = {
|
|
307
|
+
/** The api url of the concept, eg. 'http://api.ft.com/things/a579350c-61ce-4c00-97ca-ddaa2e0cacf6'. */
|
|
200
308
|
readonly apiUrl?: Maybe<Scalars['String']['output']>;
|
|
309
|
+
/** The type of the concept, eg. 'http://www.ft.com/ontology/Topic'. */
|
|
201
310
|
readonly directType?: Maybe<Scalars['String']['output']>;
|
|
311
|
+
/** The unique identifier of the concept - a uuid or a url. */
|
|
202
312
|
readonly id: Scalars['ID']['output'];
|
|
313
|
+
/** Whether the concept is part of a package brand eg. 'ftSeries' or 'ftGuides'. */
|
|
203
314
|
readonly isPackageBrand?: Maybe<Scalars['Boolean']['output']>;
|
|
315
|
+
/** The relationship between the concept and the article, eg. 'http://www.ft.com/ontology/hasAuthor'. */
|
|
204
316
|
readonly predicate?: Maybe<Scalars['String']['output']>;
|
|
317
|
+
/** The preferred label of the concept, eg. 'Work & Careers'. */
|
|
205
318
|
readonly prefLabel: Scalars['String']['output'];
|
|
319
|
+
/** The type of the concept, eg. 'TOPIC'. */
|
|
206
320
|
readonly type?: Maybe<Scalars['String']['output']>;
|
|
321
|
+
/** An array of types, eg. ['http://www.ft.com/ontology/core/Thing', 'http://www.ft.com/ontology/Topic']. */
|
|
207
322
|
readonly types?: Maybe<ReadonlyArray<Scalars['String']['output']>>;
|
|
323
|
+
/** The url of the media, eg. 'https://next-media-api.ft.com/renditions/16868569859480/0x0.mp3'. */
|
|
208
324
|
readonly url: Scalars['String']['output'];
|
|
209
325
|
};
|
|
210
326
|
|
|
211
327
|
|
|
328
|
+
/** A concept is supplemtary information item, like a location, person, organisation or topic. It is used to provide context to an article. */
|
|
212
329
|
export type ConceptUrlArgs = {
|
|
213
330
|
relative?: InputMaybe<Scalars['Boolean']['input']>;
|
|
214
331
|
vanity?: InputMaybe<Scalars['Boolean']['input']>;
|
|
215
332
|
};
|
|
216
333
|
|
|
217
334
|
export type Content = {
|
|
335
|
+
/** A scalar representing the access level of the article, eg. 'free'. */
|
|
218
336
|
readonly accessLevel?: Maybe<Scalars['AccessLevel']['output']>;
|
|
337
|
+
/** An alternative introductory paragraph of the article. */
|
|
219
338
|
readonly altStandfirst?: Maybe<AltStandfirst>;
|
|
339
|
+
/** An alternative title of the article. */
|
|
220
340
|
readonly altTitle?: Maybe<AltTitle>;
|
|
341
|
+
/** An array of concepts related to the article, eg. organisations or topics. */
|
|
221
342
|
readonly annotations?: Maybe<ReadonlyArray<Maybe<Concept>>>;
|
|
343
|
+
/** An abstract syntax tree of the article content. */
|
|
222
344
|
readonly body?: Maybe<RichText>;
|
|
345
|
+
/** The raw string of the XML as returned from ContentAPI. */
|
|
223
346
|
readonly bodyXML?: Maybe<Scalars['String']['output']>;
|
|
347
|
+
/** An abstract syntax tree of the authors of the article. */
|
|
224
348
|
readonly byline?: Maybe<StructuredContent>;
|
|
349
|
+
/** A scalar representing whether the article can be syndicated, ie. published by a third party site. */
|
|
225
350
|
readonly canBeSyndicated?: Maybe<Scalars['CanBeSyndicated']['output']>;
|
|
351
|
+
/** Whether comments are enabled on the article. */
|
|
226
352
|
readonly commentsEnabled?: Maybe<Scalars['Boolean']['output']>;
|
|
353
|
+
/** A design object containing the theme and layout of the article. */
|
|
227
354
|
readonly design?: Maybe<Design>;
|
|
355
|
+
/** The editorial division the article belongs to, eg. 'FT-SpecialReports'. */
|
|
228
356
|
readonly editorialDesk?: Maybe<Scalars['String']['output']>;
|
|
357
|
+
/** The first ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'. */
|
|
229
358
|
readonly firstPublishedDate: Scalars['String']['output'];
|
|
359
|
+
/** The unique identifier of the article - a uuid or a url. */
|
|
230
360
|
readonly id: Scalars['ID']['output'];
|
|
361
|
+
/** The concept to use for instant alert CTAs. */
|
|
231
362
|
readonly instantAlertConcept?: Maybe<Concept>;
|
|
363
|
+
/** An image object containing the url and the caption, to be displayed usually before the article content. */
|
|
232
364
|
readonly mainImage?: Maybe<Image>;
|
|
365
|
+
/** The party that originated the article, eg. 'FT'. */
|
|
233
366
|
readonly originatingParty?: Maybe<Scalars['String']['output']>;
|
|
367
|
+
/** The ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'. */
|
|
234
368
|
readonly publishedDate: Scalars['String']['output'];
|
|
369
|
+
/** The number of milliseconds since the unix epoch the article was published, eg '1712140552443'. */
|
|
370
|
+
readonly publishedTimestamp: Scalars['Float']['output'];
|
|
371
|
+
/** An introductory paragraph of the article. */
|
|
235
372
|
readonly standfirst?: Maybe<Scalars['String']['output']>;
|
|
373
|
+
/** A promotional thumbnail / snapshot of the article. */
|
|
236
374
|
readonly teaser?: Maybe<Teaser>;
|
|
375
|
+
/** The title of the article. */
|
|
237
376
|
readonly title: Scalars['String']['output'];
|
|
377
|
+
/** A banner located usually at the top of articles containing the title, the standfirst and any images. */
|
|
238
378
|
readonly topper?: Maybe<Topper>;
|
|
379
|
+
/** The type of the article, eg. 'Article' or 'Video'. */
|
|
239
380
|
readonly type: Scalars['ContentType']['output'];
|
|
381
|
+
/** The url of the concept. Vanity urls replace long, randomly generated urls - they are more user friendly and concise. Relative urls are relative to the current domain. */
|
|
240
382
|
readonly url: Scalars['String']['output'];
|
|
241
383
|
};
|
|
242
384
|
|
|
@@ -252,31 +394,59 @@ export type ContentUrlArgs = {
|
|
|
252
394
|
};
|
|
253
395
|
|
|
254
396
|
export type ContentPackage = Content & {
|
|
397
|
+
/** A scalar representing the access level of the article, eg. 'free'. */
|
|
255
398
|
readonly accessLevel?: Maybe<Scalars['AccessLevel']['output']>;
|
|
399
|
+
/** An alternative introductory paragraph of the article. */
|
|
256
400
|
readonly altStandfirst?: Maybe<AltStandfirst>;
|
|
401
|
+
/** An alternative title of the article. */
|
|
257
402
|
readonly altTitle?: Maybe<AltTitle>;
|
|
403
|
+
/** An array of concepts related to the article, eg. organisations or topics. */
|
|
258
404
|
readonly annotations?: Maybe<ReadonlyArray<Maybe<Concept>>>;
|
|
405
|
+
/** An abstract syntax tree of the article content. */
|
|
259
406
|
readonly body?: Maybe<RichText>;
|
|
407
|
+
/** The raw string of the XML as returned from ContentAPI. */
|
|
260
408
|
readonly bodyXML?: Maybe<Scalars['String']['output']>;
|
|
409
|
+
/** An abstract syntax tree of the authors of the article. */
|
|
261
410
|
readonly byline?: Maybe<StructuredContent>;
|
|
411
|
+
/** A scalar representing whether the article can be syndicated, ie. published by a third party site. */
|
|
262
412
|
readonly canBeSyndicated?: Maybe<Scalars['CanBeSyndicated']['output']>;
|
|
413
|
+
/** Whether comments are enabled on the article. */
|
|
263
414
|
readonly commentsEnabled?: Maybe<Scalars['Boolean']['output']>;
|
|
415
|
+
/** The child articles of this content package. */
|
|
264
416
|
readonly contains?: Maybe<ReadonlyArray<Maybe<Teaser>>>;
|
|
417
|
+
/** The number of child articles in this content package. */
|
|
265
418
|
readonly containsLength?: Maybe<Scalars['Int']['output']>;
|
|
419
|
+
/** A design object containing the theme and layout of the article. */
|
|
266
420
|
readonly design?: Maybe<Design>;
|
|
421
|
+
/** The editorial division the article belongs to, eg. 'FT-SpecialReports'. */
|
|
267
422
|
readonly editorialDesk?: Maybe<Scalars['String']['output']>;
|
|
423
|
+
/** The first ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'. */
|
|
268
424
|
readonly firstPublishedDate: Scalars['String']['output'];
|
|
425
|
+
/** The unique identifier of the article - a uuid or a url. */
|
|
269
426
|
readonly id: Scalars['ID']['output'];
|
|
427
|
+
/** The concept to use for instant alert CTAs. */
|
|
270
428
|
readonly instantAlertConcept?: Maybe<Concept>;
|
|
429
|
+
/** An image object containing the url and the caption, to be displayed usually before the article content. */
|
|
271
430
|
readonly mainImage?: Maybe<Image>;
|
|
431
|
+
/** The party that originated the article, eg. 'FT'. */
|
|
272
432
|
readonly originatingParty?: Maybe<Scalars['String']['output']>;
|
|
433
|
+
/** The ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'. */
|
|
273
434
|
readonly publishedDate: Scalars['String']['output'];
|
|
435
|
+
/** The number of milliseconds since the unix epoch the article was published, eg '1712140552443'. */
|
|
436
|
+
readonly publishedTimestamp: Scalars['Float']['output'];
|
|
437
|
+
/** An introductory paragraph of the article. */
|
|
274
438
|
readonly standfirst?: Maybe<Scalars['String']['output']>;
|
|
439
|
+
/** The optional table of contents for this content package. */
|
|
275
440
|
readonly tableOfContents?: Maybe<TableOfContents>;
|
|
441
|
+
/** A promotional thumbnail / snapshot of the article. */
|
|
276
442
|
readonly teaser?: Maybe<Teaser>;
|
|
443
|
+
/** The title of the article. */
|
|
277
444
|
readonly title: Scalars['String']['output'];
|
|
445
|
+
/** A banner located usually at the top of articles containing the title, the standfirst and any images. */
|
|
278
446
|
readonly topper?: Maybe<Topper>;
|
|
447
|
+
/** The type of the article, eg. 'Article' or 'Video'. */
|
|
279
448
|
readonly type: Scalars['ContentType']['output'];
|
|
449
|
+
/** The url of the concept. Vanity urls replace long, randomly generated urls - they are more user friendly and concise. Relative urls are relative to the current domain. */
|
|
280
450
|
readonly url: Scalars['String']['output'];
|
|
281
451
|
};
|
|
282
452
|
|
|
@@ -298,79 +468,135 @@ export type ContentPackageUrlArgs = {
|
|
|
298
468
|
};
|
|
299
469
|
|
|
300
470
|
export type DeepLandscapeTopper = Topper & TopperWithBrand & TopperWithImages & TopperWithTheme & {
|
|
471
|
+
/** Whether the topper should have a background box. */
|
|
301
472
|
readonly backgroundBox?: Maybe<Scalars['Boolean']['output']>;
|
|
473
|
+
/** The background colour of the topper. */
|
|
302
474
|
readonly backgroundColour?: Maybe<Scalars['TopperBackgroundColour']['output']>;
|
|
475
|
+
/** The concept object of the brand, eg. {'type': 'BRAND', 'prefLabel': 'FT Magazine', ...}. */
|
|
303
476
|
readonly brandConcept?: Maybe<Concept>;
|
|
477
|
+
/** The concept object to be displayed, eg. {'type': 'TOPIC', 'prefLabel': 'Non-dom tax status', ...}. */
|
|
304
478
|
readonly displayConcept?: Maybe<Concept>;
|
|
479
|
+
/** A fallback image to be used if the 'images' are not availableimages: [Image!]!. */
|
|
305
480
|
readonly fallbackImage?: Maybe<Image>;
|
|
481
|
+
/** The variant of the follow button to be displayed on the topper. */
|
|
306
482
|
readonly followButtonVariant?: Maybe<Scalars['FollowButtonVariant']['output']>;
|
|
483
|
+
/** The concept object of the genre, eg. {'type': 'GENRE', 'prefLabel': 'Opinion', ...}. */
|
|
307
484
|
readonly genreConcept?: Maybe<Concept>;
|
|
485
|
+
/** The headline text of the topper. */
|
|
308
486
|
readonly headline: Scalars['String']['output'];
|
|
487
|
+
/** An array of images to be displayed on the topper. */
|
|
309
488
|
readonly images: ReadonlyArray<Image>;
|
|
489
|
+
/** An abstract syntax tree of the introduction text. */
|
|
310
490
|
readonly intro?: Maybe<RichText>;
|
|
491
|
+
/** Whether the headline should be large. */
|
|
311
492
|
readonly isLargeHeadline?: Maybe<Scalars['Boolean']['output']>;
|
|
493
|
+
/** The layout of the topper, eg. 'split-text-left'. */
|
|
312
494
|
readonly layout?: Maybe<Scalars['String']['output']>;
|
|
495
|
+
/** Whether the topper should have a text shadow. */
|
|
313
496
|
readonly textShadow?: Maybe<Scalars['Boolean']['output']>;
|
|
314
497
|
};
|
|
315
498
|
|
|
316
499
|
export type DeepPortraitTopper = Topper & TopperWithBrand & TopperWithImages & TopperWithTheme & {
|
|
500
|
+
/** Whether the topper should have a background box. */
|
|
317
501
|
readonly backgroundBox?: Maybe<Scalars['Boolean']['output']>;
|
|
502
|
+
/** The background colour of the topper. */
|
|
318
503
|
readonly backgroundColour?: Maybe<Scalars['TopperBackgroundColour']['output']>;
|
|
504
|
+
/** The concept object of the brand, eg. {'type': 'BRAND', 'prefLabel': 'FT Magazine', ...}. */
|
|
319
505
|
readonly brandConcept?: Maybe<Concept>;
|
|
506
|
+
/** The concept object to be displayed, eg. {'type': 'TOPIC', 'prefLabel': 'Non-dom tax status', ...}. */
|
|
320
507
|
readonly displayConcept?: Maybe<Concept>;
|
|
508
|
+
/** A fallback image to be used if the 'images' are not availableimages: [Image!]!. */
|
|
321
509
|
readonly fallbackImage?: Maybe<Image>;
|
|
510
|
+
/** The variant of the follow button to be displayed on the topper. */
|
|
322
511
|
readonly followButtonVariant?: Maybe<Scalars['FollowButtonVariant']['output']>;
|
|
512
|
+
/** The concept object of the genre, eg. {'type': 'GENRE', 'prefLabel': 'Opinion', ...}. */
|
|
323
513
|
readonly genreConcept?: Maybe<Concept>;
|
|
514
|
+
/** The headline text of the topper. */
|
|
324
515
|
readonly headline: Scalars['String']['output'];
|
|
516
|
+
/** An array of images to be displayed on the topper. */
|
|
325
517
|
readonly images: ReadonlyArray<Image>;
|
|
518
|
+
/** An abstract syntax tree of the introduction text. */
|
|
326
519
|
readonly intro?: Maybe<RichText>;
|
|
520
|
+
/** Whether the headline should be large. */
|
|
327
521
|
readonly isLargeHeadline?: Maybe<Scalars['Boolean']['output']>;
|
|
522
|
+
/** The layout of the topper, eg. 'split-text-left'. */
|
|
328
523
|
readonly layout?: Maybe<Scalars['String']['output']>;
|
|
524
|
+
/** Whether the topper should have a text shadow. */
|
|
329
525
|
readonly textShadow?: Maybe<Scalars['Boolean']['output']>;
|
|
330
526
|
};
|
|
331
527
|
|
|
332
528
|
export type Design = {
|
|
529
|
+
/** The layout, eg. 'default'. */
|
|
333
530
|
readonly layout?: Maybe<Scalars['String']['output']>;
|
|
531
|
+
/** A scalar representing the theme of the design, eg. 'extra-wide'. */
|
|
334
532
|
readonly theme?: Maybe<Scalars['PackageDesign']['output']>;
|
|
335
533
|
};
|
|
336
534
|
|
|
337
535
|
export type Flourish = Reference & {
|
|
536
|
+
/** The fallback image to be used if the flourish graphics cannot be loaded. */
|
|
338
537
|
readonly fallbackImage?: Maybe<FlourishFallback>;
|
|
538
|
+
/** The type of the reference, eg. 'flourish'. */
|
|
339
539
|
readonly type: Scalars['String']['output'];
|
|
340
540
|
};
|
|
341
541
|
|
|
342
542
|
export type FlourishFallback = {
|
|
543
|
+
/** The height in pixels of the fallback image. */
|
|
343
544
|
readonly height?: Maybe<Scalars['Int']['output']>;
|
|
545
|
+
/** The url of the fallback image. */
|
|
344
546
|
readonly url?: Maybe<Scalars['String']['output']>;
|
|
547
|
+
/** The width in pixels of the fallback image. */
|
|
345
548
|
readonly width?: Maybe<Scalars['Int']['output']>;
|
|
346
549
|
};
|
|
347
550
|
|
|
348
551
|
export type FullBleedTopper = Topper & TopperWithBrand & TopperWithImages & TopperWithTheme & {
|
|
552
|
+
/** Whether the topper should have a background box. */
|
|
349
553
|
readonly backgroundBox?: Maybe<Scalars['Boolean']['output']>;
|
|
554
|
+
/** The background colour of the topper. */
|
|
350
555
|
readonly backgroundColour?: Maybe<Scalars['TopperBackgroundColour']['output']>;
|
|
556
|
+
/** The concept object of the brand, eg. {'type': 'BRAND', 'prefLabel': 'FT Magazine', ...}. */
|
|
351
557
|
readonly brandConcept?: Maybe<Concept>;
|
|
558
|
+
/** The concept object to be displayed, eg. {'type': 'TOPIC', 'prefLabel': 'Non-dom tax status', ...}. */
|
|
352
559
|
readonly displayConcept?: Maybe<Concept>;
|
|
560
|
+
/** A fallback image to be used if the 'images' are not availableimages: [Image!]!. */
|
|
353
561
|
readonly fallbackImage?: Maybe<Image>;
|
|
562
|
+
/** The variant of the follow button to be displayed on the topper. */
|
|
354
563
|
readonly followButtonVariant?: Maybe<Scalars['FollowButtonVariant']['output']>;
|
|
564
|
+
/** The concept object of the genre, eg. {'type': 'GENRE', 'prefLabel': 'Opinion', ...}. */
|
|
355
565
|
readonly genreConcept?: Maybe<Concept>;
|
|
566
|
+
/** The headline text of the topper. */
|
|
356
567
|
readonly headline: Scalars['String']['output'];
|
|
568
|
+
/** An array of images to be displayed on the topper. */
|
|
357
569
|
readonly images: ReadonlyArray<Image>;
|
|
570
|
+
/** An abstract syntax tree of the introduction text. */
|
|
358
571
|
readonly intro?: Maybe<RichText>;
|
|
572
|
+
/** Whether the headline should be large. */
|
|
359
573
|
readonly isLargeHeadline?: Maybe<Scalars['Boolean']['output']>;
|
|
574
|
+
/** The layout of the topper, eg. 'split-text-left'. */
|
|
360
575
|
readonly layout?: Maybe<Scalars['String']['output']>;
|
|
576
|
+
/** Whether the topper should have a text shadow. */
|
|
361
577
|
readonly textShadow?: Maybe<Scalars['Boolean']['output']>;
|
|
362
578
|
};
|
|
363
579
|
|
|
364
580
|
export type Image = {
|
|
581
|
+
/** Text describing the content of the image, usually hidden from the user unless the image is not available. It is to be read by screen readers. */
|
|
365
582
|
readonly altText?: Maybe<Scalars['String']['output']>;
|
|
583
|
+
/** Text describing the content of the image, always shown next to the image. */
|
|
366
584
|
readonly caption?: Maybe<Scalars['String']['output']>;
|
|
585
|
+
/** The credit of the image, eg. 'Getty Images'. */
|
|
367
586
|
readonly credit?: Maybe<Scalars['String']['output']>;
|
|
587
|
+
/** The format of the image, eg. 'portrait'. */
|
|
368
588
|
readonly format: Scalars['ImageFormat']['output'];
|
|
589
|
+
/** The height of the image in pixels. */
|
|
369
590
|
readonly height?: Maybe<Scalars['Int']['output']>;
|
|
591
|
+
/** The unique identifier of the image - a uuid or a url. */
|
|
370
592
|
readonly id: Scalars['String']['output'];
|
|
593
|
+
/** An array of image sources, ie. different images to render based on input width resulting in responsive images. */
|
|
371
594
|
readonly sourceSet: ReadonlyArray<ImageSource>;
|
|
595
|
+
/** The type of the image, eg. 'graphic'. */
|
|
372
596
|
readonly type?: Maybe<Scalars['ImageType']['output']>;
|
|
597
|
+
/** The url of the image, eg. 'https://www.ft.com/__origami/service/image/v2/images/raw/ftcms%3Aimage%3A0e7e7b6e-4e7b-11e9-bde6-79e4b4311f90?source=next&fit=scale-down&width=700'. */
|
|
373
598
|
readonly url?: Maybe<Scalars['String']['output']>;
|
|
599
|
+
/** The width of the image in pixels. */
|
|
374
600
|
readonly width?: Maybe<Scalars['Int']['output']>;
|
|
375
601
|
};
|
|
376
602
|
|
|
@@ -381,15 +607,25 @@ export type ImageSourceSetArgs = {
|
|
|
381
607
|
};
|
|
382
608
|
|
|
383
609
|
export type ImageDesktop = Image & {
|
|
610
|
+
/** Text describing the content of the image, usually hidden from the user unless the image is not available. It is to be read by screen readers. */
|
|
384
611
|
readonly altText?: Maybe<Scalars['String']['output']>;
|
|
612
|
+
/** Text describing the content of the image, always shown next to the image. */
|
|
385
613
|
readonly caption?: Maybe<Scalars['String']['output']>;
|
|
614
|
+
/** The credit of the image, eg. 'Getty Images'. */
|
|
386
615
|
readonly credit?: Maybe<Scalars['String']['output']>;
|
|
616
|
+
/** The format of the image, eg. 'portrait'. */
|
|
387
617
|
readonly format: Scalars['ImageFormat']['output'];
|
|
618
|
+
/** The height of the image in pixels. */
|
|
388
619
|
readonly height?: Maybe<Scalars['Int']['output']>;
|
|
620
|
+
/** The unique identifier of the image - a uuid or a url. */
|
|
389
621
|
readonly id: Scalars['String']['output'];
|
|
622
|
+
/** An array of image sources, ie. different images to render based on input width resulting in responsive images. */
|
|
390
623
|
readonly sourceSet: ReadonlyArray<ImageSource>;
|
|
624
|
+
/** The type of the image, eg. 'graphic'. */
|
|
391
625
|
readonly type?: Maybe<Scalars['ImageType']['output']>;
|
|
626
|
+
/** The url of the image, eg. 'https://www.ft.com/__origami/service/image/v2/images/raw/ftcms%3Aimage%3A0e7e7b6e-4e7b-11e9-bde6-79e4b4311f90?source=next&fit=scale-down&width=700'. */
|
|
392
627
|
readonly url?: Maybe<Scalars['String']['output']>;
|
|
628
|
+
/** The width of the image in pixels. */
|
|
393
629
|
readonly width?: Maybe<Scalars['Int']['output']>;
|
|
394
630
|
};
|
|
395
631
|
|
|
@@ -400,15 +636,25 @@ export type ImageDesktopSourceSetArgs = {
|
|
|
400
636
|
};
|
|
401
637
|
|
|
402
638
|
export type ImageLandscape = Image & {
|
|
639
|
+
/** Text describing the content of the image, usually hidden from the user unless the image is not available. It is to be read by screen readers. */
|
|
403
640
|
readonly altText?: Maybe<Scalars['String']['output']>;
|
|
641
|
+
/** Text describing the content of the image, always shown next to the image. */
|
|
404
642
|
readonly caption?: Maybe<Scalars['String']['output']>;
|
|
643
|
+
/** The credit of the image, eg. 'Getty Images'. */
|
|
405
644
|
readonly credit?: Maybe<Scalars['String']['output']>;
|
|
645
|
+
/** The format of the image, eg. 'portrait'. */
|
|
406
646
|
readonly format: Scalars['ImageFormat']['output'];
|
|
647
|
+
/** The height of the image in pixels. */
|
|
407
648
|
readonly height?: Maybe<Scalars['Int']['output']>;
|
|
649
|
+
/** The unique identifier of the image - a uuid or a url. */
|
|
408
650
|
readonly id: Scalars['String']['output'];
|
|
651
|
+
/** An array of image sources, ie. different images to render based on input width resulting in responsive images. */
|
|
409
652
|
readonly sourceSet: ReadonlyArray<ImageSource>;
|
|
653
|
+
/** The type of the image, eg. 'graphic'. */
|
|
410
654
|
readonly type?: Maybe<Scalars['ImageType']['output']>;
|
|
655
|
+
/** The url of the image, eg. 'https://www.ft.com/__origami/service/image/v2/images/raw/ftcms%3Aimage%3A0e7e7b6e-4e7b-11e9-bde6-79e4b4311f90?source=next&fit=scale-down&width=700'. */
|
|
411
656
|
readonly url?: Maybe<Scalars['String']['output']>;
|
|
657
|
+
/** The width of the image in pixels. */
|
|
412
658
|
readonly width?: Maybe<Scalars['Int']['output']>;
|
|
413
659
|
};
|
|
414
660
|
|
|
@@ -419,15 +665,25 @@ export type ImageLandscapeSourceSetArgs = {
|
|
|
419
665
|
};
|
|
420
666
|
|
|
421
667
|
export type ImageMobile = Image & {
|
|
668
|
+
/** Text describing the content of the image, usually hidden from the user unless the image is not available. It is to be read by screen readers. */
|
|
422
669
|
readonly altText?: Maybe<Scalars['String']['output']>;
|
|
670
|
+
/** Text describing the content of the image, always shown next to the image. */
|
|
423
671
|
readonly caption?: Maybe<Scalars['String']['output']>;
|
|
672
|
+
/** The credit of the image, eg. 'Getty Images'. */
|
|
424
673
|
readonly credit?: Maybe<Scalars['String']['output']>;
|
|
674
|
+
/** The format of the image, eg. 'portrait'. */
|
|
425
675
|
readonly format: Scalars['ImageFormat']['output'];
|
|
676
|
+
/** The height of the image in pixels. */
|
|
426
677
|
readonly height?: Maybe<Scalars['Int']['output']>;
|
|
678
|
+
/** The unique identifier of the image - a uuid or a url. */
|
|
427
679
|
readonly id: Scalars['String']['output'];
|
|
680
|
+
/** An array of image sources, ie. different images to render based on input width resulting in responsive images. */
|
|
428
681
|
readonly sourceSet: ReadonlyArray<ImageSource>;
|
|
682
|
+
/** The type of the image, eg. 'graphic'. */
|
|
429
683
|
readonly type?: Maybe<Scalars['ImageType']['output']>;
|
|
684
|
+
/** The url of the image, eg. 'https://www.ft.com/__origami/service/image/v2/images/raw/ftcms%3Aimage%3A0e7e7b6e-4e7b-11e9-bde6-79e4b4311f90?source=next&fit=scale-down&width=700'. */
|
|
430
685
|
readonly url?: Maybe<Scalars['String']['output']>;
|
|
686
|
+
/** The width of the image in pixels. */
|
|
431
687
|
readonly width?: Maybe<Scalars['Int']['output']>;
|
|
432
688
|
};
|
|
433
689
|
|
|
@@ -438,15 +694,25 @@ export type ImageMobileSourceSetArgs = {
|
|
|
438
694
|
};
|
|
439
695
|
|
|
440
696
|
export type ImagePortrait = Image & {
|
|
697
|
+
/** Text describing the content of the image, usually hidden from the user unless the image is not available. It is to be read by screen readers. */
|
|
441
698
|
readonly altText?: Maybe<Scalars['String']['output']>;
|
|
699
|
+
/** Text describing the content of the image, always shown next to the image. */
|
|
442
700
|
readonly caption?: Maybe<Scalars['String']['output']>;
|
|
701
|
+
/** The credit of the image, eg. 'Getty Images'. */
|
|
443
702
|
readonly credit?: Maybe<Scalars['String']['output']>;
|
|
703
|
+
/** The format of the image, eg. 'portrait'. */
|
|
444
704
|
readonly format: Scalars['ImageFormat']['output'];
|
|
705
|
+
/** The height of the image in pixels. */
|
|
445
706
|
readonly height?: Maybe<Scalars['Int']['output']>;
|
|
707
|
+
/** The unique identifier of the image - a uuid or a url. */
|
|
446
708
|
readonly id: Scalars['String']['output'];
|
|
709
|
+
/** An array of image sources, ie. different images to render based on input width resulting in responsive images. */
|
|
447
710
|
readonly sourceSet: ReadonlyArray<ImageSource>;
|
|
711
|
+
/** The type of the image, eg. 'graphic'. */
|
|
448
712
|
readonly type?: Maybe<Scalars['ImageType']['output']>;
|
|
713
|
+
/** The url of the image, eg. 'https://www.ft.com/__origami/service/image/v2/images/raw/ftcms%3Aimage%3A0e7e7b6e-4e7b-11e9-bde6-79e4b4311f90?source=next&fit=scale-down&width=700'. */
|
|
449
714
|
readonly url?: Maybe<Scalars['String']['output']>;
|
|
715
|
+
/** The width of the image in pixels. */
|
|
450
716
|
readonly width?: Maybe<Scalars['Int']['output']>;
|
|
451
717
|
};
|
|
452
718
|
|
|
@@ -457,26 +723,41 @@ export type ImagePortraitSourceSetArgs = {
|
|
|
457
723
|
};
|
|
458
724
|
|
|
459
725
|
export type ImageSet = Reference & {
|
|
726
|
+
/** A set of images with different sizes and formats. */
|
|
460
727
|
readonly picture?: Maybe<Picture>;
|
|
728
|
+
/** The type of the reference, eg. 'image-set'. */
|
|
461
729
|
readonly type: Scalars['String']['output'];
|
|
462
730
|
};
|
|
463
731
|
|
|
464
732
|
export type ImageSource = {
|
|
733
|
+
/** The device pixel ratio. DPR is calculated as DPR = Physical Pixels (pixels seen on screen) / Logical Pixels (pixel that can fit in a given space). */
|
|
465
734
|
readonly dpr?: Maybe<Scalars['Int']['output']>;
|
|
735
|
+
/** The url of the image source, eg. 'https://www.ft.com/__origami/service/image/v2/images/raw/ftcms%3Aimage%3A0e7e7b6e-4e7b-11e9-bde6-79e4b4311f90?source=next&fit=scale-down&width=700'. */
|
|
466
736
|
readonly url: Scalars['String']['output'];
|
|
737
|
+
/** The width of the image source in pixels. */
|
|
467
738
|
readonly width?: Maybe<Scalars['Int']['output']>;
|
|
468
739
|
};
|
|
469
740
|
|
|
470
741
|
export type ImageSquare = Image & {
|
|
742
|
+
/** Text describing the content of the image, usually hidden from the user unless the image is not available. It is to be read by screen readers. */
|
|
471
743
|
readonly altText?: Maybe<Scalars['String']['output']>;
|
|
744
|
+
/** Text describing the content of the image, always shown next to the image. */
|
|
472
745
|
readonly caption?: Maybe<Scalars['String']['output']>;
|
|
746
|
+
/** The credit of the image, eg. 'Getty Images'. */
|
|
473
747
|
readonly credit?: Maybe<Scalars['String']['output']>;
|
|
748
|
+
/** The format of the image, eg. 'portrait'. */
|
|
474
749
|
readonly format: Scalars['ImageFormat']['output'];
|
|
750
|
+
/** The height of the image in pixels. */
|
|
475
751
|
readonly height?: Maybe<Scalars['Int']['output']>;
|
|
752
|
+
/** The unique identifier of the image - a uuid or a url. */
|
|
476
753
|
readonly id: Scalars['String']['output'];
|
|
754
|
+
/** An array of image sources, ie. different images to render based on input width resulting in responsive images. */
|
|
477
755
|
readonly sourceSet: ReadonlyArray<ImageSource>;
|
|
756
|
+
/** The type of the image, eg. 'graphic'. */
|
|
478
757
|
readonly type?: Maybe<Scalars['ImageType']['output']>;
|
|
758
|
+
/** The url of the image, eg. 'https://www.ft.com/__origami/service/image/v2/images/raw/ftcms%3Aimage%3A0e7e7b6e-4e7b-11e9-bde6-79e4b4311f90?source=next&fit=scale-down&width=700'. */
|
|
479
759
|
readonly url?: Maybe<Scalars['String']['output']>;
|
|
760
|
+
/** The width of the image in pixels. */
|
|
480
761
|
readonly width?: Maybe<Scalars['Int']['output']>;
|
|
481
762
|
};
|
|
482
763
|
|
|
@@ -487,15 +768,25 @@ export type ImageSquareSourceSetArgs = {
|
|
|
487
768
|
};
|
|
488
769
|
|
|
489
770
|
export type ImageSquareFtEdit = Image & {
|
|
771
|
+
/** Text describing the content of the image, usually hidden from the user unless the image is not available. It is to be read by screen readers. */
|
|
490
772
|
readonly altText?: Maybe<Scalars['String']['output']>;
|
|
773
|
+
/** Text describing the content of the image, always shown next to the image. */
|
|
491
774
|
readonly caption?: Maybe<Scalars['String']['output']>;
|
|
775
|
+
/** The credit of the image, eg. 'Getty Images'. */
|
|
492
776
|
readonly credit?: Maybe<Scalars['String']['output']>;
|
|
777
|
+
/** The format of the image, eg. 'portrait'. */
|
|
493
778
|
readonly format: Scalars['ImageFormat']['output'];
|
|
779
|
+
/** The height of the image in pixels. */
|
|
494
780
|
readonly height?: Maybe<Scalars['Int']['output']>;
|
|
781
|
+
/** The unique identifier of the image - a uuid or a url. */
|
|
495
782
|
readonly id: Scalars['String']['output'];
|
|
783
|
+
/** An array of image sources, ie. different images to render based on input width resulting in responsive images. */
|
|
496
784
|
readonly sourceSet: ReadonlyArray<ImageSource>;
|
|
785
|
+
/** The type of the image, eg. 'graphic'. */
|
|
497
786
|
readonly type?: Maybe<Scalars['ImageType']['output']>;
|
|
787
|
+
/** The url of the image, eg. 'https://www.ft.com/__origami/service/image/v2/images/raw/ftcms%3Aimage%3A0e7e7b6e-4e7b-11e9-bde6-79e4b4311f90?source=next&fit=scale-down&width=700'. */
|
|
498
788
|
readonly url?: Maybe<Scalars['String']['output']>;
|
|
789
|
+
/** The width of the image in pixels. */
|
|
499
790
|
readonly width?: Maybe<Scalars['Int']['output']>;
|
|
500
791
|
};
|
|
501
792
|
|
|
@@ -506,15 +797,25 @@ export type ImageSquareFtEditSourceSetArgs = {
|
|
|
506
797
|
};
|
|
507
798
|
|
|
508
799
|
export type ImageStandard = Image & {
|
|
800
|
+
/** Text describing the content of the image, usually hidden from the user unless the image is not available. It is to be read by screen readers. */
|
|
509
801
|
readonly altText?: Maybe<Scalars['String']['output']>;
|
|
802
|
+
/** Text describing the content of the image, always shown next to the image. */
|
|
510
803
|
readonly caption?: Maybe<Scalars['String']['output']>;
|
|
804
|
+
/** The credit of the image, eg. 'Getty Images'. */
|
|
511
805
|
readonly credit?: Maybe<Scalars['String']['output']>;
|
|
806
|
+
/** The format of the image, eg. 'portrait'. */
|
|
512
807
|
readonly format: Scalars['ImageFormat']['output'];
|
|
808
|
+
/** The height of the image in pixels. */
|
|
513
809
|
readonly height?: Maybe<Scalars['Int']['output']>;
|
|
810
|
+
/** The unique identifier of the image - a uuid or a url. */
|
|
514
811
|
readonly id: Scalars['String']['output'];
|
|
812
|
+
/** An array of image sources, ie. different images to render based on input width resulting in responsive images. */
|
|
515
813
|
readonly sourceSet: ReadonlyArray<ImageSource>;
|
|
814
|
+
/** The type of the image, eg. 'graphic'. */
|
|
516
815
|
readonly type?: Maybe<Scalars['ImageType']['output']>;
|
|
816
|
+
/** The url of the image, eg. 'https://www.ft.com/__origami/service/image/v2/images/raw/ftcms%3Aimage%3A0e7e7b6e-4e7b-11e9-bde6-79e4b4311f90?source=next&fit=scale-down&width=700'. */
|
|
517
817
|
readonly url?: Maybe<Scalars['String']['output']>;
|
|
818
|
+
/** The width of the image in pixels. */
|
|
518
819
|
readonly width?: Maybe<Scalars['Int']['output']>;
|
|
519
820
|
};
|
|
520
821
|
|
|
@@ -525,15 +826,25 @@ export type ImageStandardSourceSetArgs = {
|
|
|
525
826
|
};
|
|
526
827
|
|
|
527
828
|
export type ImageStandardInline = Image & {
|
|
829
|
+
/** Text describing the content of the image, usually hidden from the user unless the image is not available. It is to be read by screen readers. */
|
|
528
830
|
readonly altText?: Maybe<Scalars['String']['output']>;
|
|
831
|
+
/** Text describing the content of the image, always shown next to the image. */
|
|
529
832
|
readonly caption?: Maybe<Scalars['String']['output']>;
|
|
833
|
+
/** The credit of the image, eg. 'Getty Images'. */
|
|
530
834
|
readonly credit?: Maybe<Scalars['String']['output']>;
|
|
835
|
+
/** The format of the image, eg. 'portrait'. */
|
|
531
836
|
readonly format: Scalars['ImageFormat']['output'];
|
|
837
|
+
/** The height of the image in pixels. */
|
|
532
838
|
readonly height?: Maybe<Scalars['Int']['output']>;
|
|
839
|
+
/** The unique identifier of the image - a uuid or a url. */
|
|
533
840
|
readonly id: Scalars['String']['output'];
|
|
841
|
+
/** An array of image sources, ie. different images to render based on input width resulting in responsive images. */
|
|
534
842
|
readonly sourceSet: ReadonlyArray<ImageSource>;
|
|
843
|
+
/** The type of the image, eg. 'graphic'. */
|
|
535
844
|
readonly type?: Maybe<Scalars['ImageType']['output']>;
|
|
845
|
+
/** The url of the image, eg. 'https://www.ft.com/__origami/service/image/v2/images/raw/ftcms%3Aimage%3A0e7e7b6e-4e7b-11e9-bde6-79e4b4311f90?source=next&fit=scale-down&width=700'. */
|
|
536
846
|
readonly url?: Maybe<Scalars['String']['output']>;
|
|
847
|
+
/** The width of the image in pixels. */
|
|
537
848
|
readonly width?: Maybe<Scalars['Int']['output']>;
|
|
538
849
|
};
|
|
539
850
|
|
|
@@ -544,15 +855,25 @@ export type ImageStandardInlineSourceSetArgs = {
|
|
|
544
855
|
};
|
|
545
856
|
|
|
546
857
|
export type ImageWide = Image & {
|
|
858
|
+
/** Text describing the content of the image, usually hidden from the user unless the image is not available. It is to be read by screen readers. */
|
|
547
859
|
readonly altText?: Maybe<Scalars['String']['output']>;
|
|
860
|
+
/** Text describing the content of the image, always shown next to the image. */
|
|
548
861
|
readonly caption?: Maybe<Scalars['String']['output']>;
|
|
862
|
+
/** The credit of the image, eg. 'Getty Images'. */
|
|
549
863
|
readonly credit?: Maybe<Scalars['String']['output']>;
|
|
864
|
+
/** The format of the image, eg. 'portrait'. */
|
|
550
865
|
readonly format: Scalars['ImageFormat']['output'];
|
|
866
|
+
/** The height of the image in pixels. */
|
|
551
867
|
readonly height?: Maybe<Scalars['Int']['output']>;
|
|
868
|
+
/** The unique identifier of the image - a uuid or a url. */
|
|
552
869
|
readonly id: Scalars['String']['output'];
|
|
870
|
+
/** An array of image sources, ie. different images to render based on input width resulting in responsive images. */
|
|
553
871
|
readonly sourceSet: ReadonlyArray<ImageSource>;
|
|
872
|
+
/** The type of the image, eg. 'graphic'. */
|
|
554
873
|
readonly type?: Maybe<Scalars['ImageType']['output']>;
|
|
874
|
+
/** The url of the image, eg. 'https://www.ft.com/__origami/service/image/v2/images/raw/ftcms%3Aimage%3A0e7e7b6e-4e7b-11e9-bde6-79e4b4311f90?source=next&fit=scale-down&width=700'. */
|
|
555
875
|
readonly url?: Maybe<Scalars['String']['output']>;
|
|
876
|
+
/** The width of the image in pixels. */
|
|
556
877
|
readonly width?: Maybe<Scalars['Int']['output']>;
|
|
557
878
|
};
|
|
558
879
|
|
|
@@ -562,47 +883,85 @@ export type ImageWideSourceSetArgs = {
|
|
|
562
883
|
width?: InputMaybe<Scalars['Int']['input']>;
|
|
563
884
|
};
|
|
564
885
|
|
|
886
|
+
/** Indicators are used to determine teaser styling. */
|
|
565
887
|
export type Indicators = {
|
|
888
|
+
/** The access level of the teaser, eg. 'free' or 'premium'. */
|
|
566
889
|
readonly accessLevel?: Maybe<Scalars['AccessLevel']['output']>;
|
|
890
|
+
/** Whether the teaser is a column, ie. has one author. */
|
|
567
891
|
readonly isColumn?: Maybe<Scalars['Boolean']['output']>;
|
|
892
|
+
/** Whether the teaser is an editor's choice. */
|
|
568
893
|
readonly isEditorsChoice?: Maybe<Scalars['Boolean']['output']>;
|
|
894
|
+
/** Whether the teaser is exclusive. */
|
|
569
895
|
readonly isExclusive?: Maybe<Scalars['Boolean']['output']>;
|
|
896
|
+
/** Whether the teaser is an opinion piece. */
|
|
570
897
|
readonly isOpinion?: Maybe<Scalars['Boolean']['output']>;
|
|
898
|
+
/** Whether the teaser is a podcast. */
|
|
571
899
|
readonly isPodcast?: Maybe<Scalars['Boolean']['output']>;
|
|
900
|
+
/** Whether the teaser is a scoop. */
|
|
572
901
|
readonly isScoop?: Maybe<Scalars['Boolean']['output']>;
|
|
573
902
|
};
|
|
574
903
|
|
|
575
904
|
export type LayoutImage = Reference & {
|
|
905
|
+
/** A set of images with different sizes and formats. */
|
|
576
906
|
readonly picture?: Maybe<Picture>;
|
|
907
|
+
/** The type of the reference, eg. 'layout-image'. */
|
|
577
908
|
readonly type: Scalars['String']['output'];
|
|
578
909
|
};
|
|
579
910
|
|
|
580
911
|
export type LiveBlogPackage = Content & {
|
|
912
|
+
/** A scalar representing the access level of the article, eg. 'free'. */
|
|
581
913
|
readonly accessLevel?: Maybe<Scalars['AccessLevel']['output']>;
|
|
914
|
+
/** An alternative introductory paragraph of the article. */
|
|
582
915
|
readonly altStandfirst?: Maybe<AltStandfirst>;
|
|
916
|
+
/** An alternative title of the article. */
|
|
583
917
|
readonly altTitle?: Maybe<AltTitle>;
|
|
918
|
+
/** An array of concepts related to the article, eg. organisations or topics. */
|
|
584
919
|
readonly annotations?: Maybe<ReadonlyArray<Maybe<Concept>>>;
|
|
920
|
+
/** An abstract syntax tree of the article content. */
|
|
585
921
|
readonly body?: Maybe<RichText>;
|
|
922
|
+
/** The raw string of the XML as returned from ContentAPI. */
|
|
586
923
|
readonly bodyXML?: Maybe<Scalars['String']['output']>;
|
|
924
|
+
/** An abstract syntax tree of the authors of the article. */
|
|
587
925
|
readonly byline?: Maybe<StructuredContent>;
|
|
926
|
+
/** A scalar representing whether the article can be syndicated, ie. published by a third party site. */
|
|
588
927
|
readonly canBeSyndicated?: Maybe<Scalars['CanBeSyndicated']['output']>;
|
|
928
|
+
/** Whether comments are enabled on the article. */
|
|
589
929
|
readonly commentsEnabled?: Maybe<Scalars['Boolean']['output']>;
|
|
930
|
+
/** A design object containing the theme and layout of the article. */
|
|
590
931
|
readonly design?: Maybe<Design>;
|
|
932
|
+
/** The editorial division the article belongs to, eg. 'FT-SpecialReports'. */
|
|
591
933
|
readonly editorialDesk?: Maybe<Scalars['String']['output']>;
|
|
934
|
+
/** The first ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'. */
|
|
592
935
|
readonly firstPublishedDate: Scalars['String']['output'];
|
|
936
|
+
/** The unique identifier of the article - a uuid or a url. */
|
|
593
937
|
readonly id: Scalars['ID']['output'];
|
|
938
|
+
/** The concept to use for instant alert CTAs. */
|
|
594
939
|
readonly instantAlertConcept?: Maybe<Concept>;
|
|
940
|
+
/** The child articles of this live blog package. */
|
|
595
941
|
readonly liveBlogPosts?: Maybe<ReadonlyArray<Maybe<Content>>>;
|
|
942
|
+
/** An image object containing the url and the caption, to be displayed usually before the article content. */
|
|
596
943
|
readonly mainImage?: Maybe<Image>;
|
|
944
|
+
/** The party that originated the article, eg. 'FT'. */
|
|
597
945
|
readonly originatingParty?: Maybe<Scalars['String']['output']>;
|
|
946
|
+
/** The pinned article of this live blog package. */
|
|
598
947
|
readonly pinnedPost?: Maybe<Content>;
|
|
948
|
+
/** The ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'. */
|
|
599
949
|
readonly publishedDate: Scalars['String']['output'];
|
|
950
|
+
/** The number of milliseconds since the unix epoch the article was published, eg '1712140552443'. */
|
|
951
|
+
readonly publishedTimestamp: Scalars['Float']['output'];
|
|
952
|
+
/** Whether the live blog package should be updated in real time. */
|
|
600
953
|
readonly realtime?: Maybe<Scalars['Boolean']['output']>;
|
|
954
|
+
/** An introductory paragraph of the article. */
|
|
601
955
|
readonly standfirst?: Maybe<Scalars['String']['output']>;
|
|
956
|
+
/** A promotional thumbnail / snapshot of the article. */
|
|
602
957
|
readonly teaser?: Maybe<Teaser>;
|
|
958
|
+
/** The title of the article. */
|
|
603
959
|
readonly title: Scalars['String']['output'];
|
|
960
|
+
/** A banner located usually at the top of articles containing the title, the standfirst and any images. */
|
|
604
961
|
readonly topper?: Maybe<Topper>;
|
|
962
|
+
/** The type of the article, eg. 'Article' or 'Video'. */
|
|
605
963
|
readonly type: Scalars['ContentType']['output'];
|
|
964
|
+
/** The url of the concept. Vanity urls replace long, randomly generated urls - they are more user friendly and concise. Relative urls are relative to the current domain. */
|
|
606
965
|
readonly url: Scalars['String']['output'];
|
|
607
966
|
};
|
|
608
967
|
|
|
@@ -623,31 +982,59 @@ export type LiveBlogPackageUrlArgs = {
|
|
|
623
982
|
};
|
|
624
983
|
|
|
625
984
|
export type LiveBlogPost = Content & {
|
|
985
|
+
/** A scalar representing the access level of the article, eg. 'free'. */
|
|
626
986
|
readonly accessLevel?: Maybe<Scalars['AccessLevel']['output']>;
|
|
987
|
+
/** An alternative introductory paragraph of the article. */
|
|
627
988
|
readonly altStandfirst?: Maybe<AltStandfirst>;
|
|
989
|
+
/** An alternative title of the article. */
|
|
628
990
|
readonly altTitle?: Maybe<AltTitle>;
|
|
991
|
+
/** An array of concepts related to the article, eg. organisations or topics. */
|
|
629
992
|
readonly annotations?: Maybe<ReadonlyArray<Maybe<Concept>>>;
|
|
993
|
+
/** An abstract syntax tree of the article content. */
|
|
630
994
|
readonly body?: Maybe<RichText>;
|
|
995
|
+
/** The raw string of the XML as returned from ContentAPI. */
|
|
631
996
|
readonly bodyXML?: Maybe<Scalars['String']['output']>;
|
|
997
|
+
/** An abstract syntax tree of the authors of the article. */
|
|
632
998
|
readonly byline?: Maybe<StructuredContent>;
|
|
999
|
+
/** A scalar representing whether the article can be syndicated, ie. published by a third party site. */
|
|
633
1000
|
readonly canBeSyndicated?: Maybe<Scalars['CanBeSyndicated']['output']>;
|
|
1001
|
+
/** Whether comments are enabled on the article. */
|
|
634
1002
|
readonly commentsEnabled?: Maybe<Scalars['Boolean']['output']>;
|
|
1003
|
+
/** The parent article, indicating this article is a part of a series or package. */
|
|
635
1004
|
readonly containedIn?: Maybe<Content>;
|
|
1005
|
+
/** A design object containing the theme and layout of the article. */
|
|
636
1006
|
readonly design?: Maybe<Design>;
|
|
1007
|
+
/** The editorial division the article belongs to, eg. 'FT-SpecialReports'. */
|
|
637
1008
|
readonly editorialDesk?: Maybe<Scalars['String']['output']>;
|
|
1009
|
+
/** The first ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'. */
|
|
638
1010
|
readonly firstPublishedDate: Scalars['String']['output'];
|
|
1011
|
+
/** The unique identifier of the article - a uuid or a url. */
|
|
639
1012
|
readonly id: Scalars['ID']['output'];
|
|
1013
|
+
/** An object indicating whether the article is an opinion piece. */
|
|
640
1014
|
readonly indicators?: Maybe<Indicators>;
|
|
1015
|
+
/** The concept to use for instant alert CTAs. */
|
|
641
1016
|
readonly instantAlertConcept?: Maybe<Concept>;
|
|
1017
|
+
/** Whether the live-blog-post should be pinned. */
|
|
642
1018
|
readonly isPinned?: Maybe<Scalars['Boolean']['output']>;
|
|
1019
|
+
/** An image object containing the url and the caption, to be displayed usually before the article content. */
|
|
643
1020
|
readonly mainImage?: Maybe<Image>;
|
|
1021
|
+
/** The party that originated the article, eg. 'FT'. */
|
|
644
1022
|
readonly originatingParty?: Maybe<Scalars['String']['output']>;
|
|
1023
|
+
/** The ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'. */
|
|
645
1024
|
readonly publishedDate: Scalars['String']['output'];
|
|
1025
|
+
/** The number of milliseconds since the unix epoch the article was published, eg '1712140552443'. */
|
|
1026
|
+
readonly publishedTimestamp: Scalars['Float']['output'];
|
|
1027
|
+
/** An introductory paragraph of the article. */
|
|
646
1028
|
readonly standfirst?: Maybe<Scalars['String']['output']>;
|
|
1029
|
+
/** A promotional thumbnail / snapshot of the article. */
|
|
647
1030
|
readonly teaser?: Maybe<Teaser>;
|
|
1031
|
+
/** The title of the article. */
|
|
648
1032
|
readonly title: Scalars['String']['output'];
|
|
1033
|
+
/** A banner located usually at the top of articles containing the title, the standfirst and any images. */
|
|
649
1034
|
readonly topper?: Maybe<Topper>;
|
|
1035
|
+
/** The type of the article, eg. 'Article' or 'Video'. */
|
|
650
1036
|
readonly type: Scalars['ContentType']['output'];
|
|
1037
|
+
/** The url of the concept. Vanity urls replace long, randomly generated urls - they are more user friendly and concise. Relative urls are relative to the current domain. */
|
|
651
1038
|
readonly url: Scalars['String']['output'];
|
|
652
1039
|
};
|
|
653
1040
|
|
|
@@ -663,20 +1050,27 @@ export type LiveBlogPostUrlArgs = {
|
|
|
663
1050
|
};
|
|
664
1051
|
|
|
665
1052
|
export type MainImage = Reference & {
|
|
1053
|
+
/** A set of images with different sizes and formats. */
|
|
666
1054
|
readonly picture?: Maybe<Picture>;
|
|
1055
|
+
/** The type of the reference, eg. 'main-image'. */
|
|
667
1056
|
readonly type: Scalars['String']['output'];
|
|
668
1057
|
};
|
|
669
1058
|
|
|
670
1059
|
export type Media = {
|
|
1060
|
+
/** The duration of the media in milliseconds. */
|
|
671
1061
|
readonly duration?: Maybe<Scalars['Int']['output']>;
|
|
1062
|
+
/** The filesize of the media in bytes. */
|
|
672
1063
|
readonly filesize?: Maybe<Scalars['Int']['output']>;
|
|
1064
|
+
/** The media type eg. video/mp4. */
|
|
673
1065
|
readonly mediaType?: Maybe<Scalars['String']['output']>;
|
|
1066
|
+
/** The url of the media, eg. 'https://next-media-api.ft.com/renditions/16868569859480/0x0.mp3'. */
|
|
674
1067
|
readonly url?: Maybe<Scalars['String']['output']>;
|
|
675
1068
|
};
|
|
676
1069
|
|
|
677
1070
|
export type MetaLink = Concept | ContentPackage;
|
|
678
1071
|
|
|
679
1072
|
export type Mutation = {
|
|
1073
|
+
/** A mutation to invalidate the redis cache for content-api responses for a given uuid. */
|
|
680
1074
|
readonly invalidateRedisCache?: Maybe<Scalars['String']['output']>;
|
|
681
1075
|
};
|
|
682
1076
|
|
|
@@ -686,17 +1080,29 @@ export type MutationInvalidateRedisCacheArgs = {
|
|
|
686
1080
|
};
|
|
687
1081
|
|
|
688
1082
|
export type OpinionTopper = Topper & TopperWithHeadshot & TopperWithTheme & {
|
|
1083
|
+
/** Whether the topper should have a background box. */
|
|
689
1084
|
readonly backgroundBox?: Maybe<Scalars['Boolean']['output']>;
|
|
1085
|
+
/** The background colour of the topper. */
|
|
690
1086
|
readonly backgroundColour?: Maybe<Scalars['TopperBackgroundColour']['output']>;
|
|
1087
|
+
/** The concept object describing details of the column author. */
|
|
691
1088
|
readonly columnist?: Maybe<Concept>;
|
|
1089
|
+
/** The concept object to be displayed, eg. {'type': 'TOPIC', 'prefLabel': 'Non-dom tax status', ...}. */
|
|
692
1090
|
readonly displayConcept?: Maybe<Concept>;
|
|
1091
|
+
/** The variant of the follow button to be displayed on the topper. */
|
|
693
1092
|
readonly followButtonVariant?: Maybe<Scalars['FollowButtonVariant']['output']>;
|
|
1093
|
+
/** The concept object of the genre, eg. {'type': 'GENRE', 'prefLabel': 'Opinion', ...}. */
|
|
694
1094
|
readonly genreConcept?: Maybe<Concept>;
|
|
1095
|
+
/** The headline text of the topper. */
|
|
695
1096
|
readonly headline: Scalars['String']['output'];
|
|
1097
|
+
/** The url of the headshot image, eg. for columns with one key author. */
|
|
696
1098
|
readonly headshot?: Maybe<Scalars['String']['output']>;
|
|
1099
|
+
/** An abstract syntax tree of the introduction text. */
|
|
697
1100
|
readonly intro?: Maybe<RichText>;
|
|
1101
|
+
/** Whether the headline should be large. */
|
|
698
1102
|
readonly isLargeHeadline?: Maybe<Scalars['Boolean']['output']>;
|
|
1103
|
+
/** The layout of the topper, eg. 'split-text-left'. */
|
|
699
1104
|
readonly layout?: Maybe<Scalars['String']['output']>;
|
|
1105
|
+
/** Whether the topper should have a text shadow. */
|
|
700
1106
|
readonly textShadow?: Maybe<Scalars['Boolean']['output']>;
|
|
701
1107
|
};
|
|
702
1108
|
|
|
@@ -706,70 +1112,125 @@ export type OpinionTopperHeadshotArgs = {
|
|
|
706
1112
|
width?: InputMaybe<Scalars['Int']['input']>;
|
|
707
1113
|
};
|
|
708
1114
|
|
|
1115
|
+
/** A wrapper for images. */
|
|
709
1116
|
export type Picture = {
|
|
1117
|
+
/** The alt text of the image to be used for accessibility. */
|
|
710
1118
|
readonly alt: Scalars['String']['output'];
|
|
1119
|
+
/** The caption of the image. */
|
|
711
1120
|
readonly caption?: Maybe<Scalars['String']['output']>;
|
|
1121
|
+
/** The credit of the image, eg. 'Getty Images'. */
|
|
712
1122
|
readonly credit?: Maybe<Scalars['String']['output']>;
|
|
1123
|
+
/** A fallback image to be used if the 'images' are not available. */
|
|
713
1124
|
readonly fallbackImage: Image;
|
|
1125
|
+
/** The type of the image, eg. 'image' or 'graphic'. */
|
|
714
1126
|
readonly imageType: Scalars['ImageType']['output'];
|
|
1127
|
+
/** A set of images with different sizes and formats. */
|
|
715
1128
|
readonly images: ReadonlyArray<Image>;
|
|
1129
|
+
/** The layout width of the image, eg, 'standard'. */
|
|
716
1130
|
readonly layoutWidth?: Maybe<Scalars['String']['output']>;
|
|
717
1131
|
};
|
|
718
1132
|
|
|
719
1133
|
export type PictureFullBleed = Picture & {
|
|
1134
|
+
/** The alt text of the image to be used for accessibility. */
|
|
720
1135
|
readonly alt: Scalars['String']['output'];
|
|
1136
|
+
/** The caption of the image. */
|
|
721
1137
|
readonly caption?: Maybe<Scalars['String']['output']>;
|
|
1138
|
+
/** The credit of the image, eg. 'Getty Images'. */
|
|
722
1139
|
readonly credit?: Maybe<Scalars['String']['output']>;
|
|
1140
|
+
/** A fallback image to be used if the 'images' are not available. */
|
|
723
1141
|
readonly fallbackImage: Image;
|
|
1142
|
+
/** The type of the image, eg. 'image' or 'graphic'. */
|
|
724
1143
|
readonly imageType: Scalars['ImageType']['output'];
|
|
1144
|
+
/** A set of images with different sizes and formats. */
|
|
725
1145
|
readonly images: ReadonlyArray<Image>;
|
|
1146
|
+
/** The layout width of the image, eg, 'standard'. */
|
|
726
1147
|
readonly layoutWidth?: Maybe<Scalars['String']['output']>;
|
|
727
1148
|
};
|
|
728
1149
|
|
|
729
1150
|
export type PictureInline = Picture & {
|
|
1151
|
+
/** The alt text of the image to be used for accessibility. */
|
|
730
1152
|
readonly alt: Scalars['String']['output'];
|
|
1153
|
+
/** The caption of the image. */
|
|
731
1154
|
readonly caption?: Maybe<Scalars['String']['output']>;
|
|
1155
|
+
/** The credit of the image, eg. 'Getty Images'. */
|
|
732
1156
|
readonly credit?: Maybe<Scalars['String']['output']>;
|
|
1157
|
+
/** A fallback image to be used if the 'images' are not available. */
|
|
733
1158
|
readonly fallbackImage: Image;
|
|
1159
|
+
/** The type of the image, eg. 'image' or 'graphic'. */
|
|
734
1160
|
readonly imageType: Scalars['ImageType']['output'];
|
|
1161
|
+
/** A set of images with different sizes and formats. */
|
|
735
1162
|
readonly images: ReadonlyArray<Image>;
|
|
1163
|
+
/** The layout width of the image, eg, 'standard'. */
|
|
736
1164
|
readonly layoutWidth?: Maybe<Scalars['String']['output']>;
|
|
737
1165
|
};
|
|
738
1166
|
|
|
739
1167
|
export type PictureStandard = Picture & {
|
|
1168
|
+
/** The alt text of the image to be used for accessibility. */
|
|
740
1169
|
readonly alt: Scalars['String']['output'];
|
|
1170
|
+
/** The caption of the image. */
|
|
741
1171
|
readonly caption?: Maybe<Scalars['String']['output']>;
|
|
1172
|
+
/** The credit of the image, eg. 'Getty Images'. */
|
|
742
1173
|
readonly credit?: Maybe<Scalars['String']['output']>;
|
|
1174
|
+
/** A fallback image to be used if the 'images' are not available. */
|
|
743
1175
|
readonly fallbackImage: Image;
|
|
1176
|
+
/** The type of the image, eg. 'image' or 'graphic'. */
|
|
744
1177
|
readonly imageType: Scalars['ImageType']['output'];
|
|
1178
|
+
/** A set of images with different sizes and formats. */
|
|
745
1179
|
readonly images: ReadonlyArray<Image>;
|
|
1180
|
+
/** The layout width of the image, eg, 'standard'. */
|
|
746
1181
|
readonly layoutWidth?: Maybe<Scalars['String']['output']>;
|
|
747
1182
|
};
|
|
748
1183
|
|
|
749
1184
|
export type Placeholder = Content & {
|
|
1185
|
+
/** A scalar representing the access level of the article, eg. 'free'. */
|
|
750
1186
|
readonly accessLevel?: Maybe<Scalars['AccessLevel']['output']>;
|
|
1187
|
+
/** An alternative introductory paragraph of the article. */
|
|
751
1188
|
readonly altStandfirst?: Maybe<AltStandfirst>;
|
|
1189
|
+
/** An alternative title of the article. */
|
|
752
1190
|
readonly altTitle?: Maybe<AltTitle>;
|
|
1191
|
+
/** An array of concepts related to the article, eg. organisations or topics. */
|
|
753
1192
|
readonly annotations?: Maybe<ReadonlyArray<Maybe<Concept>>>;
|
|
1193
|
+
/** An abstract syntax tree of the article content. */
|
|
754
1194
|
readonly body?: Maybe<RichText>;
|
|
1195
|
+
/** The raw string of the XML as returned from ContentAPI. */
|
|
755
1196
|
readonly bodyXML?: Maybe<Scalars['String']['output']>;
|
|
1197
|
+
/** An abstract syntax tree of the authors of the article. */
|
|
756
1198
|
readonly byline?: Maybe<StructuredContent>;
|
|
1199
|
+
/** A scalar representing whether the article can be syndicated, ie. published by a third party site. */
|
|
757
1200
|
readonly canBeSyndicated?: Maybe<Scalars['CanBeSyndicated']['output']>;
|
|
1201
|
+
/** Whether comments are enabled on the article. */
|
|
758
1202
|
readonly commentsEnabled?: Maybe<Scalars['Boolean']['output']>;
|
|
1203
|
+
/** The parent article, indicating this article is a part of a series or package. */
|
|
759
1204
|
readonly containedIn?: Maybe<Content>;
|
|
1205
|
+
/** A design object containing the theme and layout of the article. */
|
|
760
1206
|
readonly design?: Maybe<Design>;
|
|
1207
|
+
/** The editorial division the article belongs to, eg. 'FT-SpecialReports'. */
|
|
761
1208
|
readonly editorialDesk?: Maybe<Scalars['String']['output']>;
|
|
1209
|
+
/** The first ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'. */
|
|
762
1210
|
readonly firstPublishedDate: Scalars['String']['output'];
|
|
1211
|
+
/** The unique identifier of the article - a uuid or a url. */
|
|
763
1212
|
readonly id: Scalars['ID']['output'];
|
|
1213
|
+
/** The concept to use for instant alert CTAs. */
|
|
764
1214
|
readonly instantAlertConcept?: Maybe<Concept>;
|
|
1215
|
+
/** An image object containing the url and the caption, to be displayed usually before the article content. */
|
|
765
1216
|
readonly mainImage?: Maybe<Image>;
|
|
1217
|
+
/** The party that originated the article, eg. 'FT'. */
|
|
766
1218
|
readonly originatingParty?: Maybe<Scalars['String']['output']>;
|
|
1219
|
+
/** The ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'. */
|
|
767
1220
|
readonly publishedDate: Scalars['String']['output'];
|
|
1221
|
+
/** The number of milliseconds since the unix epoch the article was published, eg '1712140552443'. */
|
|
1222
|
+
readonly publishedTimestamp: Scalars['Float']['output'];
|
|
1223
|
+
/** An introductory paragraph of the article. */
|
|
768
1224
|
readonly standfirst?: Maybe<Scalars['String']['output']>;
|
|
1225
|
+
/** A promotional thumbnail / snapshot of the article. */
|
|
769
1226
|
readonly teaser?: Maybe<Teaser>;
|
|
1227
|
+
/** The title of the article. */
|
|
770
1228
|
readonly title: Scalars['String']['output'];
|
|
1229
|
+
/** A banner located usually at the top of articles containing the title, the standfirst and any images. */
|
|
771
1230
|
readonly topper?: Maybe<Topper>;
|
|
1231
|
+
/** The type of the article, eg. 'Article' or 'Video'. */
|
|
772
1232
|
readonly type: Scalars['ContentType']['output'];
|
|
1233
|
+
/** The url of the concept. Vanity urls replace long, randomly generated urls - they are more user friendly and concise. Relative urls are relative to the current domain. */
|
|
773
1234
|
readonly url: Scalars['String']['output'];
|
|
774
1235
|
};
|
|
775
1236
|
|
|
@@ -785,18 +1246,31 @@ export type PlaceholderUrlArgs = {
|
|
|
785
1246
|
};
|
|
786
1247
|
|
|
787
1248
|
export type PodcastTopper = Topper & TopperWithBrand & TopperWithHeadshot & TopperWithTheme & {
|
|
1249
|
+
/** Whether the topper should have a background box. */
|
|
788
1250
|
readonly backgroundBox?: Maybe<Scalars['Boolean']['output']>;
|
|
1251
|
+
/** The background colour of the topper. */
|
|
789
1252
|
readonly backgroundColour?: Maybe<Scalars['TopperBackgroundColour']['output']>;
|
|
1253
|
+
/** The concept object of the brand, eg. {'type': 'BRAND', 'prefLabel': 'FT Magazine', ...}. */
|
|
790
1254
|
readonly brandConcept?: Maybe<Concept>;
|
|
1255
|
+
/** The concept object describing details of the column author. */
|
|
791
1256
|
readonly columnist?: Maybe<Concept>;
|
|
1257
|
+
/** The concept object to be displayed, eg. {'type': 'TOPIC', 'prefLabel': 'Non-dom tax status', ...}. */
|
|
792
1258
|
readonly displayConcept?: Maybe<Concept>;
|
|
1259
|
+
/** The variant of the follow button to be displayed on the topper. */
|
|
793
1260
|
readonly followButtonVariant?: Maybe<Scalars['FollowButtonVariant']['output']>;
|
|
1261
|
+
/** The concept object of the genre, eg. {'type': 'GENRE', 'prefLabel': 'Opinion', ...}. */
|
|
794
1262
|
readonly genreConcept?: Maybe<Concept>;
|
|
1263
|
+
/** The headline text of the topper. */
|
|
795
1264
|
readonly headline: Scalars['String']['output'];
|
|
1265
|
+
/** The url of the headshot image, eg. for columns with one key author. */
|
|
796
1266
|
readonly headshot?: Maybe<Scalars['String']['output']>;
|
|
1267
|
+
/** An abstract syntax tree of the introduction text. */
|
|
797
1268
|
readonly intro?: Maybe<RichText>;
|
|
1269
|
+
/** Whether the headline should be large. */
|
|
798
1270
|
readonly isLargeHeadline?: Maybe<Scalars['Boolean']['output']>;
|
|
1271
|
+
/** The layout of the topper, eg. 'split-text-left'. */
|
|
799
1272
|
readonly layout?: Maybe<Scalars['String']['output']>;
|
|
1273
|
+
/** Whether the topper should have a text shadow. */
|
|
800
1274
|
readonly textShadow?: Maybe<Scalars['Boolean']['output']>;
|
|
801
1275
|
};
|
|
802
1276
|
|
|
@@ -807,8 +1281,11 @@ export type PodcastTopperHeadshotArgs = {
|
|
|
807
1281
|
};
|
|
808
1282
|
|
|
809
1283
|
export type Query = {
|
|
1284
|
+
/** The resolved article content for given uuid. */
|
|
810
1285
|
readonly content: Content;
|
|
1286
|
+
/** The article content as resolved from passed-in content-api json data. */
|
|
811
1287
|
readonly contentFromJSON: Content;
|
|
1288
|
+
/** The version of the schema, eg. 2.0.0. */
|
|
812
1289
|
readonly version: Scalars['String']['output'];
|
|
813
1290
|
};
|
|
814
1291
|
|
|
@@ -823,21 +1300,26 @@ export type QueryContentFromJsonArgs = {
|
|
|
823
1300
|
};
|
|
824
1301
|
|
|
825
1302
|
export type RawImage = Reference & {
|
|
1303
|
+
/** The raw image object. */
|
|
826
1304
|
readonly image: Image;
|
|
1305
|
+
/** The type of the reference, eg. 'raw-image'. */
|
|
827
1306
|
readonly type: Scalars['String']['output'];
|
|
828
1307
|
};
|
|
829
1308
|
|
|
830
1309
|
export type Recommended = Reference & {
|
|
1310
|
+
/** Recommended references contain teaser thumbnails of related articles. */
|
|
831
1311
|
readonly teaser?: Maybe<Teaser>;
|
|
1312
|
+
/** The type of the reference, eg. 'recommended'. */
|
|
832
1313
|
readonly type: Scalars['String']['output'];
|
|
833
1314
|
};
|
|
834
1315
|
|
|
835
1316
|
export type Reference = {
|
|
1317
|
+
/** The type of the reference, eg. 'image-set'. References are additional data that cannot be loaded by content-tree. They will be appended to content-tree nodes during resolution. */
|
|
836
1318
|
readonly type: Scalars['String']['output'];
|
|
837
1319
|
};
|
|
838
1320
|
|
|
839
1321
|
export type RichText = {
|
|
840
|
-
/** Raw string of the XML as returned from
|
|
1322
|
+
/** Raw string of the XML as returned from content-api. */
|
|
841
1323
|
readonly raw?: Maybe<Scalars['String']['output']>;
|
|
842
1324
|
/** The source format eg. bodyXML. */
|
|
843
1325
|
readonly source: Scalars['RichTextSource']['output'];
|
|
@@ -846,28 +1328,44 @@ export type RichText = {
|
|
|
846
1328
|
};
|
|
847
1329
|
|
|
848
1330
|
export type ScrollyImage = Reference & {
|
|
1331
|
+
/** A set of images with different sizes and formats. */
|
|
849
1332
|
readonly picture?: Maybe<Picture>;
|
|
1333
|
+
/** The type of the reference, eg. 'scrolly-image'. */
|
|
850
1334
|
readonly type: Scalars['String']['output'];
|
|
851
1335
|
};
|
|
852
1336
|
|
|
853
1337
|
export type SplitTextTopper = Topper & TopperWithBrand & TopperWithImages & TopperWithPackage & TopperWithTheme & {
|
|
1338
|
+
/** Whether the topper should have a background box. */
|
|
854
1339
|
readonly backgroundBox?: Maybe<Scalars['Boolean']['output']>;
|
|
1340
|
+
/** The background colour of the topper. */
|
|
855
1341
|
readonly backgroundColour?: Maybe<Scalars['TopperBackgroundColour']['output']>;
|
|
1342
|
+
/** The concept object of the brand, eg. {'type': 'BRAND', 'prefLabel': 'FT Magazine', ...}. */
|
|
856
1343
|
readonly brandConcept?: Maybe<Concept>;
|
|
1344
|
+
/** The design of the topper, eg. 'standard'. */
|
|
857
1345
|
readonly design?: Maybe<Scalars['String']['output']>;
|
|
1346
|
+
/** The concept object to be displayed, eg. {'type': 'TOPIC', 'prefLabel': 'Non-dom tax status', ...}. */
|
|
858
1347
|
readonly displayConcept?: Maybe<Concept>;
|
|
1348
|
+
/** A fallback image to be used if the 'images' are not availableimages: [Image!]!. */
|
|
859
1349
|
readonly fallbackImage?: Maybe<Image>;
|
|
1350
|
+
/** The variant of the follow button to be displayed on the topper. */
|
|
860
1351
|
readonly followButtonVariant?: Maybe<Scalars['FollowButtonVariant']['output']>;
|
|
1352
|
+
/** The concept object of the genre, eg. {'type': 'GENRE', 'prefLabel': 'Opinion', ...}. */
|
|
861
1353
|
readonly genreConcept?: Maybe<Concept>;
|
|
1354
|
+
/** The headline text of the topper. */
|
|
862
1355
|
readonly headline: Scalars['String']['output'];
|
|
1356
|
+
/** An array of images to be displayed on the topper. */
|
|
863
1357
|
readonly images: ReadonlyArray<Image>;
|
|
1358
|
+
/** An abstract syntax tree of the introduction text. */
|
|
864
1359
|
readonly intro?: Maybe<RichText>;
|
|
1360
|
+
/** Whether the headline should be large. */
|
|
865
1361
|
readonly isLargeHeadline?: Maybe<Scalars['Boolean']['output']>;
|
|
1362
|
+
/** The layout of the topper, eg. 'split-text-left'. */
|
|
866
1363
|
readonly layout?: Maybe<Scalars['String']['output']>;
|
|
1364
|
+
/** Whether the topper should have a text shadow. */
|
|
867
1365
|
readonly textShadow?: Maybe<Scalars['Boolean']['output']>;
|
|
868
1366
|
};
|
|
869
1367
|
|
|
870
|
-
/** Describes the structure of content as an abstract syntax tree */
|
|
1368
|
+
/** Describes the structure of content as an abstract syntax tree. */
|
|
871
1369
|
export type StructuredContent = {
|
|
872
1370
|
/** An array of objects containing extra information for nodes, which is fetched from external sources eg. Twitter API. */
|
|
873
1371
|
readonly references: ReadonlyArray<Reference>;
|
|
@@ -878,24 +1376,40 @@ export type StructuredContent = {
|
|
|
878
1376
|
};
|
|
879
1377
|
|
|
880
1378
|
export type TableOfContents = {
|
|
1379
|
+
/** The formatting of the label, eg. 'part-number'. */
|
|
881
1380
|
readonly labelType?: Maybe<Scalars['String']['output']>;
|
|
1381
|
+
/** The ordering, eg. 'exact-order'. */
|
|
882
1382
|
readonly sequence?: Maybe<Scalars['String']['output']>;
|
|
883
1383
|
};
|
|
884
1384
|
|
|
885
1385
|
export type Teaser = {
|
|
1386
|
+
/** The date the content of the teaser was first published. */
|
|
886
1387
|
readonly firstPublishedDate?: Maybe<Scalars['String']['output']>;
|
|
1388
|
+
/** The unique identifier of the teaser, a uuid or a url. */
|
|
887
1389
|
readonly id?: Maybe<Scalars['String']['output']>;
|
|
1390
|
+
/** The image to be used as a thumbnail for the teaser. */
|
|
888
1391
|
readonly image?: Maybe<Image>;
|
|
1392
|
+
/** An object containing a map of indicator items to boolean values, eg. accessLevel, isOpinion. */
|
|
889
1393
|
readonly indicators?: Maybe<Indicators>;
|
|
1394
|
+
/** An object containing the metadata details of the teaser, eg. id, url, prefLabel. */
|
|
890
1395
|
readonly metaAltLink?: Maybe<MetaLink>;
|
|
1396
|
+
/** An object containing the metadata details of the teaser, eg. id, url, prefLabel. */
|
|
891
1397
|
readonly metaLink?: Maybe<MetaLink>;
|
|
1398
|
+
/** The text to be displayed before the metadata of the teaser. */
|
|
892
1399
|
readonly metaPrefixText?: Maybe<Scalars['String']['output']>;
|
|
1400
|
+
/** The text to be displayed after the metadata of the teaser. */
|
|
893
1401
|
readonly metaSuffixText?: Maybe<Scalars['String']['output']>;
|
|
1402
|
+
/** The date the content of the teaser was published. */
|
|
894
1403
|
readonly publishedDate?: Maybe<Scalars['String']['output']>;
|
|
1404
|
+
/** The introductory text of the teaser. */
|
|
895
1405
|
readonly standfirst?: Maybe<Scalars['String']['output']>;
|
|
1406
|
+
/** The theme to use for the teaser, eg. 'opinion' or 'news'. */
|
|
896
1407
|
readonly theme?: Maybe<Scalars['String']['output']>;
|
|
1408
|
+
/** The title of the teaser. */
|
|
897
1409
|
readonly title?: Maybe<Scalars['String']['output']>;
|
|
1410
|
+
/** The type of the teaser, eg. 'article' or 'video'. */
|
|
898
1411
|
readonly type?: Maybe<Scalars['String']['output']>;
|
|
1412
|
+
/** The url of the content that the teaser refers to. */
|
|
899
1413
|
readonly url: Scalars['String']['output'];
|
|
900
1414
|
};
|
|
901
1415
|
|
|
@@ -905,22 +1419,33 @@ export type TeaserUrlArgs = {
|
|
|
905
1419
|
};
|
|
906
1420
|
|
|
907
1421
|
export type Topper = {
|
|
1422
|
+
/** Whether the topper should have a background box. */
|
|
908
1423
|
readonly backgroundBox?: Maybe<Scalars['Boolean']['output']>;
|
|
1424
|
+
/** The background colour of the topper. */
|
|
909
1425
|
readonly backgroundColour?: Maybe<Scalars['TopperBackgroundColour']['output']>;
|
|
1426
|
+
/** The concept object to be displayed, eg. {'type': 'TOPIC', 'prefLabel': 'Non-dom tax status', ...}. */
|
|
910
1427
|
readonly displayConcept?: Maybe<Concept>;
|
|
1428
|
+
/** The variant of the follow button to be displayed on the topper. */
|
|
911
1429
|
readonly followButtonVariant?: Maybe<Scalars['FollowButtonVariant']['output']>;
|
|
1430
|
+
/** The concept object of the genre, eg. {'type': 'GENRE', 'prefLabel': 'Opinion', ...}. */
|
|
912
1431
|
readonly genreConcept?: Maybe<Concept>;
|
|
1432
|
+
/** The headline text of the topper. */
|
|
913
1433
|
readonly headline: Scalars['String']['output'];
|
|
1434
|
+
/** An abstract syntax tree of the introduction text. */
|
|
914
1435
|
readonly intro?: Maybe<RichText>;
|
|
1436
|
+
/** Whether the topper should have a text shadow. */
|
|
915
1437
|
readonly textShadow?: Maybe<Scalars['Boolean']['output']>;
|
|
916
1438
|
};
|
|
917
1439
|
|
|
918
1440
|
export type TopperWithBrand = {
|
|
1441
|
+
/** The concept object of the brand, eg. {'type': 'BRAND', 'prefLabel': 'FT Magazine', ...}. */
|
|
919
1442
|
readonly brandConcept?: Maybe<Concept>;
|
|
1443
|
+
/** The concept object of the genre, eg. {'type': 'GENRE', 'prefLabel': 'Opinion', ...}. */
|
|
920
1444
|
readonly genreConcept?: Maybe<Concept>;
|
|
921
1445
|
};
|
|
922
1446
|
|
|
923
1447
|
export type TopperWithHeadshot = {
|
|
1448
|
+
/** The url of the headshot image, eg. for columns with one key author. */
|
|
924
1449
|
readonly headshot?: Maybe<Scalars['String']['output']>;
|
|
925
1450
|
};
|
|
926
1451
|
|
|
@@ -931,47 +1456,79 @@ export type TopperWithHeadshotHeadshotArgs = {
|
|
|
931
1456
|
};
|
|
932
1457
|
|
|
933
1458
|
export type TopperWithImages = {
|
|
1459
|
+
/** A fallback image to be used if the 'images' are not available. */
|
|
934
1460
|
readonly fallbackImage?: Maybe<Image>;
|
|
1461
|
+
/** An array of images to be displayed on the topper. */
|
|
935
1462
|
readonly images: ReadonlyArray<Image>;
|
|
936
1463
|
};
|
|
937
1464
|
|
|
938
1465
|
export type TopperWithPackage = {
|
|
1466
|
+
/** The design of the topper, eg. 'standard'. */
|
|
939
1467
|
readonly design?: Maybe<Scalars['String']['output']>;
|
|
940
1468
|
};
|
|
941
1469
|
|
|
942
1470
|
export type TopperWithTheme = {
|
|
1471
|
+
/** Whether the headline should be large. */
|
|
943
1472
|
readonly isLargeHeadline?: Maybe<Scalars['Boolean']['output']>;
|
|
1473
|
+
/** The layout of the topper, eg. 'split-text-left'. */
|
|
944
1474
|
readonly layout?: Maybe<Scalars['String']['output']>;
|
|
945
1475
|
};
|
|
946
1476
|
|
|
947
1477
|
export type Tweet = Reference & {
|
|
1478
|
+
/** The raw HTML of the tweet. */
|
|
948
1479
|
readonly html?: Maybe<Scalars['String']['output']>;
|
|
1480
|
+
/** The type of the reference, eg. 'tweet'. */
|
|
949
1481
|
readonly type: Scalars['String']['output'];
|
|
950
1482
|
};
|
|
951
1483
|
|
|
952
1484
|
export type Video = Content & {
|
|
1485
|
+
/** A scalar representing the access level of the article, eg. 'free'. */
|
|
953
1486
|
readonly accessLevel?: Maybe<Scalars['AccessLevel']['output']>;
|
|
1487
|
+
/** An alternative introductory paragraph of the article. */
|
|
954
1488
|
readonly altStandfirst?: Maybe<AltStandfirst>;
|
|
1489
|
+
/** An alternative title of the article. */
|
|
955
1490
|
readonly altTitle?: Maybe<AltTitle>;
|
|
1491
|
+
/** An array of concepts related to the article, eg. organisations or topics. */
|
|
956
1492
|
readonly annotations?: Maybe<ReadonlyArray<Maybe<Concept>>>;
|
|
1493
|
+
/** An abstract syntax tree of the article content. */
|
|
957
1494
|
readonly body?: Maybe<RichText>;
|
|
1495
|
+
/** The raw string of the XML as returned from ContentAPI. */
|
|
958
1496
|
readonly bodyXML?: Maybe<Scalars['String']['output']>;
|
|
1497
|
+
/** An abstract syntax tree of the authors of the article. */
|
|
959
1498
|
readonly byline?: Maybe<StructuredContent>;
|
|
1499
|
+
/** A scalar representing whether the article can be syndicated, ie. published by a third party site. */
|
|
960
1500
|
readonly canBeSyndicated?: Maybe<Scalars['CanBeSyndicated']['output']>;
|
|
1501
|
+
/** Whether comments are enabled on the article. */
|
|
961
1502
|
readonly commentsEnabled?: Maybe<Scalars['Boolean']['output']>;
|
|
1503
|
+
/** A design object containing the theme and layout of the article. */
|
|
962
1504
|
readonly design?: Maybe<Design>;
|
|
1505
|
+
/** The editorial division the article belongs to, eg. 'FT-SpecialReports'. */
|
|
963
1506
|
readonly editorialDesk?: Maybe<Scalars['String']['output']>;
|
|
1507
|
+
/** The first ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'. */
|
|
964
1508
|
readonly firstPublishedDate: Scalars['String']['output'];
|
|
1509
|
+
/** The unique identifier of the article - a uuid or a url. */
|
|
965
1510
|
readonly id: Scalars['ID']['output'];
|
|
1511
|
+
/** The concept to use for instant alert CTAs. */
|
|
966
1512
|
readonly instantAlertConcept?: Maybe<Concept>;
|
|
1513
|
+
/** An image object containing the url and the caption, to be displayed usually before the article content. */
|
|
967
1514
|
readonly mainImage?: Maybe<Image>;
|
|
1515
|
+
/** The party that originated the article, eg. 'FT'. */
|
|
968
1516
|
readonly originatingParty?: Maybe<Scalars['String']['output']>;
|
|
1517
|
+
/** The ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'. */
|
|
969
1518
|
readonly publishedDate: Scalars['String']['output'];
|
|
1519
|
+
/** The number of milliseconds since the unix epoch the article was published, eg '1712140552443'. */
|
|
1520
|
+
readonly publishedTimestamp: Scalars['Float']['output'];
|
|
1521
|
+
/** An introductory paragraph of the article. */
|
|
970
1522
|
readonly standfirst?: Maybe<Scalars['String']['output']>;
|
|
1523
|
+
/** A promotional thumbnail / snapshot of the article. */
|
|
971
1524
|
readonly teaser?: Maybe<Teaser>;
|
|
1525
|
+
/** The title of the article. */
|
|
972
1526
|
readonly title: Scalars['String']['output'];
|
|
1527
|
+
/** A banner located usually at the top of articles containing the title, the standfirst and any images. */
|
|
973
1528
|
readonly topper?: Maybe<Topper>;
|
|
1529
|
+
/** The type of the article, eg. 'Article' or 'Video'. */
|
|
974
1530
|
readonly type: Scalars['ContentType']['output'];
|
|
1531
|
+
/** The url of the concept. Vanity urls replace long, randomly generated urls - they are more user friendly and concise. Relative urls are relative to the current domain. */
|
|
975
1532
|
readonly url: Scalars['String']['output'];
|
|
976
1533
|
};
|
|
977
1534
|
|
|
@@ -987,8 +1544,11 @@ export type VideoUrlArgs = {
|
|
|
987
1544
|
};
|
|
988
1545
|
|
|
989
1546
|
export type VideoReference = Reference & {
|
|
1547
|
+
/** The unique identifier of the video - a uuid or a url. */
|
|
990
1548
|
readonly id: Scalars['String']['output'];
|
|
1549
|
+
/** The title of the video. */
|
|
991
1550
|
readonly title: Scalars['String']['output'];
|
|
1551
|
+
/** The type of the reference, eg. 'video'. */
|
|
992
1552
|
readonly type: Scalars['String']['output'];
|
|
993
1553
|
};
|
|
994
1554
|
|
|
@@ -1103,6 +1663,7 @@ export type ResolversTypes = ResolversObject<{
|
|
|
1103
1663
|
DeepLandscapeTopper: ResolverTypeWrapper<TopperModel>;
|
|
1104
1664
|
DeepPortraitTopper: ResolverTypeWrapper<TopperModel>;
|
|
1105
1665
|
Design: ResolverTypeWrapper<Design>;
|
|
1666
|
+
Float: ResolverTypeWrapper<Scalars['Float']['output']>;
|
|
1106
1667
|
Flourish: ResolverTypeWrapper<ReferenceWithCAPIData<ContentTree.Flourish>>;
|
|
1107
1668
|
FlourishFallback: ResolverTypeWrapper<FlourishFallback>;
|
|
1108
1669
|
FollowButtonVariant: ResolverTypeWrapper<Scalars['FollowButtonVariant']['output']>;
|
|
@@ -1188,6 +1749,7 @@ export type ResolversParentTypes = ResolversObject<{
|
|
|
1188
1749
|
DeepLandscapeTopper: TopperModel;
|
|
1189
1750
|
DeepPortraitTopper: TopperModel;
|
|
1190
1751
|
Design: Design;
|
|
1752
|
+
Float: Scalars['Float']['output'];
|
|
1191
1753
|
Flourish: ReferenceWithCAPIData<ContentTree.Flourish>;
|
|
1192
1754
|
FlourishFallback: FlourishFallback;
|
|
1193
1755
|
FollowButtonVariant: Scalars['FollowButtonVariant']['output'];
|
|
@@ -1288,6 +1850,7 @@ export type ArticleResolvers<ContextType = QueryContext, ParentType extends Reso
|
|
|
1288
1850
|
mainImage: Resolver<Maybe<ResolversTypes['Image']>, ParentType, ContextType>;
|
|
1289
1851
|
originatingParty: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
|
1290
1852
|
publishedDate: Resolver<ResolversTypes['String'], ParentType, ContextType>;
|
|
1853
|
+
publishedTimestamp: Resolver<ResolversTypes['Float'], ParentType, ContextType>;
|
|
1291
1854
|
standfirst: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
|
1292
1855
|
teaser: Resolver<Maybe<ResolversTypes['Teaser']>, ParentType, ContextType>;
|
|
1293
1856
|
title: Resolver<ResolversTypes['String'], ParentType, ContextType>;
|
|
@@ -1316,6 +1879,7 @@ export type AudioResolvers<ContextType = QueryContext, ParentType extends Resolv
|
|
|
1316
1879
|
media: Resolver<Maybe<ReadonlyArray<Maybe<ResolversTypes['Media']>>>, ParentType, ContextType>;
|
|
1317
1880
|
originatingParty: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
|
1318
1881
|
publishedDate: Resolver<ResolversTypes['String'], ParentType, ContextType>;
|
|
1882
|
+
publishedTimestamp: Resolver<ResolversTypes['Float'], ParentType, ContextType>;
|
|
1319
1883
|
standfirst: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
|
1320
1884
|
teaser: Resolver<Maybe<ResolversTypes['Teaser']>, ParentType, ContextType>;
|
|
1321
1885
|
title: Resolver<ResolversTypes['String'], ParentType, ContextType>;
|
|
@@ -1439,6 +2003,7 @@ export type ContentResolvers<ContextType = QueryContext, ParentType extends Reso
|
|
|
1439
2003
|
mainImage: Resolver<Maybe<ResolversTypes['Image']>, ParentType, ContextType>;
|
|
1440
2004
|
originatingParty: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
|
1441
2005
|
publishedDate: Resolver<ResolversTypes['String'], ParentType, ContextType>;
|
|
2006
|
+
publishedTimestamp: Resolver<ResolversTypes['Float'], ParentType, ContextType>;
|
|
1442
2007
|
standfirst: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
|
1443
2008
|
teaser: Resolver<Maybe<ResolversTypes['Teaser']>, ParentType, ContextType>;
|
|
1444
2009
|
title: Resolver<ResolversTypes['String'], ParentType, ContextType>;
|
|
@@ -1467,6 +2032,7 @@ export type ContentPackageResolvers<ContextType = QueryContext, ParentType exten
|
|
|
1467
2032
|
mainImage: Resolver<Maybe<ResolversTypes['Image']>, ParentType, ContextType>;
|
|
1468
2033
|
originatingParty: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
|
1469
2034
|
publishedDate: Resolver<ResolversTypes['String'], ParentType, ContextType>;
|
|
2035
|
+
publishedTimestamp: Resolver<ResolversTypes['Float'], ParentType, ContextType>;
|
|
1470
2036
|
standfirst: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
|
1471
2037
|
tableOfContents: Resolver<Maybe<ResolversTypes['TableOfContents']>, ParentType, ContextType>;
|
|
1472
2038
|
teaser: Resolver<Maybe<ResolversTypes['Teaser']>, ParentType, ContextType>;
|
|
@@ -1757,6 +2323,7 @@ export type LiveBlogPackageResolvers<ContextType = QueryContext, ParentType exte
|
|
|
1757
2323
|
originatingParty: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
|
1758
2324
|
pinnedPost: Resolver<Maybe<ResolversTypes['Content']>, ParentType, ContextType>;
|
|
1759
2325
|
publishedDate: Resolver<ResolversTypes['String'], ParentType, ContextType>;
|
|
2326
|
+
publishedTimestamp: Resolver<ResolversTypes['Float'], ParentType, ContextType>;
|
|
1760
2327
|
realtime: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>;
|
|
1761
2328
|
standfirst: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
|
1762
2329
|
teaser: Resolver<Maybe<ResolversTypes['Teaser']>, ParentType, ContextType>;
|
|
@@ -1788,6 +2355,7 @@ export type LiveBlogPostResolvers<ContextType = QueryContext, ParentType extends
|
|
|
1788
2355
|
mainImage: Resolver<Maybe<ResolversTypes['Image']>, ParentType, ContextType>;
|
|
1789
2356
|
originatingParty: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
|
1790
2357
|
publishedDate: Resolver<ResolversTypes['String'], ParentType, ContextType>;
|
|
2358
|
+
publishedTimestamp: Resolver<ResolversTypes['Float'], ParentType, ContextType>;
|
|
1791
2359
|
standfirst: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
|
1792
2360
|
teaser: Resolver<Maybe<ResolversTypes['Teaser']>, ParentType, ContextType>;
|
|
1793
2361
|
title: Resolver<ResolversTypes['String'], ParentType, ContextType>;
|
|
@@ -1902,6 +2470,7 @@ export type PlaceholderResolvers<ContextType = QueryContext, ParentType extends
|
|
|
1902
2470
|
mainImage: Resolver<Maybe<ResolversTypes['Image']>, ParentType, ContextType>;
|
|
1903
2471
|
originatingParty: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
|
1904
2472
|
publishedDate: Resolver<ResolversTypes['String'], ParentType, ContextType>;
|
|
2473
|
+
publishedTimestamp: Resolver<ResolversTypes['Float'], ParentType, ContextType>;
|
|
1905
2474
|
standfirst: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
|
1906
2475
|
teaser: Resolver<Maybe<ResolversTypes['Teaser']>, ParentType, ContextType>;
|
|
1907
2476
|
title: Resolver<ResolversTypes['String'], ParentType, ContextType>;
|
|
@@ -2085,6 +2654,7 @@ export type VideoResolvers<ContextType = QueryContext, ParentType extends Resolv
|
|
|
2085
2654
|
mainImage: Resolver<Maybe<ResolversTypes['Image']>, ParentType, ContextType>;
|
|
2086
2655
|
originatingParty: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
|
2087
2656
|
publishedDate: Resolver<ResolversTypes['String'], ParentType, ContextType>;
|
|
2657
|
+
publishedTimestamp: Resolver<ResolversTypes['Float'], ParentType, ContextType>;
|
|
2088
2658
|
standfirst: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
|
2089
2659
|
teaser: Resolver<Maybe<ResolversTypes['Teaser']>, ParentType, ContextType>;
|
|
2090
2660
|
title: Resolver<ResolversTypes['String'], ParentType, ContextType>;
|