@financial-times/cp-content-pipeline-schema 2.14.1 → 2.15.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 (108) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/lib/datasources/capi.d.ts +2 -0
  3. package/lib/datasources/capi.js +17 -1
  4. package/lib/datasources/capi.js.map +1 -1
  5. package/lib/datasources/capi.test.js +6 -1
  6. package/lib/datasources/capi.test.js.map +1 -1
  7. package/lib/datasources/instrumented.d.ts +1 -1
  8. package/lib/datasources/instrumented.js.map +1 -1
  9. package/lib/datasources/origami-image.js.map +1 -1
  10. package/lib/datasources/twitter.js.map +1 -1
  11. package/lib/datasources/url-management.js.map +1 -1
  12. package/lib/fixtures/dummyContext.js.map +1 -1
  13. package/lib/generated/index.d.ts +62 -0
  14. package/lib/helpers/decorateHeadshotUrl.js +1 -1
  15. package/lib/helpers/decorateHeadshotUrl.js.map +1 -1
  16. package/lib/helpers/flatten-formatted-zod-errors.d.ts +6 -0
  17. package/lib/helpers/flatten-formatted-zod-errors.js +39 -0
  18. package/lib/helpers/flatten-formatted-zod-errors.js.map +1 -0
  19. package/lib/helpers/imageService.js +1 -1
  20. package/lib/helpers/imageService.js.map +1 -1
  21. package/lib/helpers/isError.js +1 -1
  22. package/lib/helpers/isError.js.map +1 -1
  23. package/lib/helpers/metadata.js +1 -2
  24. package/lib/helpers/metadata.js.map +1 -1
  25. package/lib/index.d.ts +5 -1
  26. package/lib/index.js.map +1 -1
  27. package/lib/model/Byline.js +1 -1
  28. package/lib/model/Byline.js.map +1 -1
  29. package/lib/model/CapiList.d.ts +17 -0
  30. package/lib/model/CapiList.js +87 -0
  31. package/lib/model/CapiList.js.map +1 -0
  32. package/lib/model/CapiResponse.js +7 -38
  33. package/lib/model/CapiResponse.js.map +1 -1
  34. package/lib/model/Clip.js.map +1 -1
  35. package/lib/model/Concept.js.map +1 -1
  36. package/lib/model/FlourishSource.js.map +1 -1
  37. package/lib/model/Image.d.ts +2 -34
  38. package/lib/model/Image.js +1 -1
  39. package/lib/model/Image.js.map +1 -1
  40. package/lib/model/Person.js.map +1 -1
  41. package/lib/model/Picture.js.map +1 -1
  42. package/lib/model/RichText.d.ts +1 -1
  43. package/lib/model/RichText.js.map +1 -1
  44. package/lib/model/Topper.d.ts +2 -2
  45. package/lib/model/Topper.js.map +1 -1
  46. package/lib/model/schemas/capi/index.js.map +1 -1
  47. package/lib/model/schemas/capi/list.d.ts +48 -0
  48. package/lib/model/schemas/capi/list.js +35 -0
  49. package/lib/model/schemas/capi/list.js.map +1 -0
  50. package/lib/resolvers/clip.d.ts +5 -5
  51. package/lib/resolvers/content-tree/bodyXMLToTree.js +1 -1
  52. package/lib/resolvers/content-tree/bodyXMLToTree.js.map +1 -1
  53. package/lib/resolvers/content-tree/extractText.js +1 -1
  54. package/lib/resolvers/content-tree/extractText.js.map +1 -1
  55. package/lib/resolvers/content-tree/nodePredicates.d.ts +3 -3
  56. package/lib/resolvers/content-tree/nodePredicates.js.map +1 -1
  57. package/lib/resolvers/content-tree/references/ClipSet.d.ts +2 -2
  58. package/lib/resolvers/content-tree/references/ClipSet.js.map +1 -1
  59. package/lib/resolvers/content-tree/references/Flourish.js.map +1 -1
  60. package/lib/resolvers/content-tree/references/RawImage.js.map +1 -1
  61. package/lib/resolvers/content-tree/references/Recommended.js.map +1 -1
  62. package/lib/resolvers/content-tree/references/Reference.d.ts +2 -2
  63. package/lib/resolvers/content-tree/references/Reference.js.map +1 -1
  64. package/lib/resolvers/content-tree/references/Tweet.js.map +1 -1
  65. package/lib/resolvers/content-tree/references/Video.js.map +1 -1
  66. package/lib/resolvers/content-tree/tagMappings.js +5 -5
  67. package/lib/resolvers/content-tree/tagMappings.js.map +1 -1
  68. package/lib/resolvers/content-tree/updateTreeWithReferenceIds.js +1 -1
  69. package/lib/resolvers/content-tree/updateTreeWithReferenceIds.js.map +1 -1
  70. package/lib/resolvers/content.d.ts +8 -8
  71. package/lib/resolvers/content.js.map +1 -1
  72. package/lib/resolvers/core.d.ts +1 -0
  73. package/lib/resolvers/core.js +27 -21
  74. package/lib/resolvers/core.js.map +1 -1
  75. package/lib/resolvers/image.js.map +1 -1
  76. package/lib/resolvers/index.d.ts +48 -36
  77. package/lib/resolvers/index.js +2 -0
  78. package/lib/resolvers/index.js.map +1 -1
  79. package/lib/resolvers/list.d.ts +14 -0
  80. package/lib/resolvers/list.js +16 -0
  81. package/lib/resolvers/list.js.map +1 -0
  82. package/lib/resolvers/literal-union.js.map +1 -1
  83. package/lib/resolvers/meta-link.js.map +1 -1
  84. package/lib/resolvers/richText.d.ts +5 -5
  85. package/lib/resolvers/scalars.d.ts +4 -0
  86. package/lib/resolvers/scalars.js +18 -1
  87. package/lib/resolvers/scalars.js.map +1 -1
  88. package/lib/types/cache.js +1 -2
  89. package/lib/types/cache.js.map +1 -1
  90. package/package.json +5 -5
  91. package/src/datasources/capi.test.ts +6 -1
  92. package/src/datasources/capi.ts +19 -1
  93. package/src/datasources/instrumented.ts +4 -2
  94. package/src/fixtures/dummyContext.ts +1 -1
  95. package/src/generated/index.ts +62 -0
  96. package/src/helpers/flatten-formatted-zod-errors.ts +67 -0
  97. package/src/index.ts +3 -1
  98. package/src/model/CapiList.ts +103 -0
  99. package/src/model/CapiResponse.ts +7 -69
  100. package/src/model/schemas/capi/list.ts +36 -0
  101. package/src/resolvers/core.ts +29 -22
  102. package/src/resolvers/index.ts +2 -0
  103. package/src/resolvers/list.ts +15 -0
  104. package/src/resolvers/scalars.ts +30 -0
  105. package/tsconfig.tsbuildinfo +1 -1
  106. package/typedefs/core.graphql +3 -0
  107. package/typedefs/list.graphql +20 -0
  108. package/typedefs/scalars.graphql +2 -0
@@ -1,4 +1,15 @@
1
1
  declare const resolvers: {
2
+ List: {
3
+ id: (parent: import("../model/CapiList").CapiList) => string;
4
+ apiUrl: (parent: import("../model/CapiList").CapiList) => string;
5
+ title: (parent: import("../model/CapiList").CapiList) => string;
6
+ items: (parent: import("../model/CapiList").CapiList) => Promise<import("../model/CapiResponse").CapiResponse[]>;
7
+ listType: (parent: import("../model/CapiList").CapiList) => "OpinionAnalysis" | "Promotional" | "Recommended" | "TopStories" | "TopStoriesBeta" | "KeyDevelopments";
8
+ publishedDate: (parent: import("../model/CapiList").CapiList) => string;
9
+ layoutHint: (parent: import("../model/CapiList").CapiList) => "landscape" | "standaloneimage" | "bigstory" | "assassination" | null;
10
+ publication: (parent: import("../model/CapiList").CapiList) => string[] | null;
11
+ publishReference: (parent: import("../model/CapiList").CapiList) => string | null;
12
+ };
2
13
  LeadFlourish: {
3
14
  type: (flourish: import("../model/LeadFlourish").LeadFlourish) => string;
4
15
  id: (flourish: import("../model/LeadFlourish").LeadFlourish) => string | null;
@@ -229,43 +240,43 @@ declare const resolvers: {
229
240
  ImageType: import("./literal-union").LiteralUnionScalar<["image", "graphic"]>;
230
241
  RichTextSource: import("./literal-union").LiteralUnionScalar<["standfirst", "summary", "bodyXML", "transcript"]>;
231
242
  ContentType: import("./literal-union").LiteralUnionScalar<["Article", "Placeholder", "Video", "Audio", "LiveBlogPackage", "LiveBlogPost", "ContentPackage", "Content", "MediaResource"]>;
243
+ ListType: import("./literal-union").LiteralUnionScalar<["OpinionAnalysis", "Promotional", "Recommended", "TopStories", "TopStoriesBeta", "KeyDevelopments"]>;
244
+ LayoutHint: import("./literal-union").LiteralUnionScalar<["standaloneimage", "landscape", "bigstory", "assassination"]>;
232
245
  JSON: import("graphql").GraphQLScalarType<unknown, unknown>;
233
246
  RichText: {
234
247
  raw: (parent: import("../model/RichText").RichText) => string | null;
235
248
  structured: (parent: import("../model/RichText").RichText, _: {}, context: import("..").QueryContext) => Promise<{
236
249
  tree: import("./content-tree/Workarounds").Body;
237
250
  text: string;
238
- references: import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Node>[];
251
+ references: import("./content-tree/references").ReferenceWithCAPIData[];
239
252
  }>;
240
253
  source: (parent: import("../model/RichText").RichText) => "standfirst" | "transcript" | "bodyXML" | "summary";
241
254
  };
242
255
  StructuredContent: {
243
256
  tree: (parent: import("../generated").Omit<import("../generated").StructuredContent, "references"> & {
244
- references: readonly import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Node>[];
257
+ references: ReadonlyArray<import("../generated").ResolversParentTypes["Reference"]>;
245
258
  }) => any;
246
259
  references: (parent: import("../generated").Omit<import("../generated").StructuredContent, "references"> & {
247
- references: readonly import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Node>[];
248
- }) => readonly import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Node>[];
260
+ references: ReadonlyArray<import("../generated").ResolversParentTypes["Reference"]>;
261
+ }) => readonly import("./content-tree/references").ReferenceWithCAPIData[];
249
262
  text: (parent: import("../generated").Omit<import("../generated").StructuredContent, "references"> & {
250
- references: readonly import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Node>[];
263
+ references: ReadonlyArray<import("../generated").ResolversParentTypes["Reference"]>;
251
264
  }) => string | null;
252
265
  };
253
- Reference: import("../generated").ReferenceResolvers<import("..").QueryContext, import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Node>>;
254
- Tweet: import("../generated").TweetResolvers<import("..").QueryContext, import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Tweet>>;
255
- ImageSet: import("../generated").ImageSetResolvers<import("..").QueryContext, import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.ImageSet>>;
256
- ClipSet: import("../generated").ClipSetResolvers<import("..").QueryContext, import("./content-tree/references").ReferenceWithCAPIData<import("./content-tree/Workarounds").OldClip | import("./content-tree/Workarounds").ClipSet>>;
257
- VideoReference: import("../generated").VideoReferenceResolvers<import("..").QueryContext, import("./content-tree/references").ReferenceWithCAPIData<import("./content-tree/Workarounds").Video>>;
258
- Flourish: import("../generated").FlourishResolvers<import("..").QueryContext, import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Flourish>>;
259
- Recommended: import("../generated").RecommendedResolvers<import("..").QueryContext, import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Recommended>>;
260
- LayoutImage: import("../generated").LayoutImageResolvers<import("..").QueryContext, import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.LayoutImage>>;
261
- RawImage: import("../generated").RawImageResolvers<import("..").QueryContext, import("./content-tree/references").ReferenceWithCAPIData<import("./content-tree/Workarounds").RawImage>>;
262
- ScrollyImage: import("../generated").ScrollyImageResolvers<import("..").QueryContext, import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.ScrollyImage>>;
263
- MainImage: import("../generated").ImageSetResolvers<import("..").QueryContext, import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.ImageSet>>;
264
- Caption: import("../generated").CaptionResolvers<import("..").QueryContext, import("../generated").Caption>;
265
- Accessibility: import("../generated").AccessibilityResolvers<import("..").QueryContext, import("../generated").Omit<import("../generated").Accessibility, "transcript"> & {
266
- transcript: import("../generated").Maybe<import("../model/RichText").RichText>;
267
- }>;
268
- FlourishFallback: import("../generated").FlourishFallbackResolvers<import("..").QueryContext, import("../generated").FlourishFallback>;
266
+ Reference: import("../generated").ReferenceResolvers;
267
+ Tweet: import("../generated").TweetResolvers;
268
+ ImageSet: import("../generated").ImageSetResolvers;
269
+ ClipSet: import("../generated").ClipSetResolvers;
270
+ VideoReference: import("../generated").VideoReferenceResolvers;
271
+ Flourish: import("../generated").FlourishResolvers;
272
+ Recommended: import("../generated").RecommendedResolvers;
273
+ LayoutImage: import("../generated").LayoutImageResolvers;
274
+ RawImage: import("../generated").RawImageResolvers;
275
+ ScrollyImage: import("../generated").ScrollyImageResolvers;
276
+ MainImage: import("../generated").ImageSetResolvers;
277
+ Caption: import("../generated").CaptionResolvers;
278
+ Accessibility: import("../generated").AccessibilityResolvers;
279
+ FlourishFallback: import("../generated").FlourishFallbackResolvers;
269
280
  Picture: {
270
281
  __resolveType: import("../generated").TypeResolveFn<"PictureFullBleed" | "PictureInline" | "PictureStandard", import("../model/Picture").Picture, import("..").QueryContext>;
271
282
  alt: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/Picture").Picture, import("..").QueryContext, {}>;
@@ -309,17 +320,17 @@ declare const resolvers: {
309
320
  images: import("../generated").Resolver<readonly import("../generated").ResolverTypeWrapper<import("../model/Image").Image>[], import("../model/Picture").Picture, import("..").QueryContext, {}>;
310
321
  layoutWidth: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<string>>, import("../model/Picture").Picture, import("..").QueryContext, {}>;
311
322
  };
312
- MetaLink: import("../generated").MetaLinkResolvers<import("..").QueryContext, import("../model/Concept").Concept | import("../model/CapiResponse").CapiResponse>;
323
+ MetaLink: import("../generated").MetaLinkResolvers;
313
324
  Clip: {
314
325
  __resolveType: () => string;
315
326
  dataSource: (clip: import("../model/Clip").Clip) => {
316
327
  binaryUrl: string;
317
328
  mediaType: string;
318
- audioCodec?: string | undefined;
319
- duration?: number | undefined;
320
- pixelHeight?: number | undefined;
321
- pixelWidth?: number | undefined;
322
- videoCodec?: string | undefined;
329
+ audioCodec?: string;
330
+ duration?: number;
331
+ pixelHeight?: number;
332
+ pixelWidth?: number;
333
+ videoCodec?: string;
323
334
  }[];
324
335
  type: (clip: import("../model/Clip").Clip) => string;
325
336
  format: (clip: import("../model/Clip").Clip) => "mobile" | "standard-inline";
@@ -482,6 +493,7 @@ declare const resolvers: {
482
493
  Query: {
483
494
  version: () => any;
484
495
  content(_: {}, args: import("../generated").RequireFields<import("../generated").QueryContentArgs, "uuid">, context: import("..").QueryContext): Promise<import("../model/CapiResponse").CapiResponse>;
496
+ list(_: {}, args: import("../generated").RequireFields<import("../generated").QueryListArgs, "uuid">, context: import("..").QueryContext): Promise<import("../model/CapiList").CapiList>;
485
497
  contentFromJSON(_: {}, { content }: import("../generated").RequireFields<import("../generated").QueryContentFromJsonArgs, "content">, context: import("..").QueryContext): import("../model/CapiResponse").CapiResponse;
486
498
  };
487
499
  Mutation: {
@@ -496,7 +508,7 @@ declare const resolvers: {
496
508
  body: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/RichText").RichText>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
497
509
  bodyXML: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<string>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
498
510
  byline: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../generated").Omit<import("../generated").StructuredContent, "references"> & {
499
- references: readonly import("../generated").ResolverTypeWrapper<import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Node>>[];
511
+ references: ReadonlyArray<import("../generated").ResolversTypes["Reference"]>;
500
512
  }>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentBylineArgs>>;
501
513
  canBeSyndicated: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"unknown" | "yes" | "no" | "verify" | "withContributorPayment">>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
502
514
  commentsEnabled: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
@@ -527,7 +539,7 @@ declare const resolvers: {
527
539
  body: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/RichText").RichText>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
528
540
  bodyXML: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<string>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
529
541
  byline: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../generated").Omit<import("../generated").StructuredContent, "references"> & {
530
- references: readonly import("../generated").ResolverTypeWrapper<import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Node>>[];
542
+ references: ReadonlyArray<import("../generated").ResolversTypes["Reference"]>;
531
543
  }>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentBylineArgs>>;
532
544
  canBeSyndicated: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"unknown" | "yes" | "no" | "verify" | "withContributorPayment">>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
533
545
  commentsEnabled: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
@@ -558,7 +570,7 @@ declare const resolvers: {
558
570
  body: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/RichText").RichText>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
559
571
  bodyXML: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<string>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
560
572
  byline: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../generated").Omit<import("../generated").StructuredContent, "references"> & {
561
- references: readonly import("../generated").ResolverTypeWrapper<import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Node>>[];
573
+ references: ReadonlyArray<import("../generated").ResolversTypes["Reference"]>;
562
574
  }>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentBylineArgs>>;
563
575
  canBeSyndicated: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"unknown" | "yes" | "no" | "verify" | "withContributorPayment">>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
564
576
  commentsEnabled: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
@@ -594,7 +606,7 @@ declare const resolvers: {
594
606
  body: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/RichText").RichText>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
595
607
  bodyXML: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<string>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
596
608
  byline: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../generated").Omit<import("../generated").StructuredContent, "references"> & {
597
- references: readonly import("../generated").ResolverTypeWrapper<import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Node>>[];
609
+ references: ReadonlyArray<import("../generated").ResolversTypes["Reference"]>;
598
610
  }>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentBylineArgs>>;
599
611
  canBeSyndicated: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"unknown" | "yes" | "no" | "verify" | "withContributorPayment">>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
600
612
  commentsEnabled: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
@@ -627,7 +639,7 @@ declare const resolvers: {
627
639
  body: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/RichText").RichText>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
628
640
  bodyXML: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<string>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
629
641
  byline: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../generated").Omit<import("../generated").StructuredContent, "references"> & {
630
- references: readonly import("../generated").ResolverTypeWrapper<import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Node>>[];
642
+ references: ReadonlyArray<import("../generated").ResolversTypes["Reference"]>;
631
643
  }>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentBylineArgs>>;
632
644
  canBeSyndicated: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"unknown" | "yes" | "no" | "verify" | "withContributorPayment">>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
633
645
  commentsEnabled: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
@@ -660,7 +672,7 @@ declare const resolvers: {
660
672
  body: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/RichText").RichText>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
661
673
  bodyXML: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<string>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
662
674
  byline: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../generated").Omit<import("../generated").StructuredContent, "references"> & {
663
- references: readonly import("../generated").ResolverTypeWrapper<import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Node>>[];
675
+ references: ReadonlyArray<import("../generated").ResolversTypes["Reference"]>;
664
676
  }>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentBylineArgs>>;
665
677
  canBeSyndicated: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"unknown" | "yes" | "no" | "verify" | "withContributorPayment">>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
666
678
  commentsEnabled: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
@@ -691,7 +703,7 @@ declare const resolvers: {
691
703
  body: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/RichText").RichText>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
692
704
  bodyXML: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<string>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
693
705
  byline: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../generated").Omit<import("../generated").StructuredContent, "references"> & {
694
- references: readonly import("../generated").ResolverTypeWrapper<import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Node>>[];
706
+ references: ReadonlyArray<import("../generated").ResolversTypes["Reference"]>;
695
707
  }>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentBylineArgs>>;
696
708
  canBeSyndicated: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"unknown" | "yes" | "no" | "verify" | "withContributorPayment">>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
697
709
  commentsEnabled: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
@@ -722,7 +734,7 @@ declare const resolvers: {
722
734
  body: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/RichText").RichText>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
723
735
  bodyXML: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<string>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
724
736
  byline: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../generated").Omit<import("../generated").StructuredContent, "references"> & {
725
- references: readonly import("../generated").ResolverTypeWrapper<import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Node>>[];
737
+ references: ReadonlyArray<import("../generated").ResolversTypes["Reference"]>;
726
738
  }>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentBylineArgs>>;
727
739
  canBeSyndicated: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"unknown" | "yes" | "no" | "verify" | "withContributorPayment">>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
728
740
  commentsEnabled: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
@@ -772,6 +784,6 @@ declare const resolvers: {
772
784
  labelType: (parent: import("../generated").TableOfContents) => string | null;
773
785
  sequence: (parent: import("../generated").TableOfContents) => string | null;
774
786
  };
775
- Concept: import("../generated").ConceptResolvers<import("..").QueryContext, import("../model/Concept").Concept>;
787
+ Concept: import("../generated").ConceptResolvers;
776
788
  };
777
789
  export default resolvers;
@@ -16,6 +16,7 @@ const teaser_1 = __importDefault(require("./teaser"));
16
16
  const topper_1 = __importDefault(require("./topper"));
17
17
  const person_1 = __importDefault(require("./person"));
18
18
  const leadFlourish_1 = __importDefault(require("./leadFlourish"));
19
+ const list_1 = __importDefault(require("./list"));
19
20
  const references_1 = require("./content-tree/references");
20
21
  const resolvers = {
21
22
  ...concept_1.default,
@@ -32,6 +33,7 @@ const resolvers = {
32
33
  ...topper_1.default,
33
34
  ...person_1.default,
34
35
  ...leadFlourish_1.default,
36
+ ...list_1.default,
35
37
  };
36
38
  exports.default = resolvers;
37
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resolvers/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAA8C;AAC9C,wDAA8C;AAC9C,kDAAwC;AACxC,oDAA0C;AAC1C,kDAAwC;AACxC,4DAAiD;AACjD,wDAA8C;AAC9C,0DAAgD;AAChD,wDAA8C;AAC9C,sDAA4C;AAC5C,sDAA4C;AAC5C,sDAA4C;AAC5C,kEAAwD;AACxD,0DAAmE;AAGnE,MAAM,SAAS,GAAG;IAChB,GAAG,iBAAO;IACV,GAAG,iBAAO;IACV,GAAG,cAAI;IACP,GAAG,eAAK;IACR,GAAG,cAAI;IACP,GAAG,mBAAQ;IACX,GAAG,iBAAO;IACV,GAAG,sBAAU;IACb,GAAG,kBAAQ;IACX,GAAG,iBAAO;IACV,GAAG,gBAAM;IACT,GAAG,gBAAM;IACT,GAAG,gBAAM;IACT,GAAG,sBAAY;CACI,CAAA;AAErB,kBAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resolvers/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAA8C;AAC9C,wDAA8C;AAC9C,kDAAwC;AACxC,oDAA0C;AAC1C,kDAAwC;AACxC,4DAAiD;AACjD,wDAA8C;AAC9C,0DAAgD;AAChD,wDAA8C;AAC9C,sDAA4C;AAC5C,sDAA4C;AAC5C,sDAA4C;AAC5C,kEAAwD;AACxD,kDAAwC;AACxC,0DAAmE;AAGnE,MAAM,SAAS,GAAG;IAChB,GAAG,iBAAO;IACV,GAAG,iBAAO;IACV,GAAG,cAAI;IACP,GAAG,eAAK;IACR,GAAG,cAAI;IACP,GAAG,mBAAQ;IACX,GAAG,iBAAO;IACV,GAAG,sBAAU;IACb,GAAG,kBAAQ;IACX,GAAG,iBAAO;IACV,GAAG,gBAAM;IACT,GAAG,gBAAM;IACT,GAAG,gBAAM;IACT,GAAG,sBAAY;IACf,GAAG,cAAI;CACY,CAAA;AAErB,kBAAe,SAAS,CAAA"}
@@ -0,0 +1,14 @@
1
+ declare const _default: {
2
+ List: {
3
+ id: (parent: import("../model/CapiList").CapiList) => string;
4
+ apiUrl: (parent: import("../model/CapiList").CapiList) => string;
5
+ title: (parent: import("../model/CapiList").CapiList) => string;
6
+ items: (parent: import("../model/CapiList").CapiList) => Promise<import("../model/CapiResponse").CapiResponse[]>;
7
+ listType: (parent: import("../model/CapiList").CapiList) => "OpinionAnalysis" | "Promotional" | "Recommended" | "TopStories" | "TopStoriesBeta" | "KeyDevelopments";
8
+ publishedDate: (parent: import("../model/CapiList").CapiList) => string;
9
+ layoutHint: (parent: import("../model/CapiList").CapiList) => "landscape" | "standaloneimage" | "bigstory" | "assassination" | null;
10
+ publication: (parent: import("../model/CapiList").CapiList) => string[] | null;
11
+ publishReference: (parent: import("../model/CapiList").CapiList) => string | null;
12
+ };
13
+ };
14
+ export default _default;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ List: {
5
+ id: (parent) => parent.id(),
6
+ apiUrl: (parent) => parent.apiUrl(),
7
+ title: (parent) => parent.title(),
8
+ items: (parent) => parent.items(),
9
+ listType: (parent) => parent.listType(),
10
+ publishedDate: (parent) => parent.publishedDate(),
11
+ layoutHint: (parent) => parent.layoutHint(),
12
+ publication: (parent) => parent.publication(),
13
+ publishReference: (parent) => parent.publishReference(),
14
+ },
15
+ };
16
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/resolvers/list.ts"],"names":[],"mappings":";;AAEA,kBAAe;IACb,IAAI,EAAE;QACJ,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE;QAC3B,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QACnC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;QACjC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;QACjC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE;QACvC,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE;QACjD,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE;QAC3C,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE;QAC7C,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE;KACxD;CACgC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"literal-union.js","sourceRoot":"","sources":["../../src/resolvers/literal-union.ts"],"names":[],"mappings":";;;AAAA,qCAIgB;AAQT,MAAM,sBAAsB,GAAG,CACpC,KAAc,EACd,WAAuB,EACa,EAAE,CACtC,OAAO,KAAK,KAAK,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAJ7C,QAAA,sBAAsB,0BAIuB;AAM1D,MAAa,kBAEX,SAAQ,2BAAoD;IAG5D,YAAY,MAA4C;QACtD,KAAK,CAAC;YACJ,GAAG,MAAM;YACT,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAC9C,mEAAmE;YACnE,wEAAwE;SACzE,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC7B,CAAC;IAED,UAAU,CAAC,MAAe;QACxB,IAAI,CAAC,IAAA,8BAAsB,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;YAChD,uEAAuE;YACvE,wCAAwC;YACxC,MAAM,IAAI,sBAAY,CACpB,YAAY,IAAI,CAAC,IAAI,uBAAuB,IAAI,CAAC,SAAS,CACxD,IAAI,CAAC,MAAM,CACZ,aAAa,MAAM,EAAE,CACvB,CAAA;SACF;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,qEAAqE;IACrE,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7D,CAAC;CACF;AAlCD,gDAkCC"}
1
+ {"version":3,"file":"literal-union.js","sourceRoot":"","sources":["../../src/resolvers/literal-union.ts"],"names":[],"mappings":";;;AAAA,qCAIgB;AAQT,MAAM,sBAAsB,GAAG,CACpC,KAAc,EACd,WAAuB,EACa,EAAE,CACtC,OAAO,KAAK,KAAK,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAJ7C,QAAA,sBAAsB,0BAIuB;AAM1D,MAAa,kBAEX,SAAQ,2BAAoD;IAG5D,YAAY,MAA4C;QACtD,KAAK,CAAC;YACJ,GAAG,MAAM;YACT,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAC9C,mEAAmE;YACnE,wEAAwE;SACzE,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC7B,CAAC;IAED,UAAU,CAAC,MAAe;QACxB,IAAI,CAAC,IAAA,8BAAsB,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,uEAAuE;YACvE,wCAAwC;YACxC,MAAM,IAAI,sBAAY,CACpB,YAAY,IAAI,CAAC,IAAI,uBAAuB,IAAI,CAAC,SAAS,CACxD,IAAI,CAAC,MAAM,CACZ,aAAa,MAAM,EAAE,CACvB,CAAA;QACH,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,qEAAqE;IACrE,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7D,CAAC;CACF;AAlCD,gDAkCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"meta-link.js","sourceRoot":"","sources":["../../src/resolvers/meta-link.ts"],"names":[],"mappings":";;AACA,8CAA0C;AAE1C,MAAM,SAAS,GAAoC;IACjD,QAAQ,EAAE;QACR,aAAa,CAAC,MAAM;YAClB,IAAI,MAAM,YAAY,iBAAO,EAAE;gBAC7B,OAAO,SAAS,CAAA;aACjB;YAED,OAAO,gBAAgB,CAAA;QACzB,CAAC;KACF;CACF,CAAA;AAED,kBAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"meta-link.js","sourceRoot":"","sources":["../../src/resolvers/meta-link.ts"],"names":[],"mappings":";;AACA,8CAA0C;AAE1C,MAAM,SAAS,GAAoC;IACjD,QAAQ,EAAE;QACR,aAAa,CAAC,MAAM;YAClB,IAAI,MAAM,YAAY,iBAAO,EAAE,CAAC;gBAC9B,OAAO,SAAS,CAAA;YAClB,CAAC;YAED,OAAO,gBAAgB,CAAA;QACzB,CAAC;KACF;CACF,CAAA;AAED,kBAAe,SAAS,CAAA"}
@@ -4,19 +4,19 @@ declare const resolvers: {
4
4
  structured: (parent: import("../model/RichText").RichText, _: {}, context: import("..").QueryContext) => Promise<{
5
5
  tree: import("./content-tree/Workarounds").Body;
6
6
  text: string;
7
- references: import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Node>[];
7
+ references: import("./content-tree/references").ReferenceWithCAPIData[];
8
8
  }>;
9
9
  source: (parent: import("../model/RichText").RichText) => "standfirst" | "transcript" | "bodyXML" | "summary";
10
10
  };
11
11
  StructuredContent: {
12
12
  tree: (parent: import("../generated").Omit<import("../generated").StructuredContent, "references"> & {
13
- references: readonly import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Node>[];
13
+ references: ReadonlyArray<import("../generated").ResolversParentTypes["Reference"]>;
14
14
  }) => any;
15
15
  references: (parent: import("../generated").Omit<import("../generated").StructuredContent, "references"> & {
16
- references: readonly import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Node>[];
17
- }) => readonly import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Node>[];
16
+ references: ReadonlyArray<import("../generated").ResolversParentTypes["Reference"]>;
17
+ }) => readonly import("./content-tree/references").ReferenceWithCAPIData[];
18
18
  text: (parent: import("../generated").Omit<import("../generated").StructuredContent, "references"> & {
19
- references: readonly import("./content-tree/references").ReferenceWithCAPIData<import("@financial-times/content-tree").ContentTree.Node>[];
19
+ references: ReadonlyArray<import("../generated").ResolversParentTypes["Reference"]>;
20
20
  }) => string | null;
21
21
  };
22
22
  };
@@ -9,6 +9,8 @@ export declare const ImageType: LiteralUnionScalar<["image", "graphic"]>;
9
9
  export declare const ClipFormat: LiteralUnionScalar<["standard-inline", "mobile"]>;
10
10
  export declare const RichTextSource: LiteralUnionScalar<["standfirst", "summary", "bodyXML", "transcript"]>;
11
11
  export declare const ContentType: LiteralUnionScalar<["Article", "Placeholder", "Video", "Audio", "LiveBlogPackage", "LiveBlogPost", "ContentPackage", "Content", "MediaResource"]>;
12
+ export declare const ListType: LiteralUnionScalar<["OpinionAnalysis", "Promotional", "Recommended", "TopStories", "TopStoriesBeta", "KeyDevelopments"]>;
13
+ export declare const LayoutHint: LiteralUnionScalar<["standaloneimage", "landscape", "bigstory", "assassination"]>;
12
14
  declare const resolvers: {
13
15
  ClipFormat: LiteralUnionScalar<["standard-inline", "mobile"]>;
14
16
  ImageFormat: LiteralUnionScalar<["standard", "standard-inline", "desktop", "mobile", "wide", "square", "square-ftedit", "portrait", "landscape"]>;
@@ -20,6 +22,8 @@ declare const resolvers: {
20
22
  ImageType: LiteralUnionScalar<["image", "graphic"]>;
21
23
  RichTextSource: LiteralUnionScalar<["standfirst", "summary", "bodyXML", "transcript"]>;
22
24
  ContentType: LiteralUnionScalar<["Article", "Placeholder", "Video", "Audio", "LiveBlogPackage", "LiveBlogPost", "ContentPackage", "Content", "MediaResource"]>;
25
+ ListType: LiteralUnionScalar<["OpinionAnalysis", "Promotional", "Recommended", "TopStories", "TopStoriesBeta", "KeyDevelopments"]>;
26
+ LayoutHint: LiteralUnionScalar<["standaloneimage", "landscape", "bigstory", "assassination"]>;
23
27
  JSON: GraphQLScalarType<unknown, unknown>;
24
28
  };
25
29
  export default resolvers;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ContentType = exports.RichTextSource = exports.ClipFormat = exports.ImageType = exports.CanBeSyndicated = exports.AccessLevel = exports.TopperBackgroundColour = exports.PackageDesign = exports.ImageFormat = void 0;
3
+ exports.LayoutHint = exports.ListType = exports.ContentType = exports.RichTextSource = exports.ClipFormat = exports.ImageType = exports.CanBeSyndicated = exports.AccessLevel = exports.TopperBackgroundColour = exports.PackageDesign = exports.ImageFormat = void 0;
4
4
  const graphql_1 = require("graphql");
5
5
  const literal_union_1 = require("./literal-union");
6
6
  exports.ImageFormat = new literal_union_1.LiteralUnionScalar({
@@ -81,6 +81,21 @@ exports.ContentType = new literal_union_1.LiteralUnionScalar({
81
81
  'MediaResource',
82
82
  ],
83
83
  });
84
+ exports.ListType = new literal_union_1.LiteralUnionScalar({
85
+ name: 'ListType',
86
+ values: [
87
+ 'OpinionAnalysis',
88
+ 'Promotional',
89
+ 'Recommended',
90
+ 'TopStories',
91
+ 'TopStoriesBeta',
92
+ 'KeyDevelopments',
93
+ ],
94
+ });
95
+ exports.LayoutHint = new literal_union_1.LiteralUnionScalar({
96
+ name: 'LayoutHint',
97
+ values: ['standaloneimage', 'landscape', 'bigstory', 'assassination'],
98
+ });
84
99
  const resolvers = {
85
100
  ClipFormat: exports.ClipFormat,
86
101
  ImageFormat: exports.ImageFormat,
@@ -92,6 +107,8 @@ const resolvers = {
92
107
  ImageType: exports.ImageType,
93
108
  RichTextSource: exports.RichTextSource,
94
109
  ContentType: exports.ContentType,
110
+ ListType: exports.ListType,
111
+ LayoutHint: exports.LayoutHint,
95
112
  JSON: new graphql_1.GraphQLScalarType({ name: 'JSON' }),
96
113
  };
97
114
  exports.default = resolvers;
@@ -1 +1 @@
1
- {"version":3,"file":"scalars.js","sourceRoot":"","sources":["../../src/resolvers/scalars.ts"],"names":[],"mappings":";;;AAAA,qCAA2C;AAC3C,mDAAoD;AAEvC,QAAA,WAAW,GAAG,IAAI,kCAAkB,CAY/C;IACA,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE;QACN,UAAU;QACV,iBAAiB;QACjB,SAAS;QACT,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,eAAe;QACf,UAAU;QACV,WAAW;KACZ;CACF,CAAC,CAAA;AAEW,QAAA,aAAa,GAAG,IAAI,kCAAkB,CAEjD;IACA,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,CAAC,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC;CAC3D,CAAC,CAAA;AAEW,QAAA,sBAAsB,GAAG,IAAI,kCAAkB,CAa1D;IACA,IAAI,EAAE,wBAAwB;IAC9B,MAAM,EAAE;QACN,OAAO;QACP,OAAO;QACP,OAAO;QACP,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,OAAO;QACP,SAAS;QACT,KAAK;QACL,SAAS;KACV;CACF,CAAC,CAAA;AAEF,MAAM,mBAAmB,GAAG,IAAI,kCAAkB,CAShD;IACA,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE;QACN,UAAU;QACV,SAAS;QACT,SAAS;QACT,YAAY;QACZ,YAAY;QACZ,oBAAoB;KACrB;CACF,CAAC,CAAA;AAEW,QAAA,WAAW,GAAG,IAAI,kCAAkB,CAE/C;IACA,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC;CACxD,CAAC,CAAA;AAEW,QAAA,eAAe,GAAG,IAAI,kCAAkB,CAEnD;IACA,IAAI,EAAE,iBAAiB;IACvB,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,wBAAwB,EAAE,SAAS,CAAC;CACrE,CAAC,CAAA;AAEW,QAAA,SAAS,GAAG,IAAI,kCAAkB,CAAuB;IACpE,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;CAC7B,CAAC,CAAA;AAEW,QAAA,UAAU,GAAG,IAAI,kCAAkB,CAC9C;IACE,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,CAAC,iBAAiB,EAAE,QAAQ,CAAC;CACtC,CACF,CAAA;AAEY,QAAA,cAAc,GAAG,IAAI,kCAAkB,CAElD;IACA,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC;CAC3D,CAAC,CAAA;AAEW,QAAA,WAAW,GAAG,IAAI,kCAAkB,CAY/C;IACA,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE;QACN,SAAS;QACT,aAAa;QACb,OAAO;QACP,OAAO;QACP,iBAAiB;QACjB,cAAc;QACd,gBAAgB;QAChB,SAAS;QACT,eAAe;KAChB;CACF,CAAC,CAAA;AAEF,MAAM,SAAS,GAAG;IAChB,UAAU,EAAV,kBAAU;IACV,WAAW,EAAX,mBAAW;IACX,aAAa,EAAb,qBAAa;IACb,sBAAsB,EAAtB,8BAAsB;IACtB,mBAAmB;IACnB,WAAW,EAAX,mBAAW;IACX,eAAe,EAAf,uBAAe;IACf,SAAS,EAAT,iBAAS;IACT,cAAc,EAAd,sBAAc;IACd,WAAW,EAAX,mBAAW;IACX,IAAI,EAAE,IAAI,2BAAiB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;CAC9C,CAAA;AAED,kBAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"scalars.js","sourceRoot":"","sources":["../../src/resolvers/scalars.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isContextableCache = void 0;
3
+ exports.isContextableCache = isContextableCache;
4
4
  function isContextableCache(cache) {
5
5
  if (cache && typeof cache === 'object' && 'withContext' in cache) {
6
6
  return true;
7
7
  }
8
8
  return false;
9
9
  }
10
- exports.isContextableCache = isContextableCache;
11
10
  //# sourceMappingURL=cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/types/cache.ts"],"names":[],"mappings":";;;AAYA,SAAgB,kBAAkB,CAChC,KAAc;IAEd,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,aAAa,IAAI,KAAK,EAAE;QAChE,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AARD,gDAQC"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/types/cache.ts"],"names":[],"mappings":";;AAYA,gDAQC;AARD,SAAgB,kBAAkB,CAChC,KAAc;IAEd,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,aAAa,IAAI,KAAK,EAAE,CAAC;QACjE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@financial-times/cp-content-pipeline-schema",
3
- "version": "2.14.1",
3
+ "version": "2.15.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -20,8 +20,8 @@
20
20
  "dependencies": {
21
21
  "@apollo/datasource-rest": "^6.2.2",
22
22
  "@apollo/utils.keyvaluecache": "^1.0.1",
23
- "@dotcom-reliability-kit/fetch-error-handler": "^0.2.3",
24
- "@dotcom-reliability-kit/serialize-request": "^2.0.0",
23
+ "@dotcom-reliability-kit/fetch-error-handler": "^0.2.5",
24
+ "@dotcom-reliability-kit/serialize-request": "^3.1.0",
25
25
  "@financial-times/n-concept-ids": "^2.1.0",
26
26
  "@financial-times/n-display-metadata": "^1.1.1",
27
27
  "@financial-times/n-scrollytelling-image": "^1.1.0",
@@ -42,7 +42,7 @@
42
42
  },
43
43
  "devDependencies": {
44
44
  "@apollo/utils.fetcher": "^1.1.1",
45
- "@dotcom-reliability-kit/logger": "2.2.5",
45
+ "@dotcom-reliability-kit/logger": "^3.1.4",
46
46
  "@dotcom-tool-kit/npm": "^3.3.2",
47
47
  "@financial-times/content-tree": "github:financial-times/content-tree#abdc26b",
48
48
  "@types/graphql": "^14.5.0",
@@ -50,7 +50,7 @@
50
50
  "type-fest": "^3.13.1"
51
51
  },
52
52
  "peerDependencies": {
53
- "@dotcom-reliability-kit/errors": "^3.1.0"
53
+ "@dotcom-reliability-kit/errors": "^3.1.1"
54
54
  },
55
55
  "engines": {
56
56
  "node": "18.x"
@@ -60,7 +60,12 @@ describe('CapiDataSource', () => {
60
60
  it('should add uuid to the context surrogate keys', async () => {
61
61
  await capi.getContent(id)
62
62
  expect(context.addSurrogateKeys).toBeCalledWith(
63
- expect.arrayContaining([id])
63
+ expect.arrayContaining([
64
+ expect.objectContaining({
65
+ prefix: 'contentPipelineArticle',
66
+ id
67
+ })
68
+ ])
64
69
  )
65
70
  })
66
71
  })
@@ -6,6 +6,7 @@ import {
6
6
  KeyValueCache,
7
7
  PrefixingKeyValueCache,
8
8
  } from '@apollo/utils.keyvaluecache'
9
+ import { CapiList } from '../model/CapiList'
9
10
  import TimeoutError from '../helpers/timeout-error'
10
11
 
11
12
  const REQUEST_TIMEOUT = process.env.CAPI_DATASOURCE_REQUEST_TIMEOUT
@@ -57,7 +58,12 @@ export class CapiDataSource extends InstrumentedRESTDataSource {
57
58
  uuid: string,
58
59
  packageContainer?: CapiResponse
59
60
  ): Promise<CapiResponse> {
60
- this.context.addSurrogateKeys([uuid])
61
+ this.context.addSurrogateKeys([
62
+ {
63
+ prefix: 'contentPipelineArticle',
64
+ id: uuid,
65
+ },
66
+ ])
61
67
 
62
68
  const content = await this.get(`internalcontent/${uuid}`, {
63
69
  cacheOptions: { ttl: this.articleCacheTTL },
@@ -79,6 +85,18 @@ export class CapiDataSource extends InstrumentedRESTDataSource {
79
85
  })
80
86
  }
81
87
 
88
+ async getList(uuid: string): Promise<CapiList> {
89
+ this.context.addSurrogateKeys([
90
+ {
91
+ prefix: 'contentPipelineList',
92
+ id: uuid,
93
+ },
94
+ ])
95
+
96
+ const list = await this.get(`lists/${uuid}`)
97
+ return CapiList.fromJSON(list, this.context)
98
+ }
99
+
82
100
  // replicates the logic implicit in PrefixingKeyValueCache to
83
101
  // construct a cache key for an article used to purge Redis
84
102
  async getHTTPCacheKeyForContent(uuid: string) {
@@ -6,8 +6,10 @@ import {
6
6
  AugmentedRequest,
7
7
  } from '@apollo/datasource-rest'
8
8
  import { PrefixingKeyValueCache } from '@apollo/utils.keyvaluecache'
9
- import { createFetchErrorHandler } from '@dotcom-reliability-kit/fetch-error-handler'
10
- import type { FetchErrorHandler } from '@dotcom-reliability-kit/fetch-error-handler/lib/create-handler'
9
+ import {
10
+ createFetchErrorHandler,
11
+ type FetchErrorHandler,
12
+ } from '@dotcom-reliability-kit/fetch-error-handler'
11
13
  import { QueryContext } from '..'
12
14
  import { isContextableCache } from '../types/cache'
13
15
  import { BaseDataSource, BaseDataSourceOptions } from './base'
@@ -4,7 +4,7 @@ import cloneDeep from 'clone-deep'
4
4
  import { QueryContext } from '..'
5
5
  const now = Date.now()
6
6
 
7
- const addSurrogateKeys = (ids: string[]) => {
7
+ const addSurrogateKeys = (ids: {prefix: string, id: string}[]) => {
8
8
  const keys = []
9
9
  keys.push(...ids)
10
10
  }