@financial-times/cp-content-pipeline-schema 1.5.1 → 1.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.
Files changed (42) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/lib/generated/index.d.ts +16 -0
  3. package/lib/model/CapiResponse.d.ts +2 -0
  4. package/lib/model/CapiResponse.js +6 -0
  5. package/lib/model/CapiResponse.js.map +1 -1
  6. package/lib/model/Topper.js +6 -0
  7. package/lib/model/Topper.js.map +1 -1
  8. package/lib/model/schemas/capi/article.d.ts +3 -0
  9. package/lib/model/schemas/capi/article.js +1 -0
  10. package/lib/model/schemas/capi/article.js.map +1 -1
  11. package/lib/model/schemas/capi/audio.d.ts +3 -0
  12. package/lib/model/schemas/capi/audio.js +1 -0
  13. package/lib/model/schemas/capi/audio.js.map +1 -1
  14. package/lib/model/schemas/capi/base-schema.d.ts +3 -0
  15. package/lib/model/schemas/capi/base-schema.js +1 -0
  16. package/lib/model/schemas/capi/base-schema.js.map +1 -1
  17. package/lib/model/schemas/capi/content-package.d.ts +3 -0
  18. package/lib/model/schemas/capi/content-package.js +1 -0
  19. package/lib/model/schemas/capi/content-package.js.map +1 -1
  20. package/lib/model/schemas/capi/live-blog-package.d.ts +3 -0
  21. package/lib/model/schemas/capi/live-blog-package.js +1 -0
  22. package/lib/model/schemas/capi/live-blog-package.js.map +1 -1
  23. package/lib/model/schemas/capi/placeholder.d.ts +3 -0
  24. package/lib/model/schemas/capi/placeholder.js +1 -0
  25. package/lib/model/schemas/capi/placeholder.js.map +1 -1
  26. package/lib/resolvers/content.d.ts +1 -0
  27. package/lib/resolvers/content.js +1 -0
  28. package/lib/resolvers/content.js.map +1 -1
  29. package/lib/resolvers/index.d.ts +1 -0
  30. package/package.json +1 -1
  31. package/src/generated/index.ts +16 -0
  32. package/src/model/CapiResponse.ts +7 -0
  33. package/src/model/Topper.ts +8 -0
  34. package/src/model/schemas/capi/article.ts +1 -0
  35. package/src/model/schemas/capi/audio.ts +1 -0
  36. package/src/model/schemas/capi/base-schema.ts +1 -0
  37. package/src/model/schemas/capi/content-package.ts +1 -0
  38. package/src/model/schemas/capi/live-blog-package.ts +1 -0
  39. package/src/model/schemas/capi/placeholder.ts +1 -0
  40. package/src/resolvers/content.ts +1 -0
  41. package/tsconfig.tsbuildinfo +1 -1
  42. package/typedefs/content.graphql +8 -0
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/resolvers/content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/resolvers/content.ts"],"names":[],"mappings":"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"}
@@ -139,6 +139,7 @@ declare const resolvers: {
139
139
  publishedDate: (parent: import("../model/CapiResponse").CapiResponse) => string;
140
140
  annotations: (parent: import("../model/CapiResponse").CapiResponse) => import("../model/Concept").Concept[];
141
141
  accessLevel: (parent: import("../model/CapiResponse").CapiResponse) => "premium" | "subscribed" | "registered" | "free";
142
+ editorialDesk: (parent: import("../model/CapiResponse").CapiResponse) => string;
142
143
  canBeSyndicated: (parent: import("../model/CapiResponse").CapiResponse) => "unknown" | "yes" | "no" | "verify" | "withContributorPayment";
143
144
  originatingParty: (parent: import("../model/CapiResponse").CapiResponse) => string | null;
144
145
  commentsEnabled: (parent: import("../model/CapiResponse").CapiResponse) => boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@financial-times/cp-content-pipeline-schema",
3
- "version": "1.5.1",
3
+ "version": "1.6.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -64,6 +64,7 @@ export type Article = Content & {
64
64
  readonly commentsEnabled?: Maybe<Scalars['Boolean']['output']>;
65
65
  readonly containedIn?: Maybe<Content>;
66
66
  readonly design?: Maybe<Design>;
67
+ readonly editorialDesk?: Maybe<Scalars['String']['output']>;
67
68
  readonly firstPublishedDate: Scalars['String']['output'];
68
69
  readonly id: Scalars['ID']['output'];
69
70
  readonly mainImage?: Maybe<Image>;
@@ -99,6 +100,7 @@ export type Audio = Content & {
99
100
  readonly canBeSyndicated?: Maybe<Scalars['CanBeSyndicated']['output']>;
100
101
  readonly commentsEnabled?: Maybe<Scalars['Boolean']['output']>;
101
102
  readonly design?: Maybe<Design>;
103
+ readonly editorialDesk?: Maybe<Scalars['String']['output']>;
102
104
  readonly firstPublishedDate: Scalars['String']['output'];
103
105
  readonly id: Scalars['ID']['output'];
104
106
  readonly mainImage?: Maybe<Image>;
@@ -221,6 +223,7 @@ export type Content = {
221
223
  readonly canBeSyndicated?: Maybe<Scalars['CanBeSyndicated']['output']>;
222
224
  readonly commentsEnabled?: Maybe<Scalars['Boolean']['output']>;
223
225
  readonly design?: Maybe<Design>;
226
+ readonly editorialDesk?: Maybe<Scalars['String']['output']>;
224
227
  readonly firstPublishedDate: Scalars['String']['output'];
225
228
  readonly id: Scalars['ID']['output'];
226
229
  readonly mainImage?: Maybe<Image>;
@@ -258,6 +261,7 @@ export type ContentPackage = Content & {
258
261
  readonly contains?: Maybe<ReadonlyArray<Maybe<Teaser>>>;
259
262
  readonly containsLength?: Maybe<Scalars['Int']['output']>;
260
263
  readonly design?: Maybe<Design>;
264
+ readonly editorialDesk?: Maybe<Scalars['String']['output']>;
261
265
  readonly firstPublishedDate: Scalars['String']['output'];
262
266
  readonly id: Scalars['ID']['output'];
263
267
  readonly mainImage?: Maybe<Image>;
@@ -580,6 +584,7 @@ export type LiveBlogPackage = Content & {
580
584
  readonly canBeSyndicated?: Maybe<Scalars['CanBeSyndicated']['output']>;
581
585
  readonly commentsEnabled?: Maybe<Scalars['Boolean']['output']>;
582
586
  readonly design?: Maybe<Design>;
587
+ readonly editorialDesk?: Maybe<Scalars['String']['output']>;
583
588
  readonly firstPublishedDate: Scalars['String']['output'];
584
589
  readonly id: Scalars['ID']['output'];
585
590
  readonly liveBlogPosts?: Maybe<ReadonlyArray<Maybe<Content>>>;
@@ -619,6 +624,7 @@ export type LiveBlogPost = Content & {
619
624
  readonly commentsEnabled?: Maybe<Scalars['Boolean']['output']>;
620
625
  readonly containedIn?: Maybe<Content>;
621
626
  readonly design?: Maybe<Design>;
627
+ readonly editorialDesk?: Maybe<Scalars['String']['output']>;
622
628
  readonly firstPublishedDate: Scalars['String']['output'];
623
629
  readonly id: Scalars['ID']['output'];
624
630
  readonly mainImage?: Maybe<Image>;
@@ -739,6 +745,7 @@ export type Placeholder = Content & {
739
745
  readonly commentsEnabled?: Maybe<Scalars['Boolean']['output']>;
740
746
  readonly containedIn?: Maybe<Content>;
741
747
  readonly design?: Maybe<Design>;
748
+ readonly editorialDesk?: Maybe<Scalars['String']['output']>;
742
749
  readonly firstPublishedDate: Scalars['String']['output'];
743
750
  readonly id: Scalars['ID']['output'];
744
751
  readonly mainImage?: Maybe<Image>;
@@ -932,6 +939,7 @@ export type Video = Content & {
932
939
  readonly canBeSyndicated?: Maybe<Scalars['CanBeSyndicated']['output']>;
933
940
  readonly commentsEnabled?: Maybe<Scalars['Boolean']['output']>;
934
941
  readonly design?: Maybe<Design>;
942
+ readonly editorialDesk?: Maybe<Scalars['String']['output']>;
935
943
  readonly firstPublishedDate: Scalars['String']['output'];
936
944
  readonly id: Scalars['ID']['output'];
937
945
  readonly mainImage?: Maybe<Image>;
@@ -1251,6 +1259,7 @@ export type ArticleResolvers<ContextType = QueryContext, ParentType extends Reso
1251
1259
  commentsEnabled?: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>;
1252
1260
  containedIn?: Resolver<Maybe<ResolversTypes['Content']>, ParentType, ContextType>;
1253
1261
  design?: Resolver<Maybe<ResolversTypes['Design']>, ParentType, ContextType>;
1262
+ editorialDesk?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1254
1263
  firstPublishedDate?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
1255
1264
  id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
1256
1265
  mainImage?: Resolver<Maybe<ResolversTypes['Image']>, ParentType, ContextType>;
@@ -1276,6 +1285,7 @@ export type AudioResolvers<ContextType = QueryContext, ParentType extends Resolv
1276
1285
  canBeSyndicated?: Resolver<Maybe<ResolversTypes['CanBeSyndicated']>, ParentType, ContextType>;
1277
1286
  commentsEnabled?: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>;
1278
1287
  design?: Resolver<Maybe<ResolversTypes['Design']>, ParentType, ContextType>;
1288
+ editorialDesk?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1279
1289
  firstPublishedDate?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
1280
1290
  id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
1281
1291
  mainImage?: Resolver<Maybe<ResolversTypes['Image']>, ParentType, ContextType>;
@@ -1398,6 +1408,7 @@ export type ContentResolvers<ContextType = QueryContext, ParentType extends Reso
1398
1408
  canBeSyndicated?: Resolver<Maybe<ResolversTypes['CanBeSyndicated']>, ParentType, ContextType>;
1399
1409
  commentsEnabled?: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>;
1400
1410
  design?: Resolver<Maybe<ResolversTypes['Design']>, ParentType, ContextType>;
1411
+ editorialDesk?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1401
1412
  firstPublishedDate?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
1402
1413
  id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
1403
1414
  mainImage?: Resolver<Maybe<ResolversTypes['Image']>, ParentType, ContextType>;
@@ -1424,6 +1435,7 @@ export type ContentPackageResolvers<ContextType = QueryContext, ParentType exten
1424
1435
  contains?: Resolver<Maybe<ReadonlyArray<Maybe<ResolversTypes['Teaser']>>>, ParentType, ContextType, Partial<ContentPackageContainsArgs>>;
1425
1436
  containsLength?: Resolver<Maybe<ResolversTypes['Int']>, ParentType, ContextType>;
1426
1437
  design?: Resolver<Maybe<ResolversTypes['Design']>, ParentType, ContextType>;
1438
+ editorialDesk?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1427
1439
  firstPublishedDate?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
1428
1440
  id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
1429
1441
  mainImage?: Resolver<Maybe<ResolversTypes['Image']>, ParentType, ContextType>;
@@ -1710,6 +1722,7 @@ export type LiveBlogPackageResolvers<ContextType = QueryContext, ParentType exte
1710
1722
  canBeSyndicated?: Resolver<Maybe<ResolversTypes['CanBeSyndicated']>, ParentType, ContextType>;
1711
1723
  commentsEnabled?: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>;
1712
1724
  design?: Resolver<Maybe<ResolversTypes['Design']>, ParentType, ContextType>;
1725
+ editorialDesk?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1713
1726
  firstPublishedDate?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
1714
1727
  id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
1715
1728
  liveBlogPosts?: Resolver<Maybe<ReadonlyArray<Maybe<ResolversTypes['Content']>>>, ParentType, ContextType>;
@@ -1739,6 +1752,7 @@ export type LiveBlogPostResolvers<ContextType = QueryContext, ParentType extends
1739
1752
  commentsEnabled?: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>;
1740
1753
  containedIn?: Resolver<Maybe<ResolversTypes['Content']>, ParentType, ContextType>;
1741
1754
  design?: Resolver<Maybe<ResolversTypes['Design']>, ParentType, ContextType>;
1755
+ editorialDesk?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1742
1756
  firstPublishedDate?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
1743
1757
  id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
1744
1758
  mainImage?: Resolver<Maybe<ResolversTypes['Image']>, ParentType, ContextType>;
@@ -1851,6 +1865,7 @@ export type PlaceholderResolvers<ContextType = QueryContext, ParentType extends
1851
1865
  commentsEnabled?: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>;
1852
1866
  containedIn?: Resolver<Maybe<ResolversTypes['Content']>, ParentType, ContextType>;
1853
1867
  design?: Resolver<Maybe<ResolversTypes['Design']>, ParentType, ContextType>;
1868
+ editorialDesk?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
1854
1869
  firstPublishedDate?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
1855
1870
  id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
1856
1871
  mainImage?: Resolver<Maybe<ResolversTypes['Image']>, ParentType, ContextType>;
@@ -2032,6 +2047,7 @@ export type VideoResolvers<ContextType = QueryContext, ParentType extends Resolv
2032
2047
  canBeSyndicated?: Resolver<Maybe<ResolversTypes['CanBeSyndicated']>, ParentType, ContextType>;
2033
2048
  commentsEnabled?: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>;
2034
2049
  design?: Resolver<Maybe<ResolversTypes['Design']>, ParentType, ContextType>;
2050
+ editorialDesk?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
2035
2051
  firstPublishedDate?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
2036
2052
  id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
2037
2053
  mainImage?: Resolver<Maybe<ResolversTypes['Image']>, ParentType, ContextType>;
@@ -237,6 +237,9 @@ export class CapiResponse {
237
237
  accessLevel(): LiteralUnionScalarValues<typeof AccessLevel> {
238
238
  return this.capiData.accessLevel ?? 'subscribed'
239
239
  }
240
+ editorialDesk() {
241
+ return this.capiData.editorialDesk
242
+ }
240
243
  canBeSyndicated(): LiteralUnionScalarValues<typeof CanBeSyndicated> {
241
244
  return this.capiData.canBeSyndicated
242
245
  }
@@ -500,6 +503,10 @@ export class CapiResponse {
500
503
  return this.getBrandConcept()?.uuid() === conceptIds.brand.alphaville
501
504
  }
502
505
 
506
+ isCentralBanking() {
507
+ return this.capiData.editorialDesk === '/FT/Professional/Central Banking'
508
+ }
509
+
503
510
  isPlaceholder() {
504
511
  const isArticle = this.capiData.types.includes(
505
512
  'http://www.ft.com/ontology/content/Article'
@@ -96,6 +96,10 @@ export class Topper {
96
96
  return 'BrandedTopper'
97
97
  }
98
98
 
99
+ if (this.capiResponse.isCentralBanking()) {
100
+ return 'BrandedTopper'
101
+ }
102
+
99
103
  return 'BasicTopper'
100
104
  }
101
105
 
@@ -165,6 +169,10 @@ export class Topper {
165
169
  return 'matisse'
166
170
  }
167
171
 
172
+ if (this.capiResponse.isCentralBanking()) {
173
+ return 'slate'
174
+ }
175
+
168
176
  if (type === 'PodcastTopper') {
169
177
  return 'slate'
170
178
  }
@@ -24,6 +24,7 @@ const articleMetadataSchema = baseMetadataSchema.pick({
24
24
  publishedDate: true,
25
25
  firstPublishedDate: true,
26
26
  accessLevel: true,
27
+ editorialDesk: true,
27
28
  canBeSyndicated: true,
28
29
  canBeDistributed: true,
29
30
  topper: true,
@@ -19,6 +19,7 @@ const audioMetadataSchema = baseMetadataSchema.pick({
19
19
  publishedDate: true,
20
20
  firstPublishedDate: true,
21
21
  accessLevel: true,
22
+ editorialDesk: true,
22
23
  canBeSyndicated: true,
23
24
  canBeDistributed: true,
24
25
  })
@@ -183,6 +183,7 @@ export const baseMetadataSchema = z.object({
183
183
  publishedDate: z.string(),
184
184
  firstPublishedDate: z.string(),
185
185
  realtime: z.boolean(),
186
+ editorialDesk: z.string(),
186
187
  accessLevel: z
187
188
  .union([
188
189
  z.literal('premium'),
@@ -33,6 +33,7 @@ const contentPackageMetadataSchema = baseMetadataSchema.pick({
33
33
  publishedDate: true,
34
34
  firstPublishedDate: true,
35
35
  accessLevel: true,
36
+ editorialDesk: true,
36
37
  canBeSyndicated: true,
37
38
  canBeDistributed: true,
38
39
  topper: true,
@@ -25,6 +25,7 @@ const liveBlogPackageMetadataSchema = baseMetadataSchema.pick({
25
25
  publishedDate: true,
26
26
  firstPublishedDate: true,
27
27
  accessLevel: true,
28
+ editorialDesk: true,
28
29
  canBeSyndicated: true,
29
30
  canBeDistributed: true,
30
31
  topper: true,
@@ -24,6 +24,7 @@ const placeholderMetadataSchema = baseMetadataSchema.pick({
24
24
  publishedDate: true,
25
25
  firstPublishedDate: true,
26
26
  accessLevel: true,
27
+ editorialDesk: true,
27
28
  canBeSyndicated: true,
28
29
  canBeDistributed: true,
29
30
  topper: true,
@@ -54,6 +54,7 @@ const resolvers = {
54
54
  publishedDate: (parent) => parent.publishedDate(),
55
55
  annotations: (parent) => parent.annotations(),
56
56
  accessLevel: (parent) => parent.accessLevel(),
57
+ editorialDesk: (parent) => parent.editorialDesk(),
57
58
  canBeSyndicated: (parent) => parent.canBeSyndicated(),
58
59
  originatingParty: (parent) => parent.originatingParty(),
59
60
  commentsEnabled: (parent) => parent.commentsEnabled(),