@financial-times/cp-content-pipeline-schema 2.4.2 → 2.5.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 (36) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/lib/datasources/capi.d.ts +2 -4
  3. package/lib/datasources/capi.js +8 -12
  4. package/lib/datasources/capi.js.map +1 -1
  5. package/lib/datasources/instrumented.d.ts +5 -5
  6. package/lib/datasources/instrumented.js +36 -27
  7. package/lib/datasources/instrumented.js.map +1 -1
  8. package/lib/datasources/origami-image.d.ts +2 -3
  9. package/lib/datasources/origami-image.js +3 -3
  10. package/lib/datasources/origami-image.js.map +1 -1
  11. package/lib/datasources/twitter.d.ts +2 -2
  12. package/lib/datasources/twitter.js +3 -3
  13. package/lib/datasources/twitter.js.map +1 -1
  14. package/lib/model/CapiResponse.d.ts +1 -50
  15. package/lib/model/CapiResponse.js +40 -19
  16. package/lib/model/CapiResponse.js.map +1 -1
  17. package/lib/resolvers/content-tree/bodyXMLToTree.d.ts +1 -1
  18. package/lib/resolvers/content-tree/tagMappings.d.ts +2 -1
  19. package/lib/resolvers/content-tree/tagMappings.js +1 -1
  20. package/lib/resolvers/content-tree/tagMappings.js.map +1 -1
  21. package/lib/resolvers/content-tree/tagMappings.test.js +9 -2
  22. package/lib/resolvers/content-tree/tagMappings.test.js.map +1 -1
  23. package/lib/types/cache.d.ts +1 -1
  24. package/lib/types/cache.js +4 -1
  25. package/lib/types/cache.js.map +1 -1
  26. package/package.json +2 -2
  27. package/src/datasources/capi.ts +9 -15
  28. package/src/datasources/instrumented.ts +62 -43
  29. package/src/datasources/origami-image.ts +5 -9
  30. package/src/datasources/twitter.ts +5 -11
  31. package/src/model/CapiResponse.ts +64 -28
  32. package/src/resolvers/content-tree/bodyXMLToTree.ts +1 -1
  33. package/src/resolvers/content-tree/tagMappings.test.ts +18 -3
  34. package/src/resolvers/content-tree/tagMappings.ts +6 -2
  35. package/src/types/cache.ts +6 -2
  36. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tagMappings.js","sourceRoot":"","sources":["../../../src/resolvers/content-tree/tagMappings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tagMappings.js","sourceRoot":"","sources":["../../../src/resolvers/content-tree/tagMappings.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const tagMappings_1 = __importStar(require("./tagMappings"));
30
30
  const cheerio_1 = __importDefault(require("cheerio"));
31
+ function expectNotArray(thing) {
32
+ expect(thing).not.toBeInstanceOf(Array);
33
+ }
34
+ function expectNodeType(node, type) {
35
+ expectNotArray(node);
36
+ expect(node.type).toBe(type);
37
+ }
31
38
  describe('tagMappings test', () => {
32
39
  it('getBooleanAttributeValue attrubute', () => {
33
40
  let $el = cheerio_1.default.load('<ft-content autoplay></ft-content>')('ft-content');
@@ -43,7 +50,7 @@ describe('tagMappings test', () => {
43
50
  const bodyXML = `
44
51
  <body>
45
52
  <experimental>
46
- <ft-content autoplay=\"false\" caption=\"caption data\" data-asset-type=\"clip\" data-copyright=\"Reuters\"
53
+ <ft-content autoplay=\"false\" caption=\"caption data\" data-asset-type=\"clip\" data-copyright=\"Reuters\"
47
54
  data-layout=\"in-line\" description=\"description\" href=\"https://storytelling-clips.s3.amazonaws.com/World/Joe%20Biden%20on%20debt%20ceiling%20deal%20v1.mp4\"
48
55
  loop=\"true\" muted=\"false\" poster=\"https://d1e00ek4ebabms.cloudfront.net/production/65233b7d-5260-4acc-b01c-38ff470068e0.jpg\"
49
56
  poster-alt=\"\" poster-copyright=\"Reuters\" poster-id=\"db0a46c6-9e60-4f46-bc0b-c158cb8394d0\" type=\"http://www.ft.com/ontology/content/clip\">
@@ -53,7 +60,7 @@ describe('tagMappings test', () => {
53
60
  const selector = 'ft-content[type="http://www.ft.com/ontology/content/clip"]';
54
61
  const $el = cheerio_1.default.load(bodyXML)(selector);
55
62
  const mapping = tagMappings_1.default[selector]($el, () => []);
56
- expect(mapping.type).toBe('clip');
63
+ expectNodeType(mapping, 'clip');
57
64
  expect(mapping.url).toBe('https://storytelling-clips.s3.amazonaws.com/World/Joe%20Biden%20on%20debt%20ceiling%20deal%20v1.mp4');
58
65
  expect(mapping.autoplay).toBe(false);
59
66
  expect(mapping.loop).toBe(true);
@@ -1 +1 @@
1
- {"version":3,"file":"tagMappings.test.js","sourceRoot":"","sources":["../../../src/resolvers/content-tree/tagMappings.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAAqE;AACrE,sDAA6B;AAC7B,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,IAAI,GAAG,GAAG,iBAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,YAAY,CAAC,CAAA;QAC1E,MAAM,CAAC,IAAA,sCAAwB,EAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5D,GAAG,GAAG,iBAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAC7D,YAAY,CACb,CAAA;QACD,MAAM,CAAC,IAAA,sCAAwB,EAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5D,GAAG,GAAG,iBAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAC9D,YAAY,CACb,CAAA;QACD,MAAM,CAAC,IAAA,sCAAwB,EAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7D,GAAG,GAAG,iBAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,YAAY,CAAC,CAAA;QAC7D,MAAM,CAAC,IAAA,sCAAwB,EAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,OAAO,GAAG;;;;;;;;;WAST,CAAA;QACP,MAAM,QAAQ,GACZ,4DAA4D,CAAA;QAC9D,MAAM,GAAG,GAAG,iBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAA;QAC3C,MAAM,OAAO,GAAQ,qBAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;QACzD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACjC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CACtB,qGAAqG,CACtG,CAAA;QACD,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACjC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC1C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACvC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC/C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CACzB,2FAA2F,CAC5F,CAAA;QACD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAClC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"tagMappings.test.js","sourceRoot":"","sources":["../../../src/resolvers/content-tree/tagMappings.test.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,5 @@ interface CacheWithContext<TContext extends QueryContext> extends KeyValueCache
6
6
  interface ContextableCache<TContext extends QueryContext> {
7
7
  withContext(context: TContext): CacheWithContext<TContext>;
8
8
  }
9
- export declare function isContextableCache<TContext extends QueryContext>(cache: any): cache is ContextableCache<TContext>;
9
+ export declare function isContextableCache<TContext extends QueryContext>(cache: unknown): cache is ContextableCache<TContext>;
10
10
  export {};
@@ -2,7 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isContextableCache = void 0;
4
4
  function isContextableCache(cache) {
5
- return 'withContext' in cache;
5
+ if (cache && typeof cache === 'object' && 'withContext' in cache) {
6
+ return true;
7
+ }
8
+ return false;
6
9
  }
7
10
  exports.isContextableCache = isContextableCache;
8
11
  //# sourceMappingURL=cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/types/cache.ts"],"names":[],"mappings":";;;AAYA,SAAgB,kBAAkB,CAChC,KAAU;IAEV,OAAO,aAAa,IAAI,KAAK,CAAA;AAC/B,CAAC;AAJD,gDAIC"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@financial-times/cp-content-pipeline-schema",
3
- "version": "2.4.2",
3
+ "version": "2.5.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "homepage": "https://github.com/Financial-Times/cp-content-pipeline#readme",
20
20
  "dependencies": {
21
- "@apollo/datasource-rest": "^4.3.2",
21
+ "@apollo/datasource-rest": "^6.2.2",
22
22
  "@apollo/utils.keyvaluecache": "^1.0.1",
23
23
  "@dotcom-reliability-kit/errors": "^2.0.0",
24
24
  "@dotcom-reliability-kit/log-error": "^2.0.0",
@@ -1,13 +1,11 @@
1
- import { WillSendRequestOptions } from '@apollo/datasource-rest'
2
1
  import { CapiResponse } from '../model/CapiResponse'
3
2
  import { InstrumentedRESTDataSource } from './instrumented'
4
3
  import { CapiPerson } from '../types/internal-content'
5
- import { CacheOptions } from '@apollo/datasource-rest/dist/RESTDataSource'
4
+ import { AugmentedRequest } from '@apollo/datasource-rest'
6
5
  import {
7
6
  OperationalError,
8
7
  UpstreamServiceError,
9
8
  } from '@dotcom-reliability-kit/errors'
10
- import { uuidFromUrl } from '../helpers/metadata'
11
9
 
12
10
  const REQUEST_TIMEOUT = 5000 // 5 seconds
13
11
 
@@ -28,8 +26,8 @@ export class CapiDataSource extends InstrumentedRESTDataSource {
28
26
 
29
27
  nextNotificationLink?: string
30
28
 
31
- override willSendRequest(request: WillSendRequestOptions) {
32
- super.willSendRequest(request)
29
+ override willSendRequest(path: string, request: AugmentedRequest) {
30
+ super.willSendRequest(path, request)
33
31
 
34
32
  request.headers['x-api-key'] = this.capiKey
35
33
  request.signal = this.abortController.signal
@@ -39,20 +37,14 @@ export class CapiDataSource extends InstrumentedRESTDataSource {
39
37
  )
40
38
  }
41
39
 
42
- protected cacheOptionsFor(url: string): CacheOptions | undefined {
43
- if (url.startsWith(`${this.baseURL}internalcontent/`)) {
44
- return { ttl: this.articleCacheTTL }
45
- } else if (url.startsWith(`${this.baseURL}people/`)) {
46
- return { ttl: this.peopleCacheTTL }
47
- }
48
- }
49
-
50
40
  async getContent(
51
41
  uuid: string,
52
42
  packageContainer?: CapiResponse
53
43
  ): Promise<CapiResponse> {
54
44
  try {
55
- const content = await this.get(`internalcontent/${uuid}`)
45
+ const content = await this.get(`internalcontent/${uuid}`, {
46
+ cacheOptions: { ttl: this.articleCacheTTL },
47
+ })
56
48
  this.context.contentRequestedOnce = true
57
49
 
58
50
  if (this.timeout) {
@@ -77,7 +69,9 @@ export class CapiDataSource extends InstrumentedRESTDataSource {
77
69
 
78
70
  async getPerson(uuid: string): Promise<CapiPerson> {
79
71
  try {
80
- return await this.get(`people/${uuid}`)
72
+ return await this.get(`people/${uuid}`, {
73
+ cacheOptions: { ttl: this.peopleCacheTTL },
74
+ })
81
75
  } catch (error) {
82
76
  if (error instanceof Error) {
83
77
  throw new OperationalError({
@@ -1,9 +1,11 @@
1
1
  import {
2
- WillSendRequestOptions,
3
2
  RESTDataSource,
3
+ CacheOptions,
4
+ DataSourceFetchResult,
5
+ DataSourceRequest,
6
+ AugmentedRequest,
4
7
  RequestOptions,
5
8
  } from '@apollo/datasource-rest'
6
- import type { FetcherResponse } from '@apollo/utils.fetcher'
7
9
  import { PrefixingKeyValueCache } from '@apollo/utils.keyvaluecache'
8
10
  import { SerializedRequest } from '@dotcom-reliability-kit/serialize-request'
9
11
  import { UpstreamServiceError } from '@dotcom-reliability-kit/errors'
@@ -40,69 +42,86 @@ export class InstrumentedRESTDataSource
40
42
  return this.constructor.name.replace(/DataSource$/, '').toLowerCase()
41
43
  }
42
44
 
43
- override willSendRequest(request: WillSendRequestOptions): void {
45
+ protected override cacheKeyFor(url: URL): string {
46
+ return url.href
47
+ }
48
+
49
+ override willSendRequest(path: string, request: AugmentedRequest): void {
44
50
  request.headers[
45
51
  'user-agent'
46
52
  ] = `cp-content-pipeline-api/${this.context.versions.api} cp-content-pipeline-schema/${this.context.versions.schema} `
53
+
54
+ if (this.context.requestId && !this.context.contentRequestedOnce) {
55
+ request.headers['x-request-id'] = this.context.requestId
56
+ }
47
57
  }
48
58
 
49
- override async trace<TResult>(
50
- url: URL,
51
- request: WillSendRequestOptions,
52
- fn: () => Promise<TResult>
53
- ): Promise<TResult> {
54
- this.startTime = process.hrtime.bigint()
59
+ // we implement our own error handling so skip the built-in GraphQLError
60
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
61
+ async throwIfResponseIsError() {}
62
+
63
+ async fetch<TResult>(
64
+ path: string,
65
+ incomingRequest?: DataSourceRequest<CacheOptions>
66
+ ): Promise<DataSourceFetchResult<TResult>> {
67
+ const startTime = process.hrtime.bigint()
55
68
 
56
69
  this.context.metrics?.count(
57
70
  `graphql.datasource.${this.constructor.name}.request.count`,
58
71
  1
59
72
  )
73
+
60
74
  this.context.logger.info({
61
75
  event: 'REQUEST_DATASOURCE',
62
76
  datasource: this.constructor.name,
63
77
  request: {
64
78
  id: this.context.requestId,
65
- url: url.href,
66
- method: request.method,
79
+ url: new URL(path, this.baseURL).href,
80
+ method: incomingRequest?.method,
67
81
  } as SerializedRequest,
68
82
  })
69
83
 
70
- if (this.context.requestId && !this.context.contentRequestedOnce) {
71
- request.headers['x-request-id'] = this.context.requestId
72
- }
84
+ try {
85
+ const result = await super.fetch<TResult>(path, incomingRequest)
86
+ const duration = (process.hrtime.bigint() - startTime) / BigInt(1e6)
73
87
 
74
- return fn()
75
- }
88
+ this.context.metrics?.count(
89
+ `graphql.datasource.${this.constructor.name}.response.${result.response.status}.count`,
90
+ 1
91
+ )
76
92
 
77
- async didReceiveResponse<TResult>(
78
- response: FetcherResponse,
79
- request: RequestOptions
80
- ): Promise<TResult> {
81
- // this.startTime will definitely have been set by willSendRequest, but no way of encoding that in types
82
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
83
- const duration = (process.hrtime.bigint() - this.startTime!) / BigInt(1e6)
93
+ this.context.metrics?.count(
94
+ `graphql.datasource.${this.constructor.name}.response.${result.response.status}.time`,
95
+ Number(duration)
96
+ )
84
97
 
85
- this.context.metrics?.count(
86
- `graphql.datasource.${this.constructor.name}.response.${response.status}.count`,
87
- 1
88
- )
89
- this.context.metrics?.count(
90
- `graphql.datasource.${this.constructor.name}.response.${response.status}.time`,
91
- Number(duration)
92
- )
98
+ if (!result.response.ok) {
99
+ throw new UpstreamServiceError({
100
+ message: `${result.response.status}: ${result.response.statusText} from ${this.constructor.name}`,
101
+ statusCode: result.response.status,
102
+ relatesToSystems: this.backendSystemCodes,
103
+ url: result.response.url,
104
+ body: result.parsedBody,
105
+ })
106
+ }
107
+
108
+ return result
109
+ } catch (error) {
110
+ if (error instanceof Error && error.name === 'AbortError') {
111
+ const duration = (process.hrtime.bigint() - startTime) / BigInt(1e6)
112
+
113
+ this.context.metrics?.count(
114
+ `graphql.datasource.${this.constructor.name}.response.408.count`,
115
+ 1
116
+ )
117
+
118
+ this.context.metrics?.count(
119
+ `graphql.datasource.${this.constructor.name}.response.408.time`,
120
+ Number(duration)
121
+ )
122
+ }
93
123
 
94
- if (response.ok) {
95
- return super.didReceiveResponse(response, request)
96
- } else {
97
- const body = await this.parseBody(response)
98
-
99
- throw new UpstreamServiceError({
100
- message: `${response.status}: ${response.statusText} from ${this.constructor.name}`,
101
- statusCode: response.status,
102
- relatesToSystems: this.backendSystemCodes,
103
- url: response.url,
104
- body,
105
- })
124
+ throw error
106
125
  }
107
126
  }
108
127
  }
@@ -1,10 +1,6 @@
1
- import { WillSendRequestOptions } from '@apollo/datasource-rest'
2
- import {
3
- OperationalError,
4
- UpstreamServiceError,
5
- } from '@dotcom-reliability-kit/errors'
1
+ import { UpstreamServiceError } from '@dotcom-reliability-kit/errors'
6
2
  import { InstrumentedRESTDataSource } from './instrumented'
7
- import { CacheOptions } from '@apollo/datasource-rest/dist/RESTDataSource'
3
+ import { AugmentedRequest, CacheOptions } from '@apollo/datasource-rest'
8
4
 
9
5
  const REQUEST_TIMEOUT = 5000 // 5 seconds
10
6
 
@@ -19,8 +15,8 @@ export class OrigamiImageDataSource extends InstrumentedRESTDataSource {
19
15
  ? parseInt(process.env.IMAGE_METADATA_CACHE_TTL)
20
16
  : 60 * 60 * 24 * 7 // 1 week
21
17
 
22
- override willSendRequest(request: WillSendRequestOptions) {
23
- super.willSendRequest(request)
18
+ override willSendRequest(path: string, request: AugmentedRequest) {
19
+ super.willSendRequest(path, request)
24
20
 
25
21
  request.signal = this.abortController.signal
26
22
  this.timeout = setTimeout(
@@ -38,7 +34,7 @@ export class OrigamiImageDataSource extends InstrumentedRESTDataSource {
38
34
  ): Promise<{ width: number; height: number }> {
39
35
  try {
40
36
  const imageMetadata = await this.get(
41
- `/images/metadata/${encodeURIComponent(url)}?source=next`
37
+ `images/metadata/${encodeURIComponent(url)}?source=next`
42
38
  )
43
39
  if (this.timeout) {
44
40
  clearTimeout(this.timeout)
@@ -1,11 +1,5 @@
1
- import {
2
- CacheOptions,
3
- WillSendRequestOptions,
4
- } from '@apollo/datasource-rest/dist/RESTDataSource'
5
- import {
6
- OperationalError,
7
- UpstreamServiceError,
8
- } from '@dotcom-reliability-kit/errors'
1
+ import { AugmentedRequest, CacheOptions } from '@apollo/datasource-rest'
2
+ import { UpstreamServiceError } from '@dotcom-reliability-kit/errors'
9
3
  import { InstrumentedRESTDataSource } from './instrumented'
10
4
 
11
5
  const REQUEST_TIMEOUT = 5000 // 5 seconds
@@ -16,8 +10,8 @@ export class TwitterDataSource extends InstrumentedRESTDataSource {
16
10
  abortController = new AbortController()
17
11
  timeout: ReturnType<typeof setTimeout> | undefined = undefined
18
12
 
19
- override willSendRequest(request: WillSendRequestOptions) {
20
- super.willSendRequest(request)
13
+ override willSendRequest(path: string, request: AugmentedRequest) {
14
+ super.willSendRequest(path, request)
21
15
 
22
16
  request.signal = this.abortController.signal
23
17
  this.timeout = setTimeout(
@@ -28,7 +22,7 @@ export class TwitterDataSource extends InstrumentedRESTDataSource {
28
22
 
29
23
  async getTweet(tweetUrl: string) {
30
24
  try {
31
- const tweet = await this.get(`/oembed?url=${tweetUrl}&omit_script=true`)
25
+ const tweet = await this.get(`oembed?url=${tweetUrl}&omit_script=true`)
32
26
 
33
27
  if (this.timeout) {
34
28
  clearTimeout(this.timeout)
@@ -30,6 +30,15 @@ import {
30
30
 
31
31
  import { ContentPackageContainsArgs, Media } from '../generated'
32
32
  import { Topper } from './Topper'
33
+ import { z } from 'zod'
34
+
35
+ function isPlainObject(object: unknown): object is Record<string, unknown> {
36
+ if (object && typeof object === 'object') {
37
+ return true
38
+ }
39
+
40
+ return false
41
+ }
33
42
 
34
43
  type Design = {
35
44
  theme: LiteralUnionScalarValues<typeof PackageDesign>
@@ -56,7 +65,7 @@ type ZodInputObject = {
56
65
 
57
66
  function flattenFormattedZodIssues(
58
67
  issues: FormattedZodIssues,
59
- object: ZodInputValue,
68
+ object: unknown,
60
69
  path: string[] = [],
61
70
  flattened: string[] = []
62
71
  ): string[] {
@@ -94,7 +103,7 @@ function flattenFormattedZodIssues(
94
103
  key !== '_errors' &&
95
104
  !Array.isArray(value) &&
96
105
  object &&
97
- (Array.isArray(object) || typeof object === 'object')
106
+ (Array.isArray(object) || isPlainObject(object))
98
107
  ) {
99
108
  const isArrayKey = !Number.isNaN(parseInt(key))
100
109
  flattenFormattedZodIssues(
@@ -109,6 +118,36 @@ function flattenFormattedZodIssues(
109
118
  return flattened
110
119
  }
111
120
 
121
+ function getContentType(
122
+ content: { type?: string; types: string[] },
123
+ validate?: true
124
+ ): LiteralUnionScalarValues<typeof ContentType>
125
+ function getContentType(
126
+ content: { type?: string; types: string[] },
127
+ validate: false
128
+ ): LiteralUnionScalarValues<typeof ContentType> | string
129
+ function getContentType(
130
+ content: { type?: string; types: string[] },
131
+ validate = true
132
+ ) {
133
+ const TYPE_REGEX = /https?:\/\/www.ft.com\/ontology\/content\//
134
+ const useType =
135
+ 'type' in content && content.type ? content.type : content.types[0]
136
+ const type = useType.replace(TYPE_REGEX, '')
137
+
138
+ if (validate && !validLiteralUnionValue(type, ContentType.values)) {
139
+ throw new Error('Content type is invalid: ' + useType)
140
+ }
141
+
142
+ return type
143
+ }
144
+
145
+ const baselineContentSchema = z.object({
146
+ id: z.string(),
147
+ type: z.string().optional(),
148
+ types: z.array(z.string()),
149
+ })
150
+
112
151
  export class CapiResponse {
113
152
  constructor(
114
153
  private capiData: ContentTypeSchemas,
@@ -117,11 +156,15 @@ export class CapiResponse {
117
156
  ) {}
118
157
 
119
158
  static fromJSON(
120
- content: ContentTypeSchemas,
159
+ content: unknown,
121
160
  context: QueryContext,
122
161
  packageContainer?: CapiResponse
123
162
  ): CapiResponse {
124
- const model = new CapiResponse(content, context, packageContainer)
163
+ // if the content doesn't meet the baseline schema, something's gone
164
+ // unexpectedly very wrong. throwing an non-operational error is the
165
+ // right thing to do in that case, so we call .parse not .safeParse
166
+ const baseContent = baselineContentSchema.parse(content)
167
+ const type = getContentType(baseContent)
125
168
 
126
169
  /*
127
170
  * Check if the incoming data matches the types defined in our data source schema
@@ -129,7 +172,8 @@ export class CapiResponse {
129
172
  * As there is no agreed schema provided by CAPI there is a chance it will be out of date / incorrect at times
130
173
  * Manual updates will be required at times to keep it in sync with the responses we receive
131
174
  */
132
- const schemaResponse = model.schema().safeParse(content)
175
+ const schemaResponse = schemas(type).safeParse(content)
176
+
133
177
  /*
134
178
  * Log an error if the response fails validation
135
179
  * Logs should be used to warn us of issues or response changes
@@ -146,32 +190,31 @@ export class CapiResponse {
146
190
  schemaResponse.error.format(),
147
191
  content
148
192
  ),
149
- contentId: content.id,
150
- contentType: model.type(false),
193
+ contentId: baseContent.id,
194
+ contentType: type,
151
195
  }),
152
196
  })
153
197
 
154
198
  context.metrics?.count(
155
- `graphql.datasource.CapiDataSource.${model.type(
156
- false
157
- )}.validation.failure.count`,
199
+ `graphql.datasource.CapiDataSource.${type}.validation.failure.count`,
158
200
  1
159
201
  )
160
202
  } else {
161
203
  context.metrics?.count(
162
- `graphql.datasource.CapiDataSource.${model.type(
163
- false
164
- )}.validation.success.count`,
204
+ `graphql.datasource.CapiDataSource.${type}.validation.success.count`,
165
205
  1
166
206
  )
167
207
  }
168
208
 
169
- return model
209
+ // we can "safely" cast content to the schema return types here. if the type is
210
+ // incorrect, we've at least logged that error.
211
+ return new CapiResponse(
212
+ content as ContentTypeSchemas,
213
+ context,
214
+ packageContainer
215
+ )
170
216
  }
171
217
 
172
- schema() {
173
- return schemas(this.type())
174
- }
175
218
  bodyXML(): string | null {
176
219
  if ('bodyXML' in this.capiData) {
177
220
  return this.capiData.bodyXML
@@ -413,18 +456,11 @@ export class CapiResponse {
413
456
  type(validate?: true): LiteralUnionScalarValues<typeof ContentType>
414
457
  type(validate: false): LiteralUnionScalarValues<typeof ContentType> | string
415
458
  type(validate = true) {
416
- const TYPE_REGEX = /https?:\/\/www.ft.com\/ontology\/content\//
417
- const useType =
418
- 'type' in this.capiData && this.capiData.type
419
- ? this.capiData.type
420
- : this.capiData.types[0]
421
- const type = useType.replace(TYPE_REGEX, '')
422
-
423
- if (validate && !validLiteralUnionValue(type, ContentType.values)) {
424
- throw new Error('Content type is invalid: ' + useType)
459
+ if (validate) {
460
+ return getContentType(this.capiData, true)
461
+ } else {
462
+ return getContentType(this.capiData, false)
425
463
  }
426
-
427
- return type
428
464
  }
429
465
 
430
466
  topperHasImage() {
@@ -10,7 +10,7 @@ function isNode(node: ContentTree.Node | undefined): node is ContentTree.Node {
10
10
  }
11
11
 
12
12
  type ContentTreeTransform = (
13
- $el: cheerio.Cheerio<any>,
13
+ $el: cheerio.Cheerio<cheerio.Element>,
14
14
  traverse: () => AnyNode[],
15
15
  context?: QueryContext
16
16
  ) => AnyNode | AnyNode[]
@@ -1,5 +1,19 @@
1
+ import { AnyNode, OldClip } from './Workarounds'
1
2
  import tagMappings, { getBooleanAttributeValue } from './tagMappings'
2
3
  import cheerio from 'cheerio'
4
+
5
+ function expectNotArray<T>(thing: T | T[]): asserts thing is T {
6
+ expect(thing).not.toBeInstanceOf(Array)
7
+ }
8
+
9
+ function expectNodeType<T extends AnyNode>(
10
+ node: AnyNode | AnyNode[],
11
+ type: T['type']
12
+ ): asserts node is T {
13
+ expectNotArray(node)
14
+ expect(node.type).toBe(type)
15
+ }
16
+
3
17
  describe('tagMappings test', () => {
4
18
  it('getBooleanAttributeValue attrubute', () => {
5
19
  let $el = cheerio.load('<ft-content autoplay></ft-content>')('ft-content')
@@ -20,7 +34,7 @@ describe('tagMappings test', () => {
20
34
  const bodyXML = `
21
35
  <body>
22
36
  <experimental>
23
- <ft-content autoplay=\"false\" caption=\"caption data\" data-asset-type=\"clip\" data-copyright=\"Reuters\"
37
+ <ft-content autoplay=\"false\" caption=\"caption data\" data-asset-type=\"clip\" data-copyright=\"Reuters\"
24
38
  data-layout=\"in-line\" description=\"description\" href=\"https://storytelling-clips.s3.amazonaws.com/World/Joe%20Biden%20on%20debt%20ceiling%20deal%20v1.mp4\"
25
39
  loop=\"true\" muted=\"false\" poster=\"https://d1e00ek4ebabms.cloudfront.net/production/65233b7d-5260-4acc-b01c-38ff470068e0.jpg\"
26
40
  poster-alt=\"\" poster-copyright=\"Reuters\" poster-id=\"db0a46c6-9e60-4f46-bc0b-c158cb8394d0\" type=\"http://www.ft.com/ontology/content/clip\">
@@ -30,8 +44,9 @@ describe('tagMappings test', () => {
30
44
  const selector =
31
45
  'ft-content[type="http://www.ft.com/ontology/content/clip"]'
32
46
  const $el = cheerio.load(bodyXML)(selector)
33
- const mapping: any = tagMappings[selector]($el, () => [])
34
- expect(mapping.type).toBe('clip')
47
+ const mapping = tagMappings[selector]($el, () => [])
48
+
49
+ expectNodeType<OldClip>(mapping, 'clip')
35
50
  expect(mapping.url).toBe(
36
51
  'https://storytelling-clips.s3.amazonaws.com/World/Joe%20Biden%20on%20debt%20ceiling%20deal%20v1.mp4'
37
52
  )