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