@financial-times/cp-content-pipeline-schema 0.7.18 → 0.7.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/lib/datasources/capi.js +1 -7
- package/lib/datasources/capi.js.map +1 -1
- package/lib/datasources/instrumented.d.ts +0 -1
- package/lib/datasources/instrumented.js +1 -2
- package/lib/datasources/instrumented.js.map +1 -1
- package/lib/datasources/origami-image.js +0 -6
- package/lib/datasources/origami-image.js.map +1 -1
- package/lib/datasources/twitter.js +0 -6
- package/lib/datasources/twitter.js.map +1 -1
- package/lib/generated/index.d.ts +3 -3
- package/lib/index.d.ts +1 -0
- package/lib/index.js.map +1 -1
- package/lib/model/Topper.js +11 -1
- package/lib/model/Topper.js.map +1 -1
- package/lib/resolvers/core.d.ts +1 -1
- package/lib/resolvers/core.js +1 -1
- package/lib/resolvers/core.js.map +1 -1
- package/lib/resolvers/index.d.ts +3 -3
- package/lib/resolvers/scalars.d.ts +2 -2
- package/lib/resolvers/scalars.js +1 -0
- package/lib/resolvers/scalars.js.map +1 -1
- package/lib/resolvers/topper.d.ts +1 -1
- package/package.json +1 -1
- package/src/datasources/capi.ts +1 -8
- package/src/datasources/instrumented.ts +1 -3
- package/src/datasources/origami-image.ts +0 -7
- package/src/datasources/twitter.ts +0 -7
- package/src/generated/index.ts +2 -2
- package/src/index.ts +1 -0
- package/src/model/Topper.ts +18 -1
- package/src/resolvers/core.ts +1 -1
- package/src/resolvers/scalars.ts +3 -1
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.7.20](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-schema-v0.7.19...cp-content-pipeline-schema-v0.7.20) (2023-07-24)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* correct context ref ([3dbadd5](https://github.com/Financial-Times/cp-content-pipeline/commit/3dbadd5cf93274e367615d62e1781b1cc74c396d))
|
|
9
|
+
* only send x-request-id once to CAPI ([e34d8ef](https://github.com/Financial-Times/cp-content-pipeline/commit/e34d8ef14d25a531fb8fe3b65e17429b3334f7a8))
|
|
10
|
+
* revert last commit ([8751432](https://github.com/Financial-Times/cp-content-pipeline/commit/875143238559ab8f690e11b076b0d271289e5e3f))
|
|
11
|
+
* set contentRequestOnce flag ([07c0bdc](https://github.com/Financial-Times/cp-content-pipeline/commit/07c0bdc5d08cb69adb2b6950cce7bab1cb643f3b))
|
|
12
|
+
|
|
13
|
+
## [0.7.19](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-schema-v0.7.18...cp-content-pipeline-schema-v0.7.19) (2023-07-20)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Bug Fixes
|
|
17
|
+
|
|
18
|
+
* add alphaville theme and display concept metadata ([3b3f7d1](https://github.com/Financial-Times/cp-content-pipeline/commit/3b3f7d1a5bed3ef4e0c3518917ff8bb57abd622c))
|
|
19
|
+
* don't wrap capi errors ([d263a22](https://github.com/Financial-Times/cp-content-pipeline/commit/d263a2200b8719cccc910e0327a9180981c37913))
|
|
20
|
+
* don't wrap origami image service errors ([6c0705d](https://github.com/Financial-Times/cp-content-pipeline/commit/6c0705dc7b8c52f53e82be603ab23868fd1412ae))
|
|
21
|
+
* don't wrap twitter errors ([4501dfd](https://github.com/Financial-Times/cp-content-pipeline/commit/4501dfdd0d985e26ee824d828855762b86ae1751))
|
|
22
|
+
|
|
3
23
|
## [0.7.18](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-schema-v0.7.17...cp-content-pipeline-schema-v0.7.18) (2023-07-19)
|
|
4
24
|
|
|
5
25
|
|
package/lib/datasources/capi.js
CHANGED
|
@@ -37,6 +37,7 @@ class CapiDataSource extends instrumented_1.InstrumentedRESTDataSource {
|
|
|
37
37
|
async getContent(uuid) {
|
|
38
38
|
try {
|
|
39
39
|
const content = await this.get(`internalcontent/${uuid}`);
|
|
40
|
+
this.context.contentRequestedOnce = true;
|
|
40
41
|
if (this.timeout) {
|
|
41
42
|
clearTimeout(this.timeout);
|
|
42
43
|
this.timeout = undefined;
|
|
@@ -52,13 +53,6 @@ class CapiDataSource extends instrumented_1.InstrumentedRESTDataSource {
|
|
|
52
53
|
relatesToSystems: this.backendSystemCodes,
|
|
53
54
|
});
|
|
54
55
|
}
|
|
55
|
-
if (error instanceof Error && !(error instanceof errors_1.OperationalError)) {
|
|
56
|
-
throw new errors_1.OperationalError({
|
|
57
|
-
cause: error,
|
|
58
|
-
code: 'CAPI_DATASOURCE_CONTENT_ERROR',
|
|
59
|
-
uuid,
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
56
|
throw error;
|
|
63
57
|
}
|
|
64
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capi.js","sourceRoot":"","sources":["../../src/datasources/capi.ts"],"names":[],"mappings":";;;AACA,wDAAoD;AACpD,iDAA2D;AAG3D,2DAGuC;AAEvC,MAAM,eAAe,GAAG,IAAI,CAAA,CAAC,YAAY;AAEzC,MAAa,cAAe,SAAQ,yCAA0B;IAA9D;;QACE,YAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,uBAAuB,CAAA;QACzD,YAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAA;QACxC,oBAAe,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB;YAC7C,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;YACzC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA,CAAC,UAAU;QACnC,mBAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB;YAC3C,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACxC,CAAC,CAAC,GAAG,CAAA,CAAC,aAAa;QAErB,uBAAkB,GAAG,CAAC,QAAQ,CAAC,CAAA;QAE/B,oBAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QACvC,YAAO,GAA8C,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"capi.js","sourceRoot":"","sources":["../../src/datasources/capi.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,6 @@ import { QueryContext } from '..';
|
|
|
4
4
|
import { BaseDataSource, BaseDataSourceOptions } from './base';
|
|
5
5
|
export declare class InstrumentedRESTDataSource extends RESTDataSource implements BaseDataSource {
|
|
6
6
|
startTime?: bigint;
|
|
7
|
-
includeHeadersInLogs: string[];
|
|
8
7
|
backendSystemCodes: string[];
|
|
9
8
|
context: QueryContext;
|
|
10
9
|
constructor({ cache, context }: BaseDataSourceOptions);
|
|
@@ -12,7 +12,6 @@ class InstrumentedRESTDataSource extends datasource_rest_1.RESTDataSource {
|
|
|
12
12
|
super({
|
|
13
13
|
cache: wrappedCache,
|
|
14
14
|
});
|
|
15
|
-
this.includeHeadersInLogs = [];
|
|
16
15
|
this.backendSystemCodes = [];
|
|
17
16
|
// okay _now_ we can use `this`
|
|
18
17
|
// also that's a private property so use the [] escape hatch
|
|
@@ -38,7 +37,7 @@ class InstrumentedRESTDataSource extends datasource_rest_1.RESTDataSource {
|
|
|
38
37
|
method: request.method,
|
|
39
38
|
},
|
|
40
39
|
});
|
|
41
|
-
if (this.context.requestId) {
|
|
40
|
+
if (this.context.requestId && !this.context.contentRequestedOnce) {
|
|
42
41
|
request.headers['x-request-id'] = this.context.requestId;
|
|
43
42
|
}
|
|
44
43
|
return fn();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumented.js","sourceRoot":"","sources":["../../src/datasources/instrumented.ts"],"names":[],"mappings":";;;AAAA,6DAIgC;AAEhC,qEAAoE;AAEpE,2DAAqE;
|
|
1
|
+
{"version":3,"file":"instrumented.js","sourceRoot":"","sources":["../../src/datasources/instrumented.ts"],"names":[],"mappings":";;;AAAA,6DAIgC;AAEhC,qEAAoE;AAEpE,2DAAqE;AAErE,0CAAmD;AAGnD,MAAa,0BACX,SAAQ,gCAAc;IAOtB,YAAY,EAAE,KAAK,EAAE,OAAO,EAAyB;QACnD,MAAM,YAAY,GAAG,IAAI,4CAAsB,CAC7C,IAAA,0BAAkB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAC9D,sEAAsE,CAAC,yCAAyC;SACjH,CAAA;QAED,KAAK,CAAC;YACJ,KAAK,EAAE,YAAY;SACpB,CAAC,CAAA;QAXJ,uBAAkB,GAAa,EAAE,CAAA;QAa/B,+BAA+B;QAC/B,4DAA4D;QAC5D,QAAQ;QACR,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,CAAA;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;IACvE,CAAC;IAEQ,eAAe,CAAC,OAA+B;QACtD,OAAO,CAAC,OAAO,CACb,YAAY,CACb,GAAG,2BAA2B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,+BAA+B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAA;IACxH,CAAC;IAEQ,KAAK,CAAC,KAAK,CAClB,GAAQ,EACR,OAA+B,EAC/B,EAA0B;QAE1B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;QAExC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CACzB,sBAAsB,IAAI,CAAC,WAAW,CAAC,IAAI,gBAAgB,EAC3D,CAAC,CACF,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YACvB,KAAK,EAAE,oBAAoB;YAC3B,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;YACjC,OAAO,EAAE;gBACP,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;gBAC1B,GAAG,EAAE,GAAG,CAAC,IAAI;gBACb,MAAM,EAAE,OAAO,CAAC,MAAM;aACF;SACvB,CAAC,CAAA;QAEF,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE;YAChE,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAA;SACzD;QAED,OAAO,EAAE,EAAE,CAAA;IACb,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,QAAyB,EACzB,OAAuB;QAEvB,wGAAwG;QACxG,oEAAoE;QACpE,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAU,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QAE1E,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CACzB,sBAAsB,IAAI,CAAC,WAAW,CAAC,IAAI,aAAa,QAAQ,CAAC,MAAM,QAAQ,EAC/E,CAAC,CACF,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CACzB,sBAAsB,IAAI,CAAC,WAAW,CAAC,IAAI,aAAa,QAAQ,CAAC,MAAM,OAAO,EAC9E,MAAM,CAAC,QAAQ,CAAC,CACjB,CAAA;QAED,IAAI,QAAQ,CAAC,EAAE,EAAE;YACf,OAAO,KAAK,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;SACnD;aAAM;YACL,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;YAE3C,MAAM,IAAI,6BAAoB,CAAC;gBAC7B,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;gBACnF,UAAU,EAAE,QAAQ,CAAC,MAAM;gBAC3B,gBAAgB,EAAE,IAAI,CAAC,kBAAkB;gBACzC,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,IAAI;aACL,CAAC,CAAA;SACH;IACH,CAAC;CACF;AA9FD,gEA8FC"}
|
|
@@ -41,12 +41,6 @@ class OrigamiImageDataSource extends instrumented_1.InstrumentedRESTDataSource {
|
|
|
41
41
|
relatesToSystems: this.backendSystemCodes,
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
|
-
if (error instanceof Error) {
|
|
45
|
-
throw new errors_1.OperationalError({
|
|
46
|
-
cause: error,
|
|
47
|
-
code: 'ORIGAMI_DATASOURCE_IMAGE_METADATA_ERROR',
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
44
|
throw error;
|
|
51
45
|
}
|
|
52
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"origami-image.js","sourceRoot":"","sources":["../../src/datasources/origami-image.ts"],"names":[],"mappings":";;;AACA,2DAGuC;AACvC,iDAA2D;AAG3D,MAAM,eAAe,GAAG,IAAI,CAAA,CAAC,YAAY;AAEzC,MAAa,sBAAuB,SAAQ,yCAA0B;IAAtE;;QACE,YAAO,GAAG,+CAA+C,CAAA;QACzD,uBAAkB,GAAG,CAAC,0BAA0B,CAAC,CAAA;QAEjD,oBAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QACvC,YAAO,GAA8C,SAAS,CAAA;QAE9D,0BAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB;YAC1D,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;YAChD,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"origami-image.js","sourceRoot":"","sources":["../../src/datasources/origami-image.ts"],"names":[],"mappings":";;;AACA,2DAGuC;AACvC,iDAA2D;AAG3D,MAAM,eAAe,GAAG,IAAI,CAAA,CAAC,YAAY;AAEzC,MAAa,sBAAuB,SAAQ,yCAA0B;IAAtE;;QACE,YAAO,GAAG,+CAA+C,CAAA;QACzD,uBAAkB,GAAG,CAAC,0BAA0B,CAAC,CAAA;QAEjD,oBAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QACvC,YAAO,GAA8C,SAAS,CAAA;QAE9D,0BAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB;YAC1D,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;YAChD,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA,CAAC,SAAS;IAyChC,CAAC;IAvCU,eAAe,CAAC,OAA+B;QACtD,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAE9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAA;QAC5C,IAAI,CAAC,OAAO,GAAG,UAAU,CACvB,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,EAClC,eAAe,CAChB,CAAA;IACH,CAAC;IAES,eAAe;QACvB,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAA;IAC5C,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,GAAW;QAEX,IAAI;YACF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,GAAG,CAClC,oBAAoB,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAC1D,CAAA;YACD,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAC1B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;aACzB;YACD,OAAO,aAAa,CAAA;SACrB;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;gBACzD,MAAM,IAAI,6BAAoB,CAAC;oBAC7B,IAAI,EAAE,4BAA4B;oBAClC,OAAO,EAAE,6CAA6C,eAAe,8BAA8B;oBACnG,UAAU,EAAE,GAAG;oBACf,gBAAgB,EAAE,IAAI,CAAC,kBAAkB;iBAC1C,CAAC,CAAA;aACH;YAED,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;CACF;AAlDD,wDAkDC"}
|
|
@@ -35,12 +35,6 @@ class TwitterDataSource extends instrumented_1.InstrumentedRESTDataSource {
|
|
|
35
35
|
relatesToSystems: this.backendSystemCodes,
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
|
-
if (error instanceof Error) {
|
|
39
|
-
throw new errors_1.OperationalError({
|
|
40
|
-
cause: error,
|
|
41
|
-
code: 'TWITTER_DATASOURCE_TWEET_ERROR',
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
38
|
throw error;
|
|
45
39
|
}
|
|
46
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twitter.js","sourceRoot":"","sources":["../../src/datasources/twitter.ts"],"names":[],"mappings":";;;AAIA,2DAGuC;AACvC,iDAA2D;AAE3D,MAAM,eAAe,GAAG,IAAI,CAAA,CAAC,YAAY;AACzC,MAAa,iBAAkB,SAAQ,yCAA0B;IAAjE;;QACE,YAAO,GAAG,6BAA6B,CAAA;QACvC,uBAAkB,GAAG,CAAC,oBAAoB,CAAC,CAAA;QAE3C,oBAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QACvC,YAAO,GAA8C,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"twitter.js","sourceRoot":"","sources":["../../src/datasources/twitter.ts"],"names":[],"mappings":";;;AAIA,2DAGuC;AACvC,iDAA2D;AAE3D,MAAM,eAAe,GAAG,IAAI,CAAA,CAAC,YAAY;AACzC,MAAa,iBAAkB,SAAQ,yCAA0B;IAAjE;;QACE,YAAO,GAAG,6BAA6B,CAAA;QACvC,uBAAkB,GAAG,CAAC,oBAAoB,CAAC,CAAA;QAE3C,oBAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QACvC,YAAO,GAA8C,SAAS,CAAA;IAyChE,CAAC;IAvCU,eAAe,CAAC,OAA+B;QACtD,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAE9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAA;QAC5C,IAAI,CAAC,OAAO,GAAG,UAAU,CACvB,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,EAClC,eAAe,CAChB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAC7B,IAAI;YACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,QAAQ,mBAAmB,CAAC,CAAA;YAExE,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAC1B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;aACzB;YAED,OAAO,KAAK,CAAA;SACb;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;gBACzD,MAAM,IAAI,6BAAoB,CAAC;oBAC7B,IAAI,EAAE,4BAA4B;oBAClC,OAAO,EAAE,2CAA2C,eAAe,8BAA8B;oBACjG,UAAU,EAAE,GAAG;oBACf,gBAAgB,EAAE,IAAI,CAAC,kBAAkB;iBAC1C,CAAC,CAAA;aACH;YAED,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;IAED,eAAe;QACb,iFAAiF;QACjF,oFAAoF;QACpF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;IACtB,CAAC;CACF;AA9CD,8CA8CC"}
|
package/lib/generated/index.d.ts
CHANGED
|
@@ -37,7 +37,7 @@ export type RequireFields<T, K extends keyof T> = Omit<T, K> & {
|
|
|
37
37
|
/** All built-in and custom scalars, mapped to their actual values */
|
|
38
38
|
export type Scalars = {
|
|
39
39
|
ID: {
|
|
40
|
-
input: string
|
|
40
|
+
input: string;
|
|
41
41
|
output: string;
|
|
42
42
|
};
|
|
43
43
|
String: {
|
|
@@ -89,8 +89,8 @@ export type Scalars = {
|
|
|
89
89
|
output: 'standfirst' | 'summary' | 'bodyXML';
|
|
90
90
|
};
|
|
91
91
|
TopperBackgroundColour: {
|
|
92
|
-
input: 'paper' | 'wheat' | 'white' | 'black' | 'claret' | 'oxford' | 'slate' | 'crimson' | 'sky';
|
|
93
|
-
output: 'paper' | 'wheat' | 'white' | 'black' | 'claret' | 'oxford' | 'slate' | 'crimson' | 'sky';
|
|
92
|
+
input: 'paper' | 'wheat' | 'white' | 'black' | 'claret' | 'oxford' | 'slate' | 'crimson' | 'sky' | 'matisse';
|
|
93
|
+
output: 'paper' | 'wheat' | 'white' | 'black' | 'claret' | 'oxford' | 'slate' | 'crimson' | 'sky' | 'matisse';
|
|
94
94
|
};
|
|
95
95
|
};
|
|
96
96
|
export type AltStandfirst = {
|
package/lib/index.d.ts
CHANGED
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+CAA4D;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+CAA4D;AA+BnD,gGA/BA,6BAAe,OA+BA;AA5BxB,8CAAoD;AACpD,4EAAsE;AACtE,2CAA4B;AAmBf,QAAA,QAAQ,GAAG,IAAA,qBAAc,EACpC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,0BAA0B,CAAC,EAChD;IACE,OAAO,EAAE,CAAC,IAAI,uCAAiB,EAAE,CAAC;CACnC,CACF,CAAA;AAGD,yCAAkD;AAAzC,uHAAA,OAAO,OAAa;AAC7B,+CAAwD;AAA/C,mHAAA,OAAO,OAAW;AAC3B,yCAA0C;AAAjC,+FAAA,OAAO,OAAA;AAEhB,+FAA8E"}
|
package/lib/model/Topper.js
CHANGED
|
@@ -97,6 +97,9 @@ class Topper {
|
|
|
97
97
|
return this.capiResponse.topper()?.layout || 'branded';
|
|
98
98
|
}
|
|
99
99
|
backgroundColour() {
|
|
100
|
+
if (this.capiResponse.isAlphaville()) {
|
|
101
|
+
return 'matisse';
|
|
102
|
+
}
|
|
100
103
|
if (this.capiResponse.type() === 'ContentPackage' &&
|
|
101
104
|
this.capiResponse.design()) {
|
|
102
105
|
const theme = this.capiResponse.design()?.theme;
|
|
@@ -157,7 +160,14 @@ class Topper {
|
|
|
157
160
|
if (this.capiResponse.isOpinion()) {
|
|
158
161
|
return brandConcept ?? displayConcept ?? null;
|
|
159
162
|
}
|
|
160
|
-
|
|
163
|
+
if (displayConcept) {
|
|
164
|
+
return displayConcept;
|
|
165
|
+
}
|
|
166
|
+
const aboutAnnotation = this.capiResponse
|
|
167
|
+
.annotations()
|
|
168
|
+
?.find((annotation) => annotation.predicate() ===
|
|
169
|
+
'http://www.ft.com/ontology/annotation/about');
|
|
170
|
+
return aboutAnnotation ?? null;
|
|
161
171
|
}
|
|
162
172
|
followButtonVariant() {
|
|
163
173
|
if (this.capiResponse.isPodcast()) {
|
package/lib/model/Topper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Topper.js","sourceRoot":"","sources":["../../src/model/Topper.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Topper.js","sourceRoot":"","sources":["../../src/model/Topper.ts"],"names":[],"mappings":"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"}
|
package/lib/resolvers/core.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export declare const version: any;
|
|
|
3
3
|
declare const resolvers: {
|
|
4
4
|
Query: {
|
|
5
5
|
version: () => any;
|
|
6
|
-
content(
|
|
6
|
+
content(_: {}, args: import("../generated").RequireFields<import("../generated").QueryContentArgs, "uuid">, context: import("..").QueryContext): Promise<CapiResponse>;
|
|
7
7
|
contentFromJSON(_: {}, { content }: import("../generated").RequireFields<import("../generated").QueryContentFromJsonArgs, "content">, context: import("..").QueryContext): CapiResponse;
|
|
8
8
|
};
|
|
9
9
|
};
|
package/lib/resolvers/core.js
CHANGED
|
@@ -12,7 +12,7 @@ exports.version = packageJson.version;
|
|
|
12
12
|
const resolvers = {
|
|
13
13
|
Query: {
|
|
14
14
|
version: () => exports.version,
|
|
15
|
-
async content(
|
|
15
|
+
async content(_, args, context) {
|
|
16
16
|
return context.dataSources.capi.getContent(args.uuid);
|
|
17
17
|
},
|
|
18
18
|
contentFromJSON(_, { content }, context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/resolvers/core.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAmB;AACnB,gDAAuB;AAEvB,wDAAoD;AAEpD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAE,CAAC,YAAY,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CACxE,CAAA;AAEY,QAAA,OAAO,GAAG,WAAW,CAAC,OAAO,CAAA;AAE1C,MAAM,SAAS,GAAG;IAChB,KAAK,EAAE;QACL,OAAO,EAAE,GAAG,EAAE,CAAC,eAAO;QACtB,KAAK,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/resolvers/core.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAmB;AACnB,gDAAuB;AAEvB,wDAAoD;AAEpD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAE,CAAC,YAAY,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CACxE,CAAA;AAEY,QAAA,OAAO,GAAG,WAAW,CAAC,OAAO,CAAA;AAE1C,MAAM,SAAS,GAAG;IAChB,KAAK,EAAE;QACL,OAAO,EAAE,GAAG,EAAE,CAAC,eAAO;QACtB,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO;YAC5B,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvD,CAAC;QACD,eAAe,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO;YACrC,OAAO,2BAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAChD,CAAC;KACF;CACkC,CAAA;AAErC,kBAAe,SAAS,CAAA"}
|
package/lib/resolvers/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ declare const resolvers: {
|
|
|
12
12
|
__resolveType: (topper: import("../model/Topper").Topper) => "DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper";
|
|
13
13
|
headline: (topper: import("../model/Topper").Topper) => string;
|
|
14
14
|
intro: (topper: import("../model/Topper").Topper) => import("../model/RichText").RichText;
|
|
15
|
-
backgroundColour: (topper: import("../model/Topper").Topper) => "paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky";
|
|
15
|
+
backgroundColour: (topper: import("../model/Topper").Topper) => "paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse";
|
|
16
16
|
displayConcept: (topper: import("../model/Topper").Topper) => import("../model/Concept").Concept | null;
|
|
17
17
|
followButtonVariant: (topper: import("../model/Topper").Topper) => "standard" | "inverse" | "opinion" | "alphaville" | "monochrome" | "inverse-monochrome";
|
|
18
18
|
};
|
|
@@ -59,7 +59,7 @@ declare const resolvers: {
|
|
|
59
59
|
};
|
|
60
60
|
ImageFormat: import("./literal-union").LiteralUnionScalar<["standard", "standard-inline", "desktop", "mobile", "wide", "square", "square-ftedit", "portrait", "landscape"]>;
|
|
61
61
|
PackageDesign: import("./literal-union").LiteralUnionScalar<["special-report", "extra", "basic"]>;
|
|
62
|
-
TopperBackgroundColour: import("./literal-union").LiteralUnionScalar<["paper", "wheat", "white", "black", "claret", "oxford", "slate", "crimson", "sky"]>;
|
|
62
|
+
TopperBackgroundColour: import("./literal-union").LiteralUnionScalar<["paper", "wheat", "white", "black", "claret", "oxford", "slate", "crimson", "sky", "matisse"]>;
|
|
63
63
|
FollowButtonVariant: import("./literal-union").LiteralUnionScalar<["standard", "inverse", "opinion", "alphaville", "monochrome", "inverse-monochrome"]>;
|
|
64
64
|
AccessLevel: import("./literal-union").LiteralUnionScalar<["premium", "subscribed", "registered", "free"]>;
|
|
65
65
|
ImageType: import("./literal-union").LiteralUnionScalar<["image", "graphic"]>;
|
|
@@ -96,7 +96,7 @@ declare const resolvers: {
|
|
|
96
96
|
};
|
|
97
97
|
Query: {
|
|
98
98
|
version: () => any;
|
|
99
|
-
content(
|
|
99
|
+
content(_: {}, args: import("../generated").RequireFields<import("../generated").QueryContentArgs, "uuid">, context: import("..").QueryContext): Promise<import("../model/CapiResponse").CapiResponse>;
|
|
100
100
|
contentFromJSON(_: {}, { content }: import("../generated").RequireFields<import("../generated").QueryContentFromJsonArgs, "content">, context: import("..").QueryContext): import("../model/CapiResponse").CapiResponse;
|
|
101
101
|
};
|
|
102
102
|
Content: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { LiteralUnionScalar } from './literal-union';
|
|
2
2
|
export declare const ImageFormat: LiteralUnionScalar<["standard", "standard-inline", "desktop", "mobile", "wide", "square", "square-ftedit", "portrait", "landscape"]>;
|
|
3
3
|
export declare const PackageDesign: LiteralUnionScalar<["special-report", "extra", "basic"]>;
|
|
4
|
-
export declare const TopperBackgroundColour: LiteralUnionScalar<["paper", "wheat", "white", "black", "claret", "oxford", "slate", "crimson", "sky"]>;
|
|
4
|
+
export declare const TopperBackgroundColour: LiteralUnionScalar<["paper", "wheat", "white", "black", "claret", "oxford", "slate", "crimson", "sky", "matisse"]>;
|
|
5
5
|
export declare const FollowButtonVariant: LiteralUnionScalar<["standard", "inverse", "opinion", "alphaville", "monochrome", "inverse-monochrome"]>;
|
|
6
6
|
export declare const AccessLevel: LiteralUnionScalar<["premium", "subscribed", "registered", "free"]>;
|
|
7
7
|
export declare const ImageType: LiteralUnionScalar<["image", "graphic"]>;
|
|
@@ -10,7 +10,7 @@ export declare const ContentType: LiteralUnionScalar<["Article", "Video", "Audio
|
|
|
10
10
|
declare const resolvers: {
|
|
11
11
|
ImageFormat: LiteralUnionScalar<["standard", "standard-inline", "desktop", "mobile", "wide", "square", "square-ftedit", "portrait", "landscape"]>;
|
|
12
12
|
PackageDesign: LiteralUnionScalar<["special-report", "extra", "basic"]>;
|
|
13
|
-
TopperBackgroundColour: LiteralUnionScalar<["paper", "wheat", "white", "black", "claret", "oxford", "slate", "crimson", "sky"]>;
|
|
13
|
+
TopperBackgroundColour: LiteralUnionScalar<["paper", "wheat", "white", "black", "claret", "oxford", "slate", "crimson", "sky", "matisse"]>;
|
|
14
14
|
FollowButtonVariant: LiteralUnionScalar<["standard", "inverse", "opinion", "alphaville", "monochrome", "inverse-monochrome"]>;
|
|
15
15
|
AccessLevel: LiteralUnionScalar<["premium", "subscribed", "registered", "free"]>;
|
|
16
16
|
ImageType: LiteralUnionScalar<["image", "graphic"]>;
|
package/lib/resolvers/scalars.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scalars.js","sourceRoot":"","sources":["../../src/resolvers/scalars.ts"],"names":[],"mappings":";;;AAAA,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,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;AAE7D,QAAA,sBAAsB,GAAG,IAAI,kCAAkB,
|
|
1
|
+
{"version":3,"file":"scalars.js","sourceRoot":"","sources":["../../src/resolvers/scalars.ts"],"names":[],"mappings":";;;AAAA,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,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;AAE7D,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;AAEW,QAAA,mBAAmB,GAAG,IAAI,kCAAkB,CASvD;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,SAAS,GAAG,IAAI,kCAAkB,CAAuB;IACpE,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;CAC7B,CAAC,CAAA;AAEW,QAAA,cAAc,GAAG,IAAI,kCAAkB,CAElD;IACA,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC;CAC7C,CAAC,CAAA;AAEW,QAAA,WAAW,GAAG,IAAI,kCAAkB,CAW/C;IACA,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE;QACN,SAAS;QACT,OAAO;QACP,OAAO;QACP,iBAAiB;QACjB,cAAc;QACd,gBAAgB;QAChB,SAAS;QACT,eAAe;KAChB;CACF,CAAC,CAAA;AAEF,MAAM,SAAS,GAAG;IAChB,WAAW,EAAX,mBAAW;IACX,aAAa,EAAb,qBAAa;IACb,sBAAsB,EAAtB,8BAAsB;IACtB,mBAAmB,EAAnB,2BAAmB;IACnB,WAAW,EAAX,mBAAW;IACX,SAAS,EAAT,iBAAS;IACT,cAAc,EAAd,sBAAc;IACd,WAAW,EAAX,mBAAW;CACZ,CAAA;AAED,kBAAe,SAAS,CAAA"}
|
|
@@ -3,7 +3,7 @@ declare const resolvers: {
|
|
|
3
3
|
__resolveType: (topper: import("../model/Topper").Topper) => "DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper";
|
|
4
4
|
headline: (topper: import("../model/Topper").Topper) => string;
|
|
5
5
|
intro: (topper: import("../model/Topper").Topper) => import("../model/RichText").RichText;
|
|
6
|
-
backgroundColour: (topper: import("../model/Topper").Topper) => "paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky";
|
|
6
|
+
backgroundColour: (topper: import("../model/Topper").Topper) => "paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse";
|
|
7
7
|
displayConcept: (topper: import("../model/Topper").Topper) => import("../model/Concept").Concept | null;
|
|
8
8
|
followButtonVariant: (topper: import("../model/Topper").Topper) => "standard" | "inverse" | "opinion" | "alphaville" | "monochrome" | "inverse-monochrome";
|
|
9
9
|
};
|
package/package.json
CHANGED
package/src/datasources/capi.ts
CHANGED
|
@@ -49,6 +49,7 @@ export class CapiDataSource extends InstrumentedRESTDataSource {
|
|
|
49
49
|
async getContent(uuid: string) {
|
|
50
50
|
try {
|
|
51
51
|
const content = await this.get(`internalcontent/${uuid}`)
|
|
52
|
+
this.context.contentRequestedOnce = true
|
|
52
53
|
|
|
53
54
|
if (this.timeout) {
|
|
54
55
|
clearTimeout(this.timeout)
|
|
@@ -66,14 +67,6 @@ export class CapiDataSource extends InstrumentedRESTDataSource {
|
|
|
66
67
|
})
|
|
67
68
|
}
|
|
68
69
|
|
|
69
|
-
if (error instanceof Error && !(error instanceof OperationalError)) {
|
|
70
|
-
throw new OperationalError({
|
|
71
|
-
cause: error,
|
|
72
|
-
code: 'CAPI_DATASOURCE_CONTENT_ERROR',
|
|
73
|
-
uuid,
|
|
74
|
-
})
|
|
75
|
-
}
|
|
76
|
-
|
|
77
70
|
throw error
|
|
78
71
|
}
|
|
79
72
|
}
|
|
@@ -7,7 +7,6 @@ import type { FetcherResponse } from '@apollo/utils.fetcher'
|
|
|
7
7
|
import { PrefixingKeyValueCache } from '@apollo/utils.keyvaluecache'
|
|
8
8
|
import { SerializedRequest } from '@dotcom-reliability-kit/serialize-request'
|
|
9
9
|
import { UpstreamServiceError } from '@dotcom-reliability-kit/errors'
|
|
10
|
-
import { GraphQLError } from 'graphql'
|
|
11
10
|
import { QueryContext } from '..'
|
|
12
11
|
import { isContextableCache } from '../types/cache'
|
|
13
12
|
import { BaseDataSource, BaseDataSourceOptions } from './base'
|
|
@@ -17,7 +16,6 @@ export class InstrumentedRESTDataSource
|
|
|
17
16
|
implements BaseDataSource
|
|
18
17
|
{
|
|
19
18
|
startTime?: bigint
|
|
20
|
-
includeHeadersInLogs: string[] = []
|
|
21
19
|
backendSystemCodes: string[] = []
|
|
22
20
|
context: QueryContext
|
|
23
21
|
|
|
@@ -69,7 +67,7 @@ export class InstrumentedRESTDataSource
|
|
|
69
67
|
} as SerializedRequest,
|
|
70
68
|
})
|
|
71
69
|
|
|
72
|
-
if (this.context.requestId) {
|
|
70
|
+
if (this.context.requestId && !this.context.contentRequestedOnce) {
|
|
73
71
|
request.headers['x-request-id'] = this.context.requestId
|
|
74
72
|
}
|
|
75
73
|
|
|
@@ -55,13 +55,6 @@ export class OrigamiImageDataSource extends InstrumentedRESTDataSource {
|
|
|
55
55
|
})
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
if (error instanceof Error) {
|
|
59
|
-
throw new OperationalError({
|
|
60
|
-
cause: error,
|
|
61
|
-
code: 'ORIGAMI_DATASOURCE_IMAGE_METADATA_ERROR',
|
|
62
|
-
})
|
|
63
|
-
}
|
|
64
|
-
|
|
65
58
|
throw error
|
|
66
59
|
}
|
|
67
60
|
}
|
package/src/generated/index.ts
CHANGED
|
@@ -20,7 +20,7 @@ export type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
|
|
|
20
20
|
export type RequireFields<T, K extends keyof T> = Omit<T, K> & { [P in K]-?: NonNullable<T[P]> };
|
|
21
21
|
/** All built-in and custom scalars, mapped to their actual values */
|
|
22
22
|
export type Scalars = {
|
|
23
|
-
ID: { input: string
|
|
23
|
+
ID: { input: string; output: string; }
|
|
24
24
|
String: { input: string; output: string; }
|
|
25
25
|
Boolean: { input: boolean; output: boolean; }
|
|
26
26
|
Int: { input: number; output: number; }
|
|
@@ -33,7 +33,7 @@ export type Scalars = {
|
|
|
33
33
|
JSON: { input: any; output: any; }
|
|
34
34
|
PackageDesign: { input: 'special-report' | 'extra' | 'basic'; output: 'special-report' | 'extra' | 'basic'; }
|
|
35
35
|
RichTextSource: { input: 'standfirst' | 'summary' | 'bodyXML'; output: 'standfirst' | 'summary' | 'bodyXML'; }
|
|
36
|
-
TopperBackgroundColour: { input: 'paper' | 'wheat' | 'white' | 'black' | 'claret' | 'oxford' | 'slate' | 'crimson' | 'sky'; output: 'paper' | 'wheat' | 'white' | 'black' | 'claret' | 'oxford' | 'slate' | 'crimson' | 'sky'; }
|
|
36
|
+
TopperBackgroundColour: { input: 'paper' | 'wheat' | 'white' | 'black' | 'claret' | 'oxford' | 'slate' | 'crimson' | 'sky' | 'matisse'; output: 'paper' | 'wheat' | 'white' | 'black' | 'claret' | 'oxford' | 'slate' | 'crimson' | 'sky' | 'matisse'; }
|
|
37
37
|
};
|
|
38
38
|
|
|
39
39
|
export type AltStandfirst = {
|
package/src/index.ts
CHANGED
package/src/model/Topper.ts
CHANGED
|
@@ -135,6 +135,10 @@ export class Topper {
|
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
backgroundColour(): TopperBackgroundColourValues {
|
|
138
|
+
if (this.capiResponse.isAlphaville()) {
|
|
139
|
+
return 'matisse'
|
|
140
|
+
}
|
|
141
|
+
|
|
138
142
|
if (
|
|
139
143
|
this.capiResponse.type() === 'ContentPackage' &&
|
|
140
144
|
this.capiResponse.design()
|
|
@@ -152,6 +156,7 @@ export class Topper {
|
|
|
152
156
|
}
|
|
153
157
|
|
|
154
158
|
const type = this.type()
|
|
159
|
+
|
|
155
160
|
if (type === 'OpinionTopper') {
|
|
156
161
|
return this.capiResponse.isContainedInPackage() ? 'wheat' : 'sky'
|
|
157
162
|
}
|
|
@@ -212,7 +217,19 @@ export class Topper {
|
|
|
212
217
|
return brandConcept ?? displayConcept ?? null
|
|
213
218
|
}
|
|
214
219
|
|
|
215
|
-
|
|
220
|
+
if (displayConcept) {
|
|
221
|
+
return displayConcept
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
const aboutAnnotation = this.capiResponse
|
|
225
|
+
.annotations()
|
|
226
|
+
?.find(
|
|
227
|
+
(annotation) =>
|
|
228
|
+
annotation.predicate() ===
|
|
229
|
+
'http://www.ft.com/ontology/annotation/about'
|
|
230
|
+
)
|
|
231
|
+
|
|
232
|
+
return aboutAnnotation ?? null
|
|
216
233
|
}
|
|
217
234
|
|
|
218
235
|
followButtonVariant() {
|
package/src/resolvers/core.ts
CHANGED
|
@@ -12,7 +12,7 @@ export const version = packageJson.version
|
|
|
12
12
|
const resolvers = {
|
|
13
13
|
Query: {
|
|
14
14
|
version: () => version,
|
|
15
|
-
async content(
|
|
15
|
+
async content(_, args, context) {
|
|
16
16
|
return context.dataSources.capi.getContent(args.uuid)
|
|
17
17
|
},
|
|
18
18
|
contentFromJSON(_, { content }, context) {
|
package/src/resolvers/scalars.ts
CHANGED
|
@@ -41,7 +41,8 @@ export const TopperBackgroundColour = new LiteralUnionScalar<
|
|
|
41
41
|
'oxford',
|
|
42
42
|
'slate',
|
|
43
43
|
'crimson',
|
|
44
|
-
'sky'
|
|
44
|
+
'sky',
|
|
45
|
+
'matisse'
|
|
45
46
|
]
|
|
46
47
|
>({
|
|
47
48
|
name: 'TopperBackgroundColour',
|
|
@@ -55,6 +56,7 @@ export const TopperBackgroundColour = new LiteralUnionScalar<
|
|
|
55
56
|
'slate',
|
|
56
57
|
'crimson',
|
|
57
58
|
'sky',
|
|
59
|
+
'matisse',
|
|
58
60
|
],
|
|
59
61
|
})
|
|
60
62
|
|