@financial-times/cp-content-pipeline-schema 0.7.22 → 0.7.24
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 +25 -0
- package/lib/generated/index.d.ts +133 -32
- package/lib/helpers/isError.d.ts +1 -0
- package/lib/helpers/isError.js +7 -0
- package/lib/helpers/isError.js.map +1 -0
- package/lib/model/CapiResponse.d.ts +5 -2
- package/lib/model/CapiResponse.js +42 -4
- package/lib/model/CapiResponse.js.map +1 -1
- package/lib/model/Concept.d.ts +3 -0
- package/lib/model/Concept.js +19 -8
- package/lib/model/Concept.js.map +1 -1
- package/lib/model/Image.js +2 -4
- package/lib/model/Image.js.map +1 -1
- package/lib/model/RichText.d.ts +1 -0
- package/lib/model/RichText.js +3 -0
- package/lib/model/RichText.js.map +1 -1
- package/lib/model/RichText.test.js +2 -0
- package/lib/model/RichText.test.js.map +1 -1
- package/lib/model/Topper.d.ts +1 -0
- package/lib/model/Topper.js +3 -0
- package/lib/model/Topper.js.map +1 -1
- package/lib/model/schemas/capi/base-schema.d.ts +18 -0
- package/lib/model/schemas/capi/base-schema.js +3 -0
- package/lib/model/schemas/capi/base-schema.js.map +1 -1
- package/lib/model/schemas/capi/content-package.js +1 -0
- package/lib/model/schemas/capi/content-package.js.map +1 -1
- package/lib/resolvers/content-tree/extractText.d.ts +2 -0
- package/lib/resolvers/content-tree/extractText.js +22 -0
- package/lib/resolvers/content-tree/extractText.js.map +1 -0
- package/lib/resolvers/content-tree/references/Flourish.d.ts +4 -3
- package/lib/resolvers/content-tree/references/Flourish.js +33 -8
- package/lib/resolvers/content-tree/references/Flourish.js.map +1 -1
- package/lib/resolvers/content-tree/references/RawImage.js +2 -4
- package/lib/resolvers/content-tree/references/RawImage.js.map +1 -1
- package/lib/resolvers/content-tree/references/Tweet.js +5 -4
- package/lib/resolvers/content-tree/references/Tweet.js.map +1 -1
- package/lib/resolvers/content.d.ts +5 -1
- package/lib/resolvers/content.js +7 -1
- package/lib/resolvers/content.js.map +1 -1
- package/lib/resolvers/image.d.ts +1 -0
- package/lib/resolvers/image.js +1 -0
- package/lib/resolvers/image.js.map +1 -1
- package/lib/resolvers/index.d.ts +9 -3
- package/lib/resolvers/richText.d.ts +1 -0
- package/lib/resolvers/teaser.d.ts +1 -2
- package/lib/resolvers/teaser.js +0 -1
- package/lib/resolvers/teaser.js.map +1 -1
- package/lib/resolvers/topper.d.ts +1 -0
- package/lib/resolvers/topper.js +1 -0
- package/lib/resolvers/topper.js.map +1 -1
- package/package.json +1 -1
- package/src/generated/index.ts +90 -17
- package/src/helpers/isError.ts +3 -0
- package/src/model/CapiResponse.ts +46 -4
- package/src/model/Concept.ts +23 -10
- package/src/model/Image.ts +1 -5
- package/src/model/RichText.test.ts +2 -0
- package/src/model/RichText.ts +3 -0
- package/src/model/Topper.ts +4 -0
- package/src/model/__snapshots__/RichText.test.ts.snap +33 -0
- package/src/model/schemas/capi/base-schema.ts +3 -0
- package/src/model/schemas/capi/content-package.ts +1 -0
- package/src/resolvers/content-tree/extractText.ts +21 -0
- package/src/resolvers/content-tree/references/Flourish.ts +48 -11
- package/src/resolvers/content-tree/references/RawImage.ts +1 -4
- package/src/resolvers/content-tree/references/Tweet.ts +1 -4
- package/src/resolvers/content.ts +10 -1
- package/src/resolvers/image.ts +1 -1
- package/src/resolvers/teaser.ts +0 -1
- package/src/resolvers/topper.ts +1 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/typedefs/content.graphql +21 -7
- package/typedefs/image.graphql +10 -0
- package/typedefs/richText.graphql +1 -0
- package/typedefs/teaser.graphql +0 -1
- package/typedefs/topper.graphql +7 -0
package/typedefs/content.graphql
CHANGED
|
@@ -6,7 +6,7 @@ interface Content {
|
|
|
6
6
|
topper: Topper
|
|
7
7
|
body: RichText
|
|
8
8
|
bodyXML: String
|
|
9
|
-
url(relative: Boolean): String!
|
|
9
|
+
url(vanity: Boolean, relative: Boolean): String!
|
|
10
10
|
publishedDate: String!
|
|
11
11
|
firstPublishedDate: String!
|
|
12
12
|
mainImage: Image
|
|
@@ -15,6 +15,7 @@ interface Content {
|
|
|
15
15
|
byline: StructuredContent
|
|
16
16
|
teaser: Teaser
|
|
17
17
|
annotations: [Concept]
|
|
18
|
+
accessLevel: AccessLevel
|
|
18
19
|
commentsEnabled: Boolean
|
|
19
20
|
design: Design
|
|
20
21
|
}
|
|
@@ -39,6 +40,11 @@ type Media {
|
|
|
39
40
|
mediaType: String
|
|
40
41
|
}
|
|
41
42
|
|
|
43
|
+
type TableOfContents {
|
|
44
|
+
labelType: String
|
|
45
|
+
sequence: String
|
|
46
|
+
}
|
|
47
|
+
|
|
42
48
|
type Article implements Content {
|
|
43
49
|
title: String!
|
|
44
50
|
id: String!
|
|
@@ -47,7 +53,7 @@ type Article implements Content {
|
|
|
47
53
|
topper: Topper
|
|
48
54
|
body: RichText
|
|
49
55
|
bodyXML: String
|
|
50
|
-
url(relative: Boolean): String!
|
|
56
|
+
url(vanity: Boolean, relative: Boolean): String!
|
|
51
57
|
publishedDate: String!
|
|
52
58
|
firstPublishedDate: String!
|
|
53
59
|
mainImage: Image
|
|
@@ -56,8 +62,10 @@ type Article implements Content {
|
|
|
56
62
|
byline: StructuredContent
|
|
57
63
|
teaser: Teaser
|
|
58
64
|
annotations: [Concept]
|
|
65
|
+
accessLevel: AccessLevel
|
|
59
66
|
commentsEnabled: Boolean
|
|
60
67
|
design: Design
|
|
68
|
+
containedIn: Content
|
|
61
69
|
}
|
|
62
70
|
|
|
63
71
|
type LiveBlogPackage implements Content {
|
|
@@ -68,7 +76,7 @@ type LiveBlogPackage implements Content {
|
|
|
68
76
|
topper: Topper
|
|
69
77
|
body: RichText
|
|
70
78
|
bodyXML: String
|
|
71
|
-
url(relative: Boolean): String!
|
|
79
|
+
url(vanity: Boolean, relative: Boolean): String!
|
|
72
80
|
publishedDate: String!
|
|
73
81
|
firstPublishedDate: String!
|
|
74
82
|
mainImage: Image
|
|
@@ -77,6 +85,7 @@ type LiveBlogPackage implements Content {
|
|
|
77
85
|
byline: StructuredContent
|
|
78
86
|
teaser: Teaser
|
|
79
87
|
annotations: [Concept]
|
|
88
|
+
accessLevel: AccessLevel
|
|
80
89
|
commentsEnabled: Boolean
|
|
81
90
|
design: Design
|
|
82
91
|
liveBlogPosts: [Content]
|
|
@@ -91,7 +100,7 @@ type LiveBlogPost implements Content {
|
|
|
91
100
|
topper: Topper
|
|
92
101
|
body: RichText
|
|
93
102
|
bodyXML: String
|
|
94
|
-
url(relative: Boolean): String!
|
|
103
|
+
url(vanity: Boolean, relative: Boolean): String!
|
|
95
104
|
publishedDate: String!
|
|
96
105
|
firstPublishedDate: String!
|
|
97
106
|
mainImage: Image
|
|
@@ -100,6 +109,7 @@ type LiveBlogPost implements Content {
|
|
|
100
109
|
byline: StructuredContent
|
|
101
110
|
teaser: Teaser
|
|
102
111
|
annotations: [Concept]
|
|
112
|
+
accessLevel: AccessLevel
|
|
103
113
|
commentsEnabled: Boolean
|
|
104
114
|
design: Design
|
|
105
115
|
}
|
|
@@ -112,7 +122,7 @@ type Audio implements Content {
|
|
|
112
122
|
topper: Topper
|
|
113
123
|
body: RichText
|
|
114
124
|
bodyXML: String
|
|
115
|
-
url(relative: Boolean): String!
|
|
125
|
+
url(vanity: Boolean, relative: Boolean): String!
|
|
116
126
|
publishedDate: String!
|
|
117
127
|
firstPublishedDate: String!
|
|
118
128
|
mainImage: Image
|
|
@@ -121,6 +131,7 @@ type Audio implements Content {
|
|
|
121
131
|
byline: StructuredContent
|
|
122
132
|
teaser: Teaser
|
|
123
133
|
annotations: [Concept]
|
|
134
|
+
accessLevel: AccessLevel
|
|
124
135
|
commentsEnabled: Boolean
|
|
125
136
|
design: Design
|
|
126
137
|
media: [Media]
|
|
@@ -134,7 +145,7 @@ type Video implements Content {
|
|
|
134
145
|
topper: Topper
|
|
135
146
|
body: RichText
|
|
136
147
|
bodyXML: String
|
|
137
|
-
url(relative: Boolean): String!
|
|
148
|
+
url(vanity: Boolean, relative: Boolean): String!
|
|
138
149
|
publishedDate: String!
|
|
139
150
|
firstPublishedDate: String!
|
|
140
151
|
mainImage: Image
|
|
@@ -143,6 +154,7 @@ type Video implements Content {
|
|
|
143
154
|
byline: StructuredContent
|
|
144
155
|
teaser: Teaser
|
|
145
156
|
annotations: [Concept]
|
|
157
|
+
accessLevel: AccessLevel
|
|
146
158
|
commentsEnabled: Boolean
|
|
147
159
|
design: Design
|
|
148
160
|
}
|
|
@@ -155,7 +167,7 @@ type ContentPackage implements Content {
|
|
|
155
167
|
topper: Topper
|
|
156
168
|
body: RichText
|
|
157
169
|
bodyXML: String
|
|
158
|
-
url(relative: Boolean): String!
|
|
170
|
+
url(vanity: Boolean, relative: Boolean): String!
|
|
159
171
|
publishedDate: String!
|
|
160
172
|
firstPublishedDate: String!
|
|
161
173
|
mainImage: Image
|
|
@@ -164,7 +176,9 @@ type ContentPackage implements Content {
|
|
|
164
176
|
byline: StructuredContent
|
|
165
177
|
teaser: Teaser
|
|
166
178
|
annotations: [Concept]
|
|
179
|
+
accessLevel: AccessLevel
|
|
167
180
|
commentsEnabled: Boolean
|
|
168
181
|
design: Design
|
|
169
182
|
contains: [Teaser]
|
|
183
|
+
tableOfContents: TableOfContents
|
|
170
184
|
}
|
package/typedefs/image.graphql
CHANGED
|
@@ -9,6 +9,7 @@ interface Image {
|
|
|
9
9
|
format: ImageFormat!
|
|
10
10
|
sourceSet(width: Int, maxDpr: Int): [ImageSource!]!
|
|
11
11
|
url: String
|
|
12
|
+
altText: String
|
|
12
13
|
width: Int
|
|
13
14
|
height: Int
|
|
14
15
|
credit: String
|
|
@@ -21,6 +22,7 @@ type ImageStandardInline implements Image {
|
|
|
21
22
|
format: ImageFormat!
|
|
22
23
|
sourceSet(width: Int, maxDpr: Int): [ImageSource!]!
|
|
23
24
|
url: String
|
|
25
|
+
altText: String
|
|
24
26
|
width: Int
|
|
25
27
|
height: Int
|
|
26
28
|
credit: String
|
|
@@ -33,6 +35,7 @@ type ImageDesktop implements Image {
|
|
|
33
35
|
format: ImageFormat!
|
|
34
36
|
sourceSet(width: Int, maxDpr: Int): [ImageSource!]!
|
|
35
37
|
url: String
|
|
38
|
+
altText: String
|
|
36
39
|
width: Int
|
|
37
40
|
height: Int
|
|
38
41
|
credit: String
|
|
@@ -45,6 +48,7 @@ type ImageMobile implements Image {
|
|
|
45
48
|
format: ImageFormat!
|
|
46
49
|
sourceSet(width: Int, maxDpr: Int): [ImageSource!]!
|
|
47
50
|
url: String
|
|
51
|
+
altText: String
|
|
48
52
|
width: Int
|
|
49
53
|
height: Int
|
|
50
54
|
credit: String
|
|
@@ -57,6 +61,7 @@ type ImageStandard implements Image {
|
|
|
57
61
|
format: ImageFormat!
|
|
58
62
|
sourceSet(width: Int, maxDpr: Int): [ImageSource!]!
|
|
59
63
|
url: String
|
|
64
|
+
altText: String
|
|
60
65
|
width: Int
|
|
61
66
|
height: Int
|
|
62
67
|
credit: String
|
|
@@ -70,6 +75,7 @@ type ImageSquare implements Image {
|
|
|
70
75
|
sourceSet(width: Int, maxDpr: Int): [ImageSource!]!
|
|
71
76
|
url: String
|
|
72
77
|
width: Int
|
|
78
|
+
altText: String
|
|
73
79
|
height: Int
|
|
74
80
|
credit: String
|
|
75
81
|
caption: String
|
|
@@ -82,6 +88,7 @@ type ImageWide implements Image {
|
|
|
82
88
|
sourceSet(width: Int, maxDpr: Int): [ImageSource!]!
|
|
83
89
|
url: String
|
|
84
90
|
width: Int
|
|
91
|
+
altText: String
|
|
85
92
|
height: Int
|
|
86
93
|
credit: String
|
|
87
94
|
caption: String
|
|
@@ -94,6 +101,7 @@ type ImageSquareFTEdit implements Image {
|
|
|
94
101
|
sourceSet(width: Int, maxDpr: Int): [ImageSource!]!
|
|
95
102
|
url: String
|
|
96
103
|
width: Int
|
|
104
|
+
altText: String
|
|
97
105
|
height: Int
|
|
98
106
|
credit: String
|
|
99
107
|
caption: String
|
|
@@ -106,6 +114,7 @@ type ImagePortrait implements Image {
|
|
|
106
114
|
sourceSet(width: Int, maxDpr: Int): [ImageSource!]!
|
|
107
115
|
url: String
|
|
108
116
|
width: Int
|
|
117
|
+
altText: String
|
|
109
118
|
height: Int
|
|
110
119
|
credit: String
|
|
111
120
|
caption: String
|
|
@@ -118,6 +127,7 @@ type ImageLandscape implements Image {
|
|
|
118
127
|
sourceSet(width: Int, maxDpr: Int): [ImageSource!]!
|
|
119
128
|
url: String
|
|
120
129
|
width: Int
|
|
130
|
+
altText: String
|
|
121
131
|
height: Int
|
|
122
132
|
credit: String
|
|
123
133
|
caption: String
|
package/typedefs/teaser.graphql
CHANGED
package/typedefs/topper.graphql
CHANGED
|
@@ -24,6 +24,7 @@ interface TopperWithHeadshot {
|
|
|
24
24
|
|
|
25
25
|
interface TopperWithBrand {
|
|
26
26
|
brandConcept: Concept
|
|
27
|
+
genreConcept: Concept
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
interface TopperWithPackage {
|
|
@@ -53,6 +54,7 @@ type SplitTextTopper implements Topper & TopperWithImages & TopperWithTheme & To
|
|
|
53
54
|
isLargeHeadline: Boolean
|
|
54
55
|
layout: String
|
|
55
56
|
brandConcept: Concept
|
|
57
|
+
genreConcept: Concept
|
|
56
58
|
design: String
|
|
57
59
|
}
|
|
58
60
|
|
|
@@ -69,6 +71,7 @@ type FullBleedTopper implements Topper & TopperWithImages & TopperWithTheme & To
|
|
|
69
71
|
isLargeHeadline: Boolean
|
|
70
72
|
layout: String
|
|
71
73
|
brandConcept: Concept
|
|
74
|
+
genreConcept: Concept
|
|
72
75
|
}
|
|
73
76
|
|
|
74
77
|
type PodcastTopper implements Topper & TopperWithTheme & TopperWithHeadshot & TopperWithBrand {
|
|
@@ -84,6 +87,7 @@ type PodcastTopper implements Topper & TopperWithTheme & TopperWithHeadshot & To
|
|
|
84
87
|
headshot(width: Int, dpr: Int): String
|
|
85
88
|
columnist: Concept
|
|
86
89
|
brandConcept: Concept
|
|
90
|
+
genreConcept: Concept
|
|
87
91
|
}
|
|
88
92
|
|
|
89
93
|
type OpinionTopper implements Topper & TopperWithTheme & TopperWithHeadshot {
|
|
@@ -111,6 +115,7 @@ type BrandedTopper implements Topper & TopperWithTheme & TopperWithBrand {
|
|
|
111
115
|
isLargeHeadline: Boolean
|
|
112
116
|
layout: String
|
|
113
117
|
brandConcept: Concept
|
|
118
|
+
genreConcept: Concept
|
|
114
119
|
}
|
|
115
120
|
|
|
116
121
|
type DeepPortraitTopper implements Topper & TopperWithImages & TopperWithTheme & TopperWithBrand {
|
|
@@ -126,6 +131,7 @@ type DeepPortraitTopper implements Topper & TopperWithImages & TopperWithTheme &
|
|
|
126
131
|
isLargeHeadline: Boolean
|
|
127
132
|
layout: String
|
|
128
133
|
brandConcept: Concept
|
|
134
|
+
genreConcept: Concept
|
|
129
135
|
}
|
|
130
136
|
|
|
131
137
|
type DeepLandscapeTopper implements Topper & TopperWithImages & TopperWithTheme & TopperWithBrand {
|
|
@@ -141,4 +147,5 @@ type DeepLandscapeTopper implements Topper & TopperWithImages & TopperWithTheme
|
|
|
141
147
|
isLargeHeadline: Boolean
|
|
142
148
|
layout: String
|
|
143
149
|
brandConcept: Concept
|
|
150
|
+
genreConcept: Concept
|
|
144
151
|
}
|