@financial-times/cp-content-pipeline-schema 2.15.0 → 3.0.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.
Files changed (161) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/lib/datasources/capi.d.ts +2 -2
  3. package/lib/datasources/capi.js +4 -2
  4. package/lib/datasources/capi.js.map +1 -1
  5. package/lib/datasources/capi.test.js +2 -2
  6. package/lib/fixtures/capiObject.d.ts +2 -2
  7. package/lib/fixtures/capiObject.js +2 -0
  8. package/lib/fixtures/capiObject.js.map +1 -1
  9. package/lib/fixtures/capiPerson.d.ts +1 -1
  10. package/lib/generated/index.d.ts +296 -131
  11. package/lib/helpers/decorateHeadshotUrl.d.ts +1 -2
  12. package/lib/helpers/decorateHeadshotUrl.js +2 -3
  13. package/lib/helpers/decorateHeadshotUrl.js.map +1 -1
  14. package/lib/model/Byline.d.ts +8 -10
  15. package/lib/model/Byline.js +34 -33
  16. package/lib/model/Byline.js.map +1 -1
  17. package/lib/model/Byline.test.js +105 -52
  18. package/lib/model/Byline.test.js.map +1 -1
  19. package/lib/model/CapiResponse.d.ts +12 -16
  20. package/lib/model/CapiResponse.js +38 -41
  21. package/lib/model/CapiResponse.js.map +1 -1
  22. package/lib/model/CapiResponse.test.js +7 -18
  23. package/lib/model/CapiResponse.test.js.map +1 -1
  24. package/lib/model/Clip.d.ts +1 -1
  25. package/lib/model/Concept.d.ts +1 -1
  26. package/lib/model/Concept.js +1 -2
  27. package/lib/model/Concept.js.map +1 -1
  28. package/lib/model/FlourishSource.d.ts +1 -1
  29. package/lib/model/FlourishSource.js.map +1 -1
  30. package/lib/model/Image.d.ts +1 -1
  31. package/lib/model/LeadFlourish.test.js +1 -0
  32. package/lib/model/LeadFlourish.test.js.map +1 -1
  33. package/lib/model/Person.d.ts +6 -12
  34. package/lib/model/Person.js +39 -66
  35. package/lib/model/Person.js.map +1 -1
  36. package/lib/model/Person.test.js +7 -60
  37. package/lib/model/Person.test.js.map +1 -1
  38. package/lib/model/Picture.d.ts +1 -1
  39. package/lib/model/RichText.d.ts +1 -2
  40. package/lib/model/Topper.d.ts +1 -1
  41. package/lib/model/Topper.js +10 -8
  42. package/lib/model/Topper.js.map +1 -1
  43. package/lib/model/Topper.test.js +9 -10
  44. package/lib/model/Topper.test.js.map +1 -1
  45. package/lib/model/schemas/capi/article.d.ts +7 -4
  46. package/lib/model/schemas/capi/article.js +1 -0
  47. package/lib/model/schemas/capi/article.js.map +1 -1
  48. package/lib/model/schemas/capi/audio.d.ts +7 -4
  49. package/lib/model/schemas/capi/audio.js +1 -0
  50. package/lib/model/schemas/capi/audio.js.map +1 -1
  51. package/lib/model/schemas/capi/base-schema.d.ts +14 -123
  52. package/lib/model/schemas/capi/base-schema.js +7 -6
  53. package/lib/model/schemas/capi/base-schema.js.map +1 -1
  54. package/lib/model/schemas/capi/content-package.d.ts +10 -5
  55. package/lib/model/schemas/capi/content-package.js +2 -0
  56. package/lib/model/schemas/capi/content-package.js.map +1 -1
  57. package/lib/model/schemas/capi/index.d.ts +41 -22
  58. package/lib/model/schemas/capi/internal-content.d.ts +24 -0
  59. package/lib/model/schemas/capi/internal-content.js +3 -0
  60. package/lib/model/schemas/capi/internal-content.js.map +1 -0
  61. package/lib/model/schemas/capi/live-blog-package.d.ts +7 -4
  62. package/lib/model/schemas/capi/live-blog-package.js +1 -0
  63. package/lib/model/schemas/capi/live-blog-package.js.map +1 -1
  64. package/lib/model/schemas/capi/placeholder.d.ts +7 -4
  65. package/lib/model/schemas/capi/placeholder.js +1 -0
  66. package/lib/model/schemas/capi/placeholder.js.map +1 -1
  67. package/lib/model/schemas/capi/video.d.ts +10 -5
  68. package/lib/model/schemas/capi/video.js +2 -0
  69. package/lib/model/schemas/capi/video.js.map +1 -1
  70. package/lib/resolvers/concept.d.ts +37 -2
  71. package/lib/resolvers/concept.js +17 -10
  72. package/lib/resolvers/concept.js.map +1 -1
  73. package/lib/resolvers/content-tree/Workarounds.d.ts +19 -11
  74. package/lib/resolvers/content-tree/references/Author.d.ts +4 -0
  75. package/lib/resolvers/content-tree/references/Author.js +14 -0
  76. package/lib/resolvers/content-tree/references/Author.js.map +1 -0
  77. package/lib/resolvers/content-tree/references/ClipSet.d.ts +1 -1
  78. package/lib/resolvers/content-tree/references/ClipSet.js +1 -1
  79. package/lib/resolvers/content-tree/references/ClipSet.js.map +1 -1
  80. package/lib/resolvers/content-tree/references/Flourish.d.ts +1 -1
  81. package/lib/resolvers/content-tree/references/Reference.d.ts +1 -1
  82. package/lib/resolvers/content-tree/references/index.d.ts +4 -2
  83. package/lib/resolvers/content-tree/references/index.js +4 -1
  84. package/lib/resolvers/content-tree/references/index.js.map +1 -1
  85. package/lib/resolvers/content-tree/updateTreeWithReferenceIds.d.ts +3 -3
  86. package/lib/resolvers/content-tree/updateTreeWithReferenceIds.js +2 -3
  87. package/lib/resolvers/content-tree/updateTreeWithReferenceIds.js.map +1 -1
  88. package/lib/resolvers/content.d.ts +27 -18
  89. package/lib/resolvers/content.js +4 -2
  90. package/lib/resolvers/content.js.map +1 -1
  91. package/lib/resolvers/image.d.ts +12 -12
  92. package/lib/resolvers/index.d.ts +89 -42
  93. package/lib/resolvers/leadFlourish.d.ts +2 -1
  94. package/lib/resolvers/leadFlourish.js +1 -0
  95. package/lib/resolvers/leadFlourish.js.map +1 -1
  96. package/lib/resolvers/person.d.ts +1 -1
  97. package/lib/resolvers/person.js +1 -1
  98. package/lib/resolvers/person.js.map +1 -1
  99. package/lib/resolvers/picture.d.ts +4 -4
  100. package/lib/resolvers/richText.d.ts +1 -1
  101. package/lib/resolvers/teaser.d.ts +1 -1
  102. package/lib/resolvers/topper.d.ts +3 -3
  103. package/package.json +1 -1
  104. package/queries/article.graphql +35 -13
  105. package/src/datasources/capi.test.ts +3 -3
  106. package/src/datasources/capi.ts +5 -3
  107. package/src/fixtures/capiObject.ts +4 -2
  108. package/src/fixtures/capiPerson.ts +1 -1
  109. package/src/generated/index.ts +321 -132
  110. package/src/helpers/decorateHeadshotUrl.ts +2 -2
  111. package/src/model/Byline.test.ts +136 -55
  112. package/src/model/Byline.ts +49 -39
  113. package/src/model/CapiResponse.test.ts +9 -25
  114. package/src/model/CapiResponse.ts +83 -56
  115. package/src/model/Clip.ts +1 -1
  116. package/src/model/Concept.ts +3 -3
  117. package/src/model/FlourishSource.ts +1 -1
  118. package/src/model/Image.test.ts +1 -1
  119. package/src/model/Image.ts +1 -1
  120. package/src/model/LeadFlourish.test.ts +1 -0
  121. package/src/model/Person.test.ts +11 -62
  122. package/src/model/Person.ts +47 -51
  123. package/src/model/Picture.test.ts +1 -1
  124. package/src/model/Picture.ts +1 -1
  125. package/src/model/Topper.test.ts +22 -18
  126. package/src/model/Topper.ts +10 -9
  127. package/src/model/__snapshots__/Byline.test.ts.snap +166 -27
  128. package/src/model/schemas/capi/article.ts +1 -0
  129. package/src/model/schemas/capi/audio.ts +1 -0
  130. package/src/model/schemas/capi/base-schema.ts +5 -4
  131. package/src/model/schemas/capi/content-package.ts +2 -0
  132. package/src/model/schemas/capi/internal-content.ts +45 -0
  133. package/src/model/schemas/capi/live-blog-package.ts +1 -0
  134. package/src/model/schemas/capi/placeholder.ts +1 -0
  135. package/src/model/schemas/capi/video.ts +2 -0
  136. package/src/resolvers/concept.ts +29 -12
  137. package/src/resolvers/content-tree/Workarounds.ts +39 -20
  138. package/src/resolvers/content-tree/references/Author.ts +18 -0
  139. package/src/resolvers/content-tree/references/ClipSet.ts +6 -8
  140. package/src/resolvers/content-tree/references/ImageSet.ts +1 -1
  141. package/src/resolvers/content-tree/references/ScrollyImage.ts +1 -1
  142. package/src/resolvers/content-tree/references/index.ts +6 -1
  143. package/src/resolvers/content-tree/updateTreeWithReferenceIds.ts +6 -8
  144. package/src/resolvers/content.ts +4 -2
  145. package/src/resolvers/leadFlourish.ts +1 -0
  146. package/src/resolvers/person.ts +1 -1
  147. package/src/types/n-display-metadata.d.ts +1 -1
  148. package/tsconfig.tsbuildinfo +1 -1
  149. package/typedefs/clip.graphql +2 -2
  150. package/typedefs/concept.graphql +64 -2
  151. package/typedefs/content.graphql +63 -39
  152. package/typedefs/image.graphql +12 -12
  153. package/typedefs/leadFlourish.graphql +32 -0
  154. package/typedefs/person.graphql +2 -2
  155. package/typedefs/picture.graphql +6 -6
  156. package/typedefs/references/author.graphql +7 -0
  157. package/typedefs/references/clipSet.graphql +14 -2
  158. package/typedefs/references/tweet.graphql +1 -1
  159. package/typedefs/teaser.graphql +10 -10
  160. package/src/types/internal-content.d.ts +0 -55
  161. package/typedefs/leadFlouish.graphql +0 -29
@@ -2,25 +2,25 @@ union MetaLink = Concept | ContentPackage
2
2
 
3
3
  type Teaser {
4
4
  "The unique identifier of the teaser, a uuid or a url."
5
- id: String
5
+ id: String!
6
6
 
7
7
  "The url of the content that the teaser refers to."
8
8
  url(relative: Boolean): String!
9
-
9
+
10
10
  "The type of the teaser, eg. 'article' or 'video'."
11
- type: String
11
+ type: String!
12
12
 
13
13
  "The title of the teaser."
14
- title: String
14
+ title: String!
15
15
 
16
16
  "The image to be used as a thumbnail for the teaser."
17
17
  image: Image
18
18
 
19
19
  "The date the content of the teaser was published."
20
- publishedDate: String
20
+ publishedDate: String!
21
21
 
22
22
  "The date the content of the teaser was first published."
23
- firstPublishedDate: String
23
+ firstPublishedDate: String!
24
24
 
25
25
  "An object containing the metadata details of the teaser, eg. id, url, prefLabel."
26
26
  metaLink: MetaLink
@@ -35,10 +35,10 @@ type Teaser {
35
35
  metaSuffixText: String
36
36
 
37
37
  "An object containing a map of indicator items to boolean values, eg. accessLevel, isOpinion."
38
- indicators: Indicators
38
+ indicators: Indicators!
39
39
 
40
40
  "The theme to use for the teaser, eg. 'opinion' or 'news'."
41
- theme: String
41
+ theme: String!
42
42
 
43
43
  "The introductory text of the teaser."
44
44
  standfirst: String
@@ -47,11 +47,11 @@ type Teaser {
47
47
  "Indicators are used to determine teaser styling."
48
48
  type Indicators {
49
49
  "The access level of the teaser, eg. 'free' or 'premium'."
50
- accessLevel: AccessLevel
50
+ accessLevel: AccessLevel!
51
51
 
52
52
  "Whether the teaser is an opinion piece."
53
53
  isOpinion: Boolean
54
-
54
+
55
55
  "Whether the teaser is a column, ie. has one author."
56
56
  isColumn: Boolean
57
57
 
@@ -1,55 +0,0 @@
1
- import { z } from 'zod'
2
- import {
3
- InternalContentSchema,
4
- CapiPersonMembership,
5
- CapiPerson,
6
- CapiNotification,
7
- Annotation,
8
- Image,
9
- ImageSet,
10
- Clip,
11
- ClipSet,
12
- MainImage,
13
- LeadImage,
14
- LeadFlourish,
15
- capiNotificationResponse,
16
- } from '../model/schemas/capi/base-schema'
17
-
18
- import { articleSchema } from '../model/schemas/capi/article'
19
- import { placeholderSchema } from '../model/schemas/capi/placeholder'
20
-
21
- import { liveBlogPackageSchema } from '../model/schemas/capi/live-blog-package'
22
- import { audioSchema } from '../model/schemas/capi/audio'
23
- import { videoSchema } from '../model/schemas/capi/video'
24
-
25
- import { contentPackageSchema } from '../model/schemas/capi/content-package'
26
-
27
- type Article = z.infer<typeof articleSchema>
28
- type Placeholder = z.infer<typeof placeholderSchema>
29
- type LiveBlogPackage = z.infer<typeof liveBlogPackageSchema>
30
- type ContentPackage = z.infer<typeof contentPackageSchema>
31
- type Audio = z.infer<typeof audioSchema>
32
- type Video = z.infer<typeof videoSchema>
33
-
34
- type InternalContent = z.infer<typeof InternalContentSchema>
35
- type CapiPersonMembership = z.infer<typeof CapiPersonMembership>
36
- type CapiPerson = z.infer<typeof CapiPerson>
37
- type CapiNotification = z.infer<typeof CapiNotification>
38
- type CapiNotificationResponse = z.infer<typeof capiNotificationResponse>
39
-
40
- type Annotation = z.infer<typeof Annotation>
41
- type Image = z.infer<typeof Image>
42
- type LeadImage = z.infer<typeof LeadImage>
43
- type ImageSet = z.infer<typeof ImageSet>
44
- type LeadFlourish = z.infer<typeof LeadFlourish>
45
- type MainImage = z.infer<typeof MainImage>
46
- type Clip = z.infer<typeof Clip>
47
- type ClipSet = z.infer<typeof ClipSet>
48
-
49
- type ContentTypeSchemas =
50
- | Article
51
- | Placeholder
52
- | LiveBlogPackage
53
- | ContentPackage
54
- | Audio
55
- | Video
@@ -1,29 +0,0 @@
1
- type FlourishSource {
2
- "The Origami image service url"
3
- url: String
4
-
5
- "The type of the source, e.g. visualisation for leadFlourish "
6
- type: String
7
-
8
- "The format of the source, eg. 'standard'."
9
- format: String
10
-
11
- "The width of the source."
12
- width: Int
13
-
14
- "The height of the source."
15
- height: Int
16
- }
17
-
18
- type LeadFlourish {
19
- "The type of the chart, eg. 'visualisation'."
20
- type: String
21
-
22
- "The id of the Flourish chart."
23
- id: String
24
-
25
- "The description of the Flourish chart."
26
- description: String
27
-
28
- fallbackImage: FlourishSource!
29
- }