@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/typedefs/content.graphql
CHANGED
|
@@ -1,248 +1,677 @@
|
|
|
1
|
-
interface Content {
|
|
2
|
-
title: String!
|
|
3
|
-
id: ID!
|
|
4
|
-
type: ContentType!
|
|
5
|
-
standfirst: String
|
|
6
|
-
topper: Topper
|
|
7
|
-
body: RichText
|
|
8
|
-
bodyXML: String
|
|
9
|
-
url(vanity: Boolean, relative: Boolean): String!
|
|
10
|
-
publishedDate: String!
|
|
11
|
-
firstPublishedDate: String!
|
|
12
|
-
mainImage: Image
|
|
13
|
-
altTitle: AltTitle
|
|
14
|
-
altStandfirst: AltStandfirst
|
|
15
|
-
byline(vanity: Boolean): StructuredContent
|
|
16
|
-
teaser: Teaser
|
|
17
|
-
annotations: [Concept]
|
|
18
|
-
editorialDesk: String
|
|
19
|
-
accessLevel: AccessLevel
|
|
20
|
-
instantAlertConcept: Concept
|
|
21
|
-
canBeSyndicated: CanBeSyndicated
|
|
22
|
-
originatingParty: String
|
|
23
|
-
commentsEnabled: Boolean
|
|
24
|
-
design: Design
|
|
25
|
-
}
|
|
26
|
-
|
|
27
1
|
type Design {
|
|
2
|
+
"A scalar representing the theme of the design, eg. 'extra-wide'."
|
|
28
3
|
theme: PackageDesign
|
|
4
|
+
|
|
5
|
+
"The layout, eg. 'default'."
|
|
29
6
|
layout: String
|
|
30
7
|
}
|
|
31
8
|
|
|
32
9
|
type AltTitle {
|
|
10
|
+
"A promotional title of the article."
|
|
33
11
|
promotionalTitle: String
|
|
34
12
|
}
|
|
35
13
|
|
|
36
14
|
type AltStandfirst {
|
|
15
|
+
"An introductory paragraph of the article."
|
|
37
16
|
promotionalStandfirst: String
|
|
38
17
|
}
|
|
39
18
|
|
|
40
19
|
type Media {
|
|
20
|
+
"The url of the media, eg. 'https://next-media-api.ft.com/renditions/16868569859480/0x0.mp3'."
|
|
41
21
|
url: String
|
|
22
|
+
|
|
23
|
+
"The duration of the media in milliseconds."
|
|
42
24
|
duration: Int
|
|
25
|
+
|
|
26
|
+
"The filesize of the media in bytes."
|
|
27
|
+
|
|
43
28
|
filesize: Int
|
|
29
|
+
|
|
30
|
+
"The media type eg. video/mp4."
|
|
44
31
|
mediaType: String
|
|
45
32
|
}
|
|
46
33
|
|
|
47
34
|
type TableOfContents {
|
|
35
|
+
"The formatting of the label, eg. 'part-number'."
|
|
48
36
|
labelType: String
|
|
37
|
+
|
|
38
|
+
"The ordering, eg. 'exact-order'."
|
|
49
39
|
sequence: String
|
|
50
40
|
}
|
|
51
41
|
|
|
42
|
+
type Indicators {
|
|
43
|
+
"Whether the content is an opinion piece."
|
|
44
|
+
isOpinion: Boolean
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
interface Content {
|
|
48
|
+
"The unique identifier of the article - a uuid or a url."
|
|
49
|
+
id: ID!
|
|
50
|
+
|
|
51
|
+
"The title of the article."
|
|
52
|
+
title: String!
|
|
53
|
+
|
|
54
|
+
"The type of the article, eg. 'Article' or 'Video'."
|
|
55
|
+
type: ContentType!
|
|
56
|
+
|
|
57
|
+
"An introductory paragraph of the article."
|
|
58
|
+
standfirst: String
|
|
59
|
+
|
|
60
|
+
"A banner located usually at the top of articles containing the title, the standfirst and any images."
|
|
61
|
+
topper: Topper
|
|
62
|
+
|
|
63
|
+
"An abstract syntax tree of the article content."
|
|
64
|
+
body: RichText
|
|
65
|
+
|
|
66
|
+
"The raw string of the XML as returned from ContentAPI."
|
|
67
|
+
bodyXML: String
|
|
68
|
+
|
|
69
|
+
"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."
|
|
70
|
+
url(vanity: Boolean, relative: Boolean): String!
|
|
71
|
+
|
|
72
|
+
"The ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'."
|
|
73
|
+
publishedDate: String!
|
|
74
|
+
|
|
75
|
+
"The number of milliseconds since the unix epoch the article was published, eg '1712140552443'."
|
|
76
|
+
publishedTimestamp: Float!
|
|
77
|
+
|
|
78
|
+
"The first ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'."
|
|
79
|
+
firstPublishedDate: String!
|
|
80
|
+
|
|
81
|
+
"An image object containing the url and the caption, to be displayed usually before the article content."
|
|
82
|
+
mainImage: Image
|
|
83
|
+
|
|
84
|
+
"An alternative title of the article."
|
|
85
|
+
altTitle: AltTitle
|
|
86
|
+
|
|
87
|
+
"An alternative introductory paragraph of the article."
|
|
88
|
+
altStandfirst: AltStandfirst
|
|
89
|
+
|
|
90
|
+
"An abstract syntax tree of the authors of the article."
|
|
91
|
+
byline(vanity: Boolean): StructuredContent
|
|
92
|
+
|
|
93
|
+
"A promotional thumbnail / snapshot of the article."
|
|
94
|
+
teaser: Teaser
|
|
95
|
+
|
|
96
|
+
"An array of concepts related to the article, eg. organisations or topics."
|
|
97
|
+
annotations: [Concept]
|
|
98
|
+
|
|
99
|
+
"The editorial division the article belongs to, eg. 'FT-SpecialReports'."
|
|
100
|
+
editorialDesk: String
|
|
101
|
+
|
|
102
|
+
"A scalar representing the access level of the article, eg. 'free'."
|
|
103
|
+
accessLevel: AccessLevel
|
|
104
|
+
|
|
105
|
+
"The concept to use for instant alert CTAs."
|
|
106
|
+
instantAlertConcept: Concept
|
|
107
|
+
|
|
108
|
+
"A scalar representing whether the article can be syndicated, ie. published by a third party site."
|
|
109
|
+
canBeSyndicated: CanBeSyndicated
|
|
110
|
+
|
|
111
|
+
"The party that originated the article, eg. 'FT'."
|
|
112
|
+
originatingParty: String
|
|
113
|
+
|
|
114
|
+
"Whether comments are enabled on the article."
|
|
115
|
+
commentsEnabled: Boolean
|
|
116
|
+
|
|
117
|
+
"A design object containing the theme and layout of the article."
|
|
118
|
+
design: Design
|
|
119
|
+
}
|
|
120
|
+
|
|
52
121
|
type Article implements Content {
|
|
122
|
+
"The title of the article."
|
|
53
123
|
title: String!
|
|
124
|
+
|
|
125
|
+
"The unique identifier of the article - a uuid or a url."
|
|
54
126
|
id: ID!
|
|
127
|
+
|
|
128
|
+
"The type of the article, eg. 'Article' or 'Video'."
|
|
55
129
|
type: ContentType!
|
|
130
|
+
|
|
131
|
+
"An introductory paragraph of the article."
|
|
56
132
|
standfirst: String
|
|
133
|
+
|
|
134
|
+
"A banner located usually at the top of articles containing the title, the standfirst and any images."
|
|
57
135
|
topper: Topper
|
|
136
|
+
|
|
137
|
+
"An abstract syntax tree of the article content."
|
|
58
138
|
body: RichText
|
|
139
|
+
|
|
140
|
+
"The raw string of the XML as returned from ContentAPI."
|
|
59
141
|
bodyXML: String
|
|
142
|
+
|
|
143
|
+
"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."
|
|
60
144
|
url(vanity: Boolean, relative: Boolean): String!
|
|
145
|
+
|
|
146
|
+
"The ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'."
|
|
61
147
|
publishedDate: String!
|
|
148
|
+
|
|
149
|
+
"The number of milliseconds since the unix epoch the article was published, eg '1712140552443'."
|
|
150
|
+
publishedTimestamp: Float!
|
|
151
|
+
|
|
152
|
+
"The first ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'."
|
|
62
153
|
firstPublishedDate: String!
|
|
154
|
+
|
|
155
|
+
"An image object containing the url and the caption, to be displayed usually before the article content."
|
|
63
156
|
mainImage: Image
|
|
157
|
+
|
|
158
|
+
"An alternative title of the article."
|
|
64
159
|
altTitle: AltTitle
|
|
160
|
+
|
|
161
|
+
"An alternative introductory paragraph of the article."
|
|
65
162
|
altStandfirst: AltStandfirst
|
|
163
|
+
|
|
164
|
+
"An abstract syntax tree of the authors of the article."
|
|
66
165
|
byline(vanity: Boolean): StructuredContent
|
|
166
|
+
|
|
167
|
+
"A promotional thumbnail / snapshot of the article."
|
|
67
168
|
teaser: Teaser
|
|
169
|
+
|
|
170
|
+
"An array of concepts related to the article, eg. organisations or topics."
|
|
171
|
+
|
|
68
172
|
annotations: [Concept]
|
|
173
|
+
|
|
174
|
+
"The editorial division the article belongs to, eg. 'FT-SpecialReports'."
|
|
69
175
|
editorialDesk: String
|
|
176
|
+
|
|
177
|
+
"A scalar representing the access level of the article, eg. 'free'."
|
|
70
178
|
accessLevel: AccessLevel
|
|
71
|
-
|
|
179
|
+
|
|
180
|
+
"The concept to use for instant alert CTAs."
|
|
72
181
|
instantAlertConcept: Concept
|
|
182
|
+
|
|
183
|
+
"A scalar representing whether the article can be syndicated, ie. published by a third party site."
|
|
184
|
+
canBeSyndicated: CanBeSyndicated
|
|
185
|
+
|
|
186
|
+
"The party that originated the article, eg. 'FT'."
|
|
73
187
|
originatingParty: String
|
|
188
|
+
|
|
189
|
+
"Whether comments are enabled on the article."
|
|
190
|
+
|
|
74
191
|
commentsEnabled: Boolean
|
|
192
|
+
|
|
193
|
+
"A design object containing the theme and layout of the article."
|
|
75
194
|
design: Design
|
|
195
|
+
|
|
196
|
+
"The parent article, indicating this article is a part of a series or package."
|
|
76
197
|
containedIn: Content
|
|
77
198
|
}
|
|
78
199
|
|
|
79
200
|
type Placeholder implements Content {
|
|
201
|
+
"The title of the article."
|
|
80
202
|
title: String!
|
|
203
|
+
|
|
204
|
+
"The unique identifier of the article - a uuid or a url."
|
|
81
205
|
id: ID!
|
|
206
|
+
|
|
207
|
+
"The type of the article, eg. 'Article' or 'Video'."
|
|
82
208
|
type: ContentType!
|
|
209
|
+
|
|
210
|
+
"An introductory paragraph of the article."
|
|
83
211
|
standfirst: String
|
|
212
|
+
|
|
213
|
+
"A banner located usually at the top of articles containing the title, the standfirst and any images."
|
|
84
214
|
topper: Topper
|
|
215
|
+
|
|
216
|
+
"An abstract syntax tree of the article content."
|
|
85
217
|
body: RichText
|
|
218
|
+
|
|
219
|
+
"The raw string of the XML as returned from ContentAPI."
|
|
86
220
|
bodyXML: String
|
|
221
|
+
|
|
222
|
+
"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."
|
|
87
223
|
url(vanity: Boolean, relative: Boolean): String!
|
|
224
|
+
|
|
225
|
+
"The ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'."
|
|
88
226
|
publishedDate: String!
|
|
227
|
+
|
|
228
|
+
"The number of milliseconds since the unix epoch the article was published, eg '1712140552443'."
|
|
229
|
+
publishedTimestamp: Float!
|
|
230
|
+
|
|
231
|
+
"The first ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'."
|
|
89
232
|
firstPublishedDate: String!
|
|
233
|
+
|
|
234
|
+
"An image object containing the url and the caption, to be displayed usually before the article content."
|
|
90
235
|
mainImage: Image
|
|
236
|
+
|
|
237
|
+
"An alternative title of the article."
|
|
91
238
|
altTitle: AltTitle
|
|
239
|
+
|
|
240
|
+
"An alternative introductory paragraph of the article."
|
|
92
241
|
altStandfirst: AltStandfirst
|
|
242
|
+
|
|
243
|
+
"An abstract syntax tree of the authors of the article."
|
|
93
244
|
byline(vanity: Boolean): StructuredContent
|
|
245
|
+
|
|
246
|
+
"A promotional thumbnail / snapshot of the article."
|
|
94
247
|
teaser: Teaser
|
|
248
|
+
|
|
249
|
+
"An array of concepts related to the article, eg. organisations or topics."
|
|
95
250
|
annotations: [Concept]
|
|
251
|
+
|
|
252
|
+
"The editorial division the article belongs to, eg. 'FT-SpecialReports'."
|
|
96
253
|
editorialDesk: String
|
|
254
|
+
|
|
255
|
+
"A scalar representing the access level of the article, eg. 'free'."
|
|
97
256
|
accessLevel: AccessLevel
|
|
98
|
-
|
|
257
|
+
|
|
258
|
+
"The concept to use for instant alert CTAs."
|
|
99
259
|
instantAlertConcept: Concept
|
|
260
|
+
|
|
261
|
+
"A scalar representing whether the article can be syndicated, ie. published by a third party site."
|
|
262
|
+
canBeSyndicated: CanBeSyndicated
|
|
263
|
+
|
|
264
|
+
"The party that originated the article, eg. 'FT'."
|
|
100
265
|
originatingParty: String
|
|
266
|
+
|
|
267
|
+
"Whether comments are enabled on the article."
|
|
101
268
|
commentsEnabled: Boolean
|
|
269
|
+
|
|
270
|
+
"A design object containing the theme and layout of the article."
|
|
102
271
|
design: Design
|
|
272
|
+
|
|
273
|
+
"The parent article, indicating this article is a part of a series or package."
|
|
103
274
|
containedIn: Content
|
|
104
275
|
}
|
|
105
276
|
|
|
106
277
|
type LiveBlogPackage implements Content {
|
|
278
|
+
"The title of the article."
|
|
107
279
|
title: String!
|
|
280
|
+
|
|
281
|
+
"The unique identifier of the article - a uuid or a url."
|
|
108
282
|
id: ID!
|
|
283
|
+
|
|
284
|
+
"The type of the article, eg. 'Article' or 'Video'."
|
|
109
285
|
type: ContentType!
|
|
286
|
+
|
|
287
|
+
"An introductory paragraph of the article."
|
|
110
288
|
standfirst: String
|
|
289
|
+
|
|
290
|
+
"A banner located usually at the top of articles containing the title, the standfirst and any images."
|
|
111
291
|
topper: Topper
|
|
292
|
+
|
|
293
|
+
"An abstract syntax tree of the article content."
|
|
112
294
|
body: RichText
|
|
295
|
+
|
|
296
|
+
"The raw string of the XML as returned from ContentAPI."
|
|
113
297
|
bodyXML: String
|
|
298
|
+
|
|
299
|
+
"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."
|
|
114
300
|
url(vanity: Boolean, relative: Boolean): String!
|
|
301
|
+
|
|
302
|
+
"The ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'."
|
|
115
303
|
publishedDate: String!
|
|
304
|
+
|
|
305
|
+
"The number of milliseconds since the unix epoch the article was published, eg '1712140552443'."
|
|
306
|
+
publishedTimestamp: Float!
|
|
307
|
+
|
|
308
|
+
"The first ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'."
|
|
116
309
|
firstPublishedDate: String!
|
|
310
|
+
|
|
311
|
+
"An image object containing the url and the caption, to be displayed usually before the article content."
|
|
117
312
|
mainImage: Image
|
|
313
|
+
|
|
314
|
+
"An alternative title of the article."
|
|
118
315
|
altTitle: AltTitle
|
|
316
|
+
|
|
317
|
+
"An alternative introductory paragraph of the article."
|
|
119
318
|
altStandfirst: AltStandfirst
|
|
319
|
+
|
|
320
|
+
"An abstract syntax tree of the authors of the article."
|
|
120
321
|
byline(vanity: Boolean): StructuredContent
|
|
322
|
+
|
|
323
|
+
"A promotional thumbnail / snapshot of the article."
|
|
121
324
|
teaser: Teaser
|
|
325
|
+
|
|
326
|
+
"An array of concepts related to the article, eg. organisations or topics."
|
|
122
327
|
annotations: [Concept]
|
|
328
|
+
|
|
329
|
+
"The editorial division the article belongs to, eg. 'FT-SpecialReports'."
|
|
123
330
|
editorialDesk: String
|
|
331
|
+
|
|
332
|
+
"A scalar representing the access level of the article, eg. 'free'."
|
|
124
333
|
accessLevel: AccessLevel
|
|
125
|
-
|
|
334
|
+
|
|
335
|
+
"The concept to use for instant alert CTAs."
|
|
126
336
|
instantAlertConcept: Concept
|
|
337
|
+
|
|
338
|
+
"A scalar representing whether the article can be syndicated, ie. published by a third party site."
|
|
339
|
+
canBeSyndicated: CanBeSyndicated
|
|
340
|
+
|
|
341
|
+
"The party that originated the article, eg. 'FT'."
|
|
127
342
|
originatingParty: String
|
|
343
|
+
|
|
344
|
+
"Whether comments are enabled on the article."
|
|
128
345
|
commentsEnabled: Boolean
|
|
346
|
+
|
|
347
|
+
"A design object containing the theme and layout of the article."
|
|
129
348
|
design: Design
|
|
349
|
+
|
|
350
|
+
"The child articles of this live blog package."
|
|
130
351
|
liveBlogPosts(includePinned: Boolean @deprecated(reason: "avoiding breaking change, will remove argument on next major release")): [Content]
|
|
352
|
+
|
|
353
|
+
"The pinned article of this live blog package."
|
|
131
354
|
pinnedPost: Content
|
|
355
|
+
|
|
356
|
+
"Whether the live blog package should be updated in real time."
|
|
132
357
|
realtime: Boolean
|
|
133
358
|
}
|
|
134
359
|
|
|
135
360
|
type LiveBlogPost implements Content {
|
|
361
|
+
"The title of the article."
|
|
136
362
|
title: String!
|
|
363
|
+
|
|
364
|
+
"The unique identifier of the article - a uuid or a url."
|
|
137
365
|
id: ID!
|
|
366
|
+
|
|
367
|
+
"The type of the article, eg. 'Article' or 'Video'."
|
|
138
368
|
type: ContentType!
|
|
369
|
+
|
|
370
|
+
"An introductory paragraph of the article."
|
|
139
371
|
standfirst: String
|
|
372
|
+
|
|
373
|
+
"A banner located usually at the top of articles containing the title, the standfirst and any images."
|
|
140
374
|
topper: Topper
|
|
375
|
+
|
|
376
|
+
"An abstract syntax tree of the article content."
|
|
141
377
|
body: RichText
|
|
378
|
+
|
|
379
|
+
"The raw string of the XML as returned from ContentAPI."
|
|
142
380
|
bodyXML: String
|
|
381
|
+
|
|
382
|
+
"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."
|
|
143
383
|
url(vanity: Boolean, relative: Boolean): String!
|
|
384
|
+
|
|
385
|
+
"The ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'."
|
|
144
386
|
publishedDate: String!
|
|
387
|
+
|
|
388
|
+
"The number of milliseconds since the unix epoch the article was published, eg '1712140552443'."
|
|
389
|
+
publishedTimestamp: Float!
|
|
390
|
+
|
|
391
|
+
"The first ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'."
|
|
145
392
|
firstPublishedDate: String!
|
|
393
|
+
|
|
394
|
+
"An image object containing the url and the caption, to be displayed usually before the article content."
|
|
146
395
|
mainImage: Image
|
|
396
|
+
|
|
397
|
+
"An alternative title of the article."
|
|
147
398
|
altTitle: AltTitle
|
|
399
|
+
|
|
400
|
+
"An alternative introductory paragraph of the article."
|
|
148
401
|
altStandfirst: AltStandfirst
|
|
402
|
+
|
|
403
|
+
"An abstract syntax tree of the authors of the article."
|
|
149
404
|
byline(vanity: Boolean): StructuredContent
|
|
405
|
+
|
|
406
|
+
"A promotional thumbnail / snapshot of the article."
|
|
150
407
|
teaser: Teaser
|
|
408
|
+
|
|
409
|
+
"An array of concepts related to the article, eg. organisations or topics."
|
|
151
410
|
annotations: [Concept]
|
|
411
|
+
|
|
412
|
+
"The editorial division the article belongs to, eg. 'FT-SpecialReports'."
|
|
152
413
|
editorialDesk: String
|
|
414
|
+
|
|
415
|
+
"A scalar representing the access level of the article, eg. 'free'."
|
|
153
416
|
accessLevel: AccessLevel
|
|
154
|
-
|
|
417
|
+
|
|
418
|
+
"The concept to use for instant alert CTAs."
|
|
155
419
|
instantAlertConcept: Concept
|
|
420
|
+
|
|
421
|
+
"A scalar representing whether the article can be syndicated, ie. published by a third party site."
|
|
422
|
+
canBeSyndicated: CanBeSyndicated
|
|
423
|
+
|
|
424
|
+
"The party that originated the article, eg. 'FT'."
|
|
156
425
|
originatingParty: String
|
|
426
|
+
|
|
427
|
+
"Whether comments are enabled on the article."
|
|
157
428
|
commentsEnabled: Boolean
|
|
429
|
+
|
|
430
|
+
"A design object containing the theme and layout of the article."
|
|
158
431
|
design: Design
|
|
432
|
+
|
|
433
|
+
"The parent article, indicating this article is a part of a series or package."
|
|
159
434
|
containedIn: Content
|
|
435
|
+
|
|
436
|
+
"An object indicating whether the article is an opinion piece."
|
|
160
437
|
indicators: Indicators
|
|
438
|
+
|
|
439
|
+
"Whether the live-blog-post should be pinned."
|
|
161
440
|
isPinned: Boolean
|
|
162
441
|
}
|
|
163
442
|
|
|
164
443
|
type Audio implements Content {
|
|
444
|
+
"The title of the article."
|
|
165
445
|
title: String!
|
|
446
|
+
|
|
447
|
+
"The unique identifier of the article - a uuid or a url."
|
|
166
448
|
id: ID!
|
|
449
|
+
|
|
450
|
+
"The type of the article, eg. 'Article' or 'Video'."
|
|
167
451
|
type: ContentType!
|
|
452
|
+
|
|
453
|
+
"An introductory paragraph of the article."
|
|
168
454
|
standfirst: String
|
|
455
|
+
|
|
456
|
+
"A banner located usually at the top of articles containing the title, the standfirst and any images."
|
|
169
457
|
topper: Topper
|
|
458
|
+
|
|
459
|
+
"An abstract syntax tree of the article content."
|
|
170
460
|
body: RichText
|
|
461
|
+
|
|
462
|
+
"The raw string of the XML as returned from ContentAPI."
|
|
171
463
|
bodyXML: String
|
|
464
|
+
|
|
465
|
+
"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
466
|
url(vanity: Boolean, relative: Boolean): String!
|
|
467
|
+
|
|
468
|
+
"The ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'."
|
|
173
469
|
publishedDate: String!
|
|
470
|
+
|
|
471
|
+
"The number of milliseconds since the unix epoch the article was published, eg '1712140552443'."
|
|
472
|
+
publishedTimestamp: Float!
|
|
473
|
+
|
|
474
|
+
"The first ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'."
|
|
174
475
|
firstPublishedDate: String!
|
|
476
|
+
|
|
477
|
+
"An image object containing the url and the caption, to be displayed usually before the article content."
|
|
175
478
|
mainImage: Image
|
|
479
|
+
|
|
480
|
+
"An alternative title of the article."
|
|
176
481
|
altTitle: AltTitle
|
|
482
|
+
|
|
483
|
+
"An alternative introductory paragraph of the article."
|
|
177
484
|
altStandfirst: AltStandfirst
|
|
485
|
+
|
|
486
|
+
"An abstract syntax tree of the authors of the article."
|
|
178
487
|
byline(vanity: Boolean): StructuredContent
|
|
488
|
+
|
|
489
|
+
"A promotional thumbnail / snapshot of the article."
|
|
179
490
|
teaser: Teaser
|
|
491
|
+
|
|
492
|
+
"An array of concepts related to the article, eg. organisations or topics."
|
|
180
493
|
annotations: [Concept]
|
|
494
|
+
|
|
495
|
+
"The editorial division the article belongs to, eg. 'FT-SpecialReports'."
|
|
181
496
|
editorialDesk: String
|
|
497
|
+
|
|
498
|
+
"A scalar representing the access level of the article, eg. 'free'."
|
|
182
499
|
accessLevel: AccessLevel
|
|
183
|
-
|
|
500
|
+
|
|
501
|
+
"The concept to use for instant alert CTAs."
|
|
184
502
|
instantAlertConcept: Concept
|
|
503
|
+
|
|
504
|
+
"A scalar representing whether the article can be syndicated, ie. published by a third party site."
|
|
505
|
+
canBeSyndicated: CanBeSyndicated
|
|
506
|
+
|
|
507
|
+
"The party that originated the article, eg. 'FT'."
|
|
185
508
|
originatingParty: String
|
|
509
|
+
|
|
510
|
+
"Whether comments are enabled on the article."
|
|
186
511
|
commentsEnabled: Boolean
|
|
512
|
+
|
|
513
|
+
"A design object containing the theme and layout of the article."
|
|
187
514
|
design: Design
|
|
515
|
+
|
|
516
|
+
"An array of media objects containing the url, the duration, the filesize and the media type."
|
|
188
517
|
media: [Media]
|
|
189
518
|
}
|
|
190
519
|
|
|
191
520
|
type Video implements Content {
|
|
521
|
+
"The title of the article."
|
|
192
522
|
title: String!
|
|
523
|
+
|
|
524
|
+
"The unique identifier of the article - a uuid or a url."
|
|
193
525
|
id: ID!
|
|
526
|
+
|
|
527
|
+
"The type of the article, eg. 'Article' or 'Video'."
|
|
194
528
|
type: ContentType!
|
|
529
|
+
|
|
530
|
+
"An introductory paragraph of the article."
|
|
195
531
|
standfirst: String
|
|
532
|
+
|
|
533
|
+
"A banner located usually at the top of articles containing the title, the standfirst and any images."
|
|
196
534
|
topper: Topper
|
|
535
|
+
|
|
536
|
+
"An abstract syntax tree of the article content."
|
|
197
537
|
body: RichText
|
|
538
|
+
|
|
539
|
+
"The raw string of the XML as returned from ContentAPI."
|
|
198
540
|
bodyXML: String
|
|
541
|
+
|
|
542
|
+
"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."
|
|
199
543
|
url(vanity: Boolean, relative: Boolean): String!
|
|
544
|
+
|
|
545
|
+
"The ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'."
|
|
200
546
|
publishedDate: String!
|
|
547
|
+
|
|
548
|
+
"The number of milliseconds since the unix epoch the article was published, eg '1712140552443'."
|
|
549
|
+
publishedTimestamp: Float!
|
|
550
|
+
|
|
551
|
+
"The first ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'."
|
|
201
552
|
firstPublishedDate: String!
|
|
553
|
+
|
|
554
|
+
"An image object containing the url and the caption, to be displayed usually before the article content."
|
|
202
555
|
mainImage: Image
|
|
556
|
+
|
|
557
|
+
"An alternative title of the article."
|
|
203
558
|
altTitle: AltTitle
|
|
559
|
+
|
|
560
|
+
"An alternative introductory paragraph of the article."
|
|
204
561
|
altStandfirst: AltStandfirst
|
|
562
|
+
|
|
563
|
+
"An abstract syntax tree of the authors of the article."
|
|
205
564
|
byline(vanity: Boolean): StructuredContent
|
|
565
|
+
|
|
566
|
+
"A promotional thumbnail / snapshot of the article."
|
|
206
567
|
teaser: Teaser
|
|
568
|
+
|
|
569
|
+
"An array of concepts related to the article, eg. organisations or topics."
|
|
207
570
|
annotations: [Concept]
|
|
571
|
+
|
|
572
|
+
"The editorial division the article belongs to, eg. 'FT-SpecialReports'."
|
|
208
573
|
editorialDesk: String
|
|
574
|
+
|
|
575
|
+
"A scalar representing the access level of the article, eg. 'free'."
|
|
209
576
|
accessLevel: AccessLevel
|
|
210
|
-
|
|
577
|
+
|
|
578
|
+
"The concept to use for instant alert CTAs."
|
|
211
579
|
instantAlertConcept: Concept
|
|
580
|
+
|
|
581
|
+
"A scalar representing whether the article can be syndicated, ie. published by a third party site."
|
|
582
|
+
canBeSyndicated: CanBeSyndicated
|
|
583
|
+
|
|
584
|
+
"The party that originated the article, eg. 'FT'."
|
|
212
585
|
originatingParty: String
|
|
586
|
+
|
|
587
|
+
"Whether comments are enabled on the article."
|
|
213
588
|
commentsEnabled: Boolean
|
|
589
|
+
|
|
590
|
+
"A design object containing the theme and layout of the article."
|
|
214
591
|
design: Design
|
|
215
592
|
}
|
|
216
593
|
|
|
217
594
|
type ContentPackage implements Content {
|
|
595
|
+
"The title of the article."
|
|
218
596
|
title: String!
|
|
597
|
+
|
|
598
|
+
"The unique identifier of the article - a uuid or a url."
|
|
219
599
|
id: ID!
|
|
600
|
+
|
|
601
|
+
"The type of the article, eg. 'Article' or 'Video'."
|
|
220
602
|
type: ContentType!
|
|
603
|
+
|
|
604
|
+
"An introductory paragraph of the article."
|
|
221
605
|
standfirst: String
|
|
606
|
+
|
|
607
|
+
"A banner located usually at the top of articles containing the title, the standfirst and any images."
|
|
222
608
|
topper: Topper
|
|
609
|
+
|
|
610
|
+
"An abstract syntax tree of the article content."
|
|
223
611
|
body: RichText
|
|
612
|
+
|
|
613
|
+
"The raw string of the XML as returned from ContentAPI."
|
|
224
614
|
bodyXML: String
|
|
615
|
+
|
|
616
|
+
"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."
|
|
225
617
|
url(vanity: Boolean, relative: Boolean): String!
|
|
618
|
+
|
|
619
|
+
"The ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'."
|
|
226
620
|
publishedDate: String!
|
|
621
|
+
|
|
622
|
+
"The number of milliseconds since the unix epoch the article was published, eg '1712140552443'."
|
|
623
|
+
publishedTimestamp: Float!
|
|
624
|
+
|
|
625
|
+
"The first ISO string date the article was published, eg. '2024-04-03T10:35:52.443Z'."
|
|
227
626
|
firstPublishedDate: String!
|
|
627
|
+
|
|
628
|
+
"An image object containing the url and the caption, to be displayed usually before the article content."
|
|
228
629
|
mainImage: Image
|
|
630
|
+
|
|
631
|
+
"An alternative title of the article."
|
|
229
632
|
altTitle: AltTitle
|
|
633
|
+
|
|
634
|
+
"An alternative introductory paragraph of the article."
|
|
230
635
|
altStandfirst: AltStandfirst
|
|
636
|
+
|
|
637
|
+
"An abstract syntax tree of the authors of the article."
|
|
231
638
|
byline(vanity: Boolean): StructuredContent
|
|
639
|
+
|
|
640
|
+
"A promotional thumbnail / snapshot of the article."
|
|
232
641
|
teaser: Teaser
|
|
642
|
+
|
|
643
|
+
"An array of concepts related to the article, eg. organisations or topics."
|
|
233
644
|
annotations: [Concept]
|
|
645
|
+
|
|
646
|
+
"The editorial division the article belongs to, eg. 'FT-SpecialReports'."
|
|
234
647
|
editorialDesk: String
|
|
648
|
+
|
|
649
|
+
"A scalar representing the access level of the article, eg. 'free'."
|
|
235
650
|
accessLevel: AccessLevel
|
|
236
|
-
|
|
651
|
+
|
|
652
|
+
"The concept to use for instant alert CTAs."
|
|
237
653
|
instantAlertConcept: Concept
|
|
654
|
+
|
|
655
|
+
"A scalar representing whether the article can be syndicated, ie. published by a third party site."
|
|
656
|
+
canBeSyndicated: CanBeSyndicated
|
|
657
|
+
|
|
658
|
+
"The party that originated the article, eg. 'FT'."
|
|
238
659
|
originatingParty: String
|
|
660
|
+
|
|
661
|
+
"Whether comments are enabled on the article."
|
|
239
662
|
commentsEnabled: Boolean
|
|
663
|
+
|
|
664
|
+
"A design object containing the theme and layout of the article."
|
|
240
665
|
design: Design
|
|
666
|
+
|
|
667
|
+
"The child articles of this content package."
|
|
241
668
|
contains(fromId: String, surroundingArticles: Int): [Teaser]
|
|
669
|
+
|
|
670
|
+
"The number of child articles in this content package."
|
|
242
671
|
containsLength: Int
|
|
672
|
+
|
|
673
|
+
"The optional table of contents for this content package."
|
|
243
674
|
tableOfContents: TableOfContents
|
|
244
675
|
}
|
|
245
676
|
|
|
246
|
-
|
|
247
|
-
isOpinion: Boolean
|
|
248
|
-
}
|
|
677
|
+
|