@se-studio/contentful-rest-api 1.29.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/dist/api/context.d.ts.map +1 -1
- package/dist/api/context.js +0 -2
- package/dist/api/context.js.map +1 -1
- package/dist/api/index.d.ts +0 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +0 -1
- package/dist/api/index.js.map +1 -1
- package/dist/api/named-download.d.ts +27 -0
- package/dist/api/named-download.d.ts.map +1 -0
- package/dist/api/named-download.js +111 -0
- package/dist/api/named-download.js.map +1 -0
- package/dist/api/server-asset.d.ts +12 -0
- package/dist/api/server-asset.d.ts.map +1 -1
- package/dist/api/server-asset.js +91 -33
- package/dist/api/server-asset.js.map +1 -1
- package/dist/converters/helpers.d.ts +4 -5
- package/dist/converters/helpers.d.ts.map +1 -1
- package/dist/converters/helpers.js.map +1 -1
- package/dist/converters/index.d.ts +0 -1
- package/dist/converters/index.d.ts.map +1 -1
- package/dist/converters/index.js +0 -1
- package/dist/converters/index.js.map +1 -1
- package/dist/converters/link.d.ts.map +1 -1
- package/dist/converters/link.js +4 -1
- package/dist/converters/link.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/docs/llms.md +13 -11
- package/package.json +2 -2
- package/dist/api/document.d.ts +0 -8
- package/dist/api/document.d.ts.map +0 -1
- package/dist/api/document.js +0 -84
- package/dist/api/document.js.map +0 -1
- package/dist/baseTypes/baseDocument.d.ts +0 -70
- package/dist/baseTypes/baseDocument.d.ts.map +0 -1
- package/dist/baseTypes/baseDocument.js +0 -2
- package/dist/baseTypes/baseDocument.js.map +0 -1
- package/dist/converters/document.d.ts +0 -14
- package/dist/converters/document.d.ts.map +0 -1
- package/dist/converters/document.js +0 -51
- package/dist/converters/document.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# @se-studio/contentful-rest-api
|
|
2
2
|
|
|
3
|
+
## 2.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- f1e0e8c: Remove the unused document content-type API. A download link can opt into `/download/{filename}` with `urlCalculators.namedDownload` and `createNamedDownloadHandler`. Sites that do not set the calculator keep `/download/{assetId}/{filename}`.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [f1e0e8c]
|
|
12
|
+
- @se-studio/core-data-types@2.0.0
|
|
13
|
+
|
|
3
14
|
## 1.29.0
|
|
4
15
|
|
|
5
16
|
### Minor Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/api/context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/api/context.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,oBAAoB,EAKpB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAc/B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,cAAc,GAAG,oBAAoB,CAyC/F"}
|
package/dist/api/context.js
CHANGED
|
@@ -3,7 +3,6 @@ import { baseBannerConverter } from '../converters/banner.js';
|
|
|
3
3
|
import { baseCollectionConverter } from '../converters/collection.js';
|
|
4
4
|
import { baseComponentConverter } from '../converters/component.js';
|
|
5
5
|
import { baseCustomTypeConverter, baseCustomTypeLinkConverter } from '../converters/customType.js';
|
|
6
|
-
import { baseDocumentConverter } from '../converters/document.js';
|
|
7
6
|
import { baseExternalComponentConverter } from '../converters/externalComponent.js';
|
|
8
7
|
import { baseHtmlComponentConverter } from '../converters/htmlComponent.js';
|
|
9
8
|
import { baseLinkConverter } from '../converters/link.js';
|
|
@@ -62,7 +61,6 @@ export function createBaseConverterContext(urlCalculators) {
|
|
|
62
61
|
componentResolver: baseComponentConverter,
|
|
63
62
|
collectionResolver: baseCollectionConverter,
|
|
64
63
|
bannerResolver: baseBannerConverter,
|
|
65
|
-
documentResolver: baseDocumentConverter,
|
|
66
64
|
redirectResolver: baseRedirectConverter,
|
|
67
65
|
linkResolver,
|
|
68
66
|
contentResolver,
|
package/dist/api/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/api/context.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/api/context.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AASjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEvF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,0BAA0B,CAAC,cAA8B;IACvE,MAAM,YAAY,GAAoB,IAAI,GAAG,EAAE,CAAC;IAChD,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,qBAA6C,CAAC,CAAC;IACxE,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,wBAA8D,CAAC,CAAC;IAC5F,YAAY,CAAC,GAAG,CACd,aAAa,EACb,4BAAsE,CACvE,CAAC;IACF,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,oBAA4C,CAAC,CAAC;IACtE,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,uBAA4D,CAAC,CAAC;IACzF,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,4BAAoD,CAAC,CAAC;IACtF,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAyC,CAAC,CAAC;IACpE,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,2BAAmD,CAAC,CAAC;IACpF,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,wBAAgD,CAAC,CAAC;IAE9E,MAAM,eAAe,GAAuB,IAAI,GAAG,EAAE,CAAC;IACtD,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,uBAAkD,CAAC,CAAC;IACtF,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,sBAAiD,CAAC,CAAC;IACpF,eAAe,CAAC,GAAG,CACjB,mBAAmB,EACnB,8BAAyD,CAC1D,CAAC;IACF,eAAe,CAAC,GAAG,CAAC,eAAe,EAAE,0BAAqD,CAAC,CAAC;IAE5F,OAAO;QACL,YAAY,EAAE,iBAAiB;QAC/B,sBAAsB,EAAE,2BAA2B;QACnD,eAAe,EAAE,oBAAoB;QACrC,mBAAmB,EAAE,wBAAwB;QAC7C,WAAW,EAAE,gBAAgB;QAC7B,eAAe,EAAE,oBAAoB;QACrC,cAAc,EAAE,mBAAmB;QACnC,kBAAkB,EAAE,uBAAuB;QAC3C,iBAAiB,EAAE,sBAAsB;QACzC,kBAAkB,EAAE,uBAAuB;QAC3C,cAAc,EAAE,mBAAmB;QACnC,gBAAgB,EAAE,qBAAqB;QACvC,YAAY;QACZ,eAAe;QACf,cAAc;KACf,CAAC;AACJ,CAAC"}
|
package/dist/api/index.d.ts
CHANGED
|
@@ -14,7 +14,6 @@ export { type BreadcrumbLookup, type BreadcrumbLookupEntry, getBreadcrumbLookup,
|
|
|
14
14
|
export { type AnyEntryRestResult, contentfulAnyEntryRest, contentfulComponentRest, } from './componentPreview';
|
|
15
15
|
export { createBaseConverterContext } from './context';
|
|
16
16
|
export { contentfulCustomTypeRest } from './custom-type';
|
|
17
|
-
export { contentfulDocumentsRest } from './document';
|
|
18
17
|
export { ARTICLE_LINK_FIELDS, ARTICLE_LINK_FIELDS_LIGHT, ARTICLE_LISTING_FIELDS, buildFetchOptions, coreGetContentfulConfig, getDefaultInclude, getListingLinkFetchParams, resolveIncludeDepth, } from './helpers';
|
|
19
18
|
export { contentfulAllArticleLinks, contentfulAllArticleLinksForIntegrity, contentfulAllArticleTypeLinks, contentfulAllCustomTypeLinks, contentfulAllPageLinks, contentfulAllPersonLinks, contentfulAllTagLinks, contentfulAllTagTypeLinks, } from './links';
|
|
20
19
|
export type { CmsContentType, ConverterResolutionScope } from './listing-fetch-params';
|
package/dist/api/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EACL,gBAAgB,EAChB,sCAAsC,EACtC,KAAK,WAAW,EAChB,KAAK,gBAAgB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,KAAK,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,kBAAkB,EACvB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
|
package/dist/api/index.js
CHANGED
|
@@ -15,7 +15,6 @@ export { contentfulAnyEntryRest, contentfulComponentRest, } from './componentPre
|
|
|
15
15
|
// Context
|
|
16
16
|
export { createBaseConverterContext } from './context.js';
|
|
17
17
|
export { contentfulCustomTypeRest } from './custom-type.js';
|
|
18
|
-
export { contentfulDocumentsRest } from './document.js';
|
|
19
18
|
// Internal helpers (exported for extension by projects)
|
|
20
19
|
export { ARTICLE_LINK_FIELDS, ARTICLE_LINK_FIELDS_LIGHT, ARTICLE_LISTING_FIELDS, buildFetchOptions, coreGetContentfulConfig, getDefaultInclude, getListingLinkFetchParams, resolveIncludeDepth, } from './helpers.js';
|
|
21
20
|
// All links fetchers
|
package/dist/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,gBAAgB,EAChB,sCAAsC,GAGvC,MAAM,sBAAsB,CAAC;AAC9B,yBAAyB;AACzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAgC,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EAIzB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAGL,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,UAAU;AACV,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,gBAAgB,EAChB,sCAAsC,GAGvC,MAAM,sBAAsB,CAAC;AAC9B,yBAAyB;AACzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAgC,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EAIzB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAGL,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,UAAU;AACV,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,wDAAwD;AACxD,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,qBAAqB;AACrB,OAAO,EACL,yBAAyB,EACzB,qCAAqC,EACrC,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,+BAA+B,EAC/B,mBAAmB,EACnB,aAAa,EACb,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,kBAAkB,GAEnB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,oBAAoB,EAA2B,MAAM,UAAU,CAAC;AACzE,UAAU;AACV,OAAO,EAEL,mBAAmB,EAMnB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,mBAAmB;AACnB,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,UAAU;AACV,OAAO,EACL,+BAA+B,EAC/B,mCAAmC,EACnC,4BAA4B,EAC5B,8BAA8B,EAC9B,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,iBAAiB,EAAwB,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAA4B,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAyB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ContentfulConfig, FetchOptions } from '../types';
|
|
2
|
+
export interface NamedDownloadFile {
|
|
3
|
+
assetId: string;
|
|
4
|
+
fileName: string;
|
|
5
|
+
contentType: string;
|
|
6
|
+
url: string;
|
|
7
|
+
size?: number;
|
|
8
|
+
}
|
|
9
|
+
export type NamedDownloadResolution = {
|
|
10
|
+
status: 'found';
|
|
11
|
+
file: NamedDownloadFile;
|
|
12
|
+
} | {
|
|
13
|
+
status: 'missing';
|
|
14
|
+
} | {
|
|
15
|
+
status: 'ambiguous';
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* One filename may be used by several links when they point at the same asset.
|
|
19
|
+
* Two different assets with that filename is not a match.
|
|
20
|
+
*/
|
|
21
|
+
export declare function resolveNamedDownload(filename: string, files: readonly NamedDownloadFile[]): NamedDownloadResolution;
|
|
22
|
+
/**
|
|
23
|
+
* Loads link entries that have `downloadAsset` set and returns the one asset
|
|
24
|
+
* whose filename matches. Does not query the asset library by filename.
|
|
25
|
+
*/
|
|
26
|
+
export declare function findNamedDownloadAsset(config: ContentfulConfig, filename: string, options?: FetchOptions): Promise<NamedDownloadResolution>;
|
|
27
|
+
//# sourceMappingURL=named-download.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"named-download.d.ts","sourceRoot":"","sources":["../../src/api/named-download.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,uBAAuB,GAC/B;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC5C;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC;AAE5B;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,iBAAiB,EAAE,GAClC,uBAAuB,CAWzB;AAmED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,YAAiC,GACzC,OAAO,CAAC,uBAAuB,CAAC,CA8ClC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { getContentfulClient } from '../client.js';
|
|
2
|
+
import { getCacheTags } from '../revalidation/utils.js';
|
|
3
|
+
import { withCmsQueryContext } from '../telemetry/queryContext.js';
|
|
4
|
+
/**
|
|
5
|
+
* One filename may be used by several links when they point at the same asset.
|
|
6
|
+
* Two different assets with that filename is not a match.
|
|
7
|
+
*/
|
|
8
|
+
export function resolveNamedDownload(filename, files) {
|
|
9
|
+
const matches = new Map();
|
|
10
|
+
for (const file of files) {
|
|
11
|
+
if (file.fileName !== filename)
|
|
12
|
+
continue;
|
|
13
|
+
if (!matches.has(file.assetId))
|
|
14
|
+
matches.set(file.assetId, file);
|
|
15
|
+
}
|
|
16
|
+
if (matches.size === 0)
|
|
17
|
+
return { status: 'missing' };
|
|
18
|
+
if (matches.size > 1)
|
|
19
|
+
return { status: 'ambiguous' };
|
|
20
|
+
const file = matches.values().next().value;
|
|
21
|
+
if (!file)
|
|
22
|
+
return { status: 'missing' };
|
|
23
|
+
return { status: 'found', file };
|
|
24
|
+
}
|
|
25
|
+
function asFile(value) {
|
|
26
|
+
if (!value || typeof value !== 'object')
|
|
27
|
+
return undefined;
|
|
28
|
+
const record = value;
|
|
29
|
+
if (typeof record.fileName === 'string' || typeof record.url === 'string') {
|
|
30
|
+
return record;
|
|
31
|
+
}
|
|
32
|
+
const localized = record['en-US'] ?? Object.values(record)[0];
|
|
33
|
+
return asFile(localized);
|
|
34
|
+
}
|
|
35
|
+
function assetIdFromDownloadField(value) {
|
|
36
|
+
if (!value || typeof value !== 'object')
|
|
37
|
+
return undefined;
|
|
38
|
+
const record = value;
|
|
39
|
+
const sys = record.sys;
|
|
40
|
+
if (typeof sys?.id === 'string' && sys.id.length > 0)
|
|
41
|
+
return sys.id;
|
|
42
|
+
return assetIdFromDownloadField(record['en-US']);
|
|
43
|
+
}
|
|
44
|
+
function filesFromPage(page) {
|
|
45
|
+
const assets = new Map();
|
|
46
|
+
for (const asset of page.includes?.Asset ?? []) {
|
|
47
|
+
const assetId = asset.sys?.id;
|
|
48
|
+
const file = asFile(asset.fields?.file);
|
|
49
|
+
if (!assetId || !file?.fileName || !file.url || !file.contentType)
|
|
50
|
+
continue;
|
|
51
|
+
assets.set(assetId, {
|
|
52
|
+
assetId,
|
|
53
|
+
fileName: file.fileName,
|
|
54
|
+
contentType: file.contentType,
|
|
55
|
+
url: file.url.startsWith('//') ? `https:${file.url}` : file.url,
|
|
56
|
+
size: file.details?.size,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
const files = [];
|
|
60
|
+
for (const item of page.items ?? []) {
|
|
61
|
+
const assetId = assetIdFromDownloadField(item.fields?.downloadAsset);
|
|
62
|
+
if (!assetId)
|
|
63
|
+
continue;
|
|
64
|
+
const file = assets.get(assetId);
|
|
65
|
+
if (file)
|
|
66
|
+
files.push(file);
|
|
67
|
+
}
|
|
68
|
+
return files;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Loads link entries that have `downloadAsset` set and returns the one asset
|
|
72
|
+
* whose filename matches. Does not query the asset library by filename.
|
|
73
|
+
*/
|
|
74
|
+
export async function findNamedDownloadAsset(config, filename, options = { preview: false }) {
|
|
75
|
+
const preview = options.preview;
|
|
76
|
+
const client = getContentfulClient(config, preview);
|
|
77
|
+
const tags = [
|
|
78
|
+
...getCacheTags('link', undefined, preview),
|
|
79
|
+
...getCacheTags('asset', undefined, preview),
|
|
80
|
+
];
|
|
81
|
+
const pageSize = 100;
|
|
82
|
+
let skip = 0;
|
|
83
|
+
const files = [];
|
|
84
|
+
for (;;) {
|
|
85
|
+
const pageNumber = Math.floor(skip / pageSize) + 1;
|
|
86
|
+
const page = await withCmsQueryContext({
|
|
87
|
+
operation: pageNumber > 1 ? `Reading download links (page ${pageNumber})` : 'Reading download links',
|
|
88
|
+
}, () => client.getEntries({
|
|
89
|
+
content_type: 'link',
|
|
90
|
+
'fields.downloadAsset[exists]': true,
|
|
91
|
+
include: 1,
|
|
92
|
+
locale: options.locale ?? 'en-US',
|
|
93
|
+
limit: pageSize,
|
|
94
|
+
skip,
|
|
95
|
+
}, {
|
|
96
|
+
...options,
|
|
97
|
+
next: {
|
|
98
|
+
...options.next,
|
|
99
|
+
tags: [...tags, ...(options.next?.tags ?? [])],
|
|
100
|
+
revalidate: options.next?.revalidate,
|
|
101
|
+
},
|
|
102
|
+
}));
|
|
103
|
+
files.push(...filesFromPage(page));
|
|
104
|
+
const total = typeof page.total === 'number' ? page.total : files.length;
|
|
105
|
+
skip += page.items?.length ?? 0;
|
|
106
|
+
if (skip >= total || (page.items?.length ?? 0) === 0)
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
return resolveNamedDownload(filename, files);
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=named-download.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"named-download.js","sourceRoot":"","sources":["../../src/api/named-download.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAgBhE;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAgB,EAChB,KAAmC;IAEnC,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;IACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ;YAAE,SAAS;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACrD,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACrD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;IAC3C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACxC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACnC,CAAC;AASD,SAAS,MAAM,CAAC,KAAc;IAC5B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1E,OAAO,MAAiB,CAAC;IAC3B,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAkC,CAAC;IACtD,IAAI,OAAO,GAAG,EAAE,EAAE,KAAK,QAAQ,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,EAAE,CAAC;IACpE,OAAO,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACnD,CAAC;AAiBD,SAAS,aAAa,CAAC,IAAc;IACnC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6B,CAAC;IACpD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,SAAS;QAC5E,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE;YAClB,OAAO;YACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;YAC/D,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI;SACzB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAwB,EAAE,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAwB,EACxB,QAAgB,EAChB,OAAO,GAAiB,EAAE,OAAO,EAAE,KAAK,EAAE;IAE1C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG;QACX,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;QAC3C,GAAG,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC;KAC7C,CAAC;IACF,MAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,KAAK,GAAwB,EAAE,CAAC;IAEtC,SAAS,CAAC;QACR,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,MAAM,mBAAmB,CACpC;YACE,SAAS,EACP,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,gCAAgC,UAAU,GAAG,CAAC,CAAC,CAAC,wBAAwB;SAC5F,EACD,GAAG,EAAE,CACH,MAAM,CAAC,UAAU,CACf;YACE,YAAY,EAAE,MAAM;YACpB,8BAA8B,EAAE,IAAI;YACpC,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,OAAO;YACjC,KAAK,EAAE,QAAQ;YACf,IAAI;SACL,EACD;YACE,GAAG,OAAO;YACV,IAAI,EAAE;gBACJ,GAAG,OAAO,CAAC,IAAI;gBACf,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC9C,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU;aACrC;SACF,CACF,CACJ,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAgB,CAAC,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QACzE,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC;QAChC,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC;YAAE,MAAM;IAC9D,CAAC;IAED,OAAO,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -48,6 +48,8 @@ export interface DownloadRouteParams {
|
|
|
48
48
|
* Filename comes from Contentful so only one path identity exists per asset.
|
|
49
49
|
*/
|
|
50
50
|
export declare function buildCanonicalDownloadPath(assetId: string, canonicalFilename: string): string;
|
|
51
|
+
/** Public path for a download link, keyed by the asset filename. */
|
|
52
|
+
export declare function buildNamedDownloadPath(filename: string): string;
|
|
51
53
|
/**
|
|
52
54
|
* Creates a Next.js App Router GET handler for downloading/viewing Contentful assets.
|
|
53
55
|
*
|
|
@@ -64,4 +66,14 @@ export declare function buildCanonicalDownloadPath(assetId: string, canonicalFil
|
|
|
64
66
|
* @returns GET handler function for Next.js route
|
|
65
67
|
*/
|
|
66
68
|
export declare function createDownloadHandler(config: DownloadHandlerConfig): (request: NextRequest, { params }: DownloadRouteParams) => Promise<Response>;
|
|
69
|
+
export interface NamedDownloadRouteParams {
|
|
70
|
+
params: Promise<{
|
|
71
|
+
filename: string;
|
|
72
|
+
}>;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* GET handler for `/download/{filename}`.
|
|
76
|
+
* Serves a file only when a link entry's download asset has that filename.
|
|
77
|
+
*/
|
|
78
|
+
export declare function createNamedDownloadHandler(config: DownloadHandlerConfig): (request: NextRequest, { params }: NamedDownloadRouteParams) => Promise<Response>;
|
|
67
79
|
//# sourceMappingURL=server-asset.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-asset.d.ts","sourceRoot":"","sources":["../../src/api/server-asset.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"server-asset.d.ts","sourceRoot":"","sources":["../../src/api/server-asset.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAIjD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,gBAAgB,CAAC;IAEnD;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAcD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAE7F;AAED,oEAAoE;AACpE,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE/D;AA2DD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,aAItD,WAAW,cACR,mBAAmB,KAC9B,OAAO,CAAC,QAAQ,CAAC,CAsDrB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,qBAAqB,aAI3D,WAAW,cACR,wBAAwB,KACnC,OAAO,CAAC,QAAQ,CAAC,CA+BrB"}
|
package/dist/api/server-asset.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import 'server-only';
|
|
2
2
|
import { contentfulAssetRest, isBrowserViewable } from './asset.js';
|
|
3
|
+
import { findNamedDownloadAsset } from './named-download.js';
|
|
3
4
|
function decodeFilenameParam(filename) {
|
|
4
5
|
try {
|
|
5
6
|
return decodeURIComponent(filename);
|
|
@@ -18,6 +19,47 @@ function stripTrailingSlash(url) {
|
|
|
18
19
|
export function buildCanonicalDownloadPath(assetId, canonicalFilename) {
|
|
19
20
|
return `/download/${assetId}/${encodeURIComponent(canonicalFilename)}`;
|
|
20
21
|
}
|
|
22
|
+
/** Public path for a download link, keyed by the asset filename. */
|
|
23
|
+
export function buildNamedDownloadPath(filename) {
|
|
24
|
+
return `/download/${encodeURIComponent(filename)}`;
|
|
25
|
+
}
|
|
26
|
+
async function proxyContentfulFile(options) {
|
|
27
|
+
const { request, file, canonicalPath, baseUrl, revalidate } = options;
|
|
28
|
+
const requestUrl = new URL(request.url);
|
|
29
|
+
const requestOrigin = stripTrailingSlash(requestUrl.origin);
|
|
30
|
+
const canonicalOrigin = baseUrl ? stripTrailingSlash(baseUrl) : requestOrigin;
|
|
31
|
+
const redirectLocation = `${requestOrigin}${canonicalPath}`;
|
|
32
|
+
const canonicalAbsolute = `${canonicalOrigin}${canonicalPath}`;
|
|
33
|
+
if (options.redirectWhenQuery !== false && requestUrl.search.length > 0) {
|
|
34
|
+
return new Response(null, {
|
|
35
|
+
status: 301,
|
|
36
|
+
headers: {
|
|
37
|
+
Location: redirectLocation,
|
|
38
|
+
'Cache-Control': 'public, max-age=3600',
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
const assetUrl = file.url.startsWith('//') ? `https:${file.url}` : file.url;
|
|
43
|
+
const fileResponse = await fetch(assetUrl, {
|
|
44
|
+
cache: 'no-store',
|
|
45
|
+
});
|
|
46
|
+
if (!fileResponse.ok) {
|
|
47
|
+
return Response.json({ error: 'Failed to fetch file' }, { status: 502 });
|
|
48
|
+
}
|
|
49
|
+
const headers = new Headers();
|
|
50
|
+
headers.set('Content-Type', file.contentType);
|
|
51
|
+
const disposition = isBrowserViewable(file.contentType) ? 'inline' : 'attachment';
|
|
52
|
+
headers.set('Content-Disposition', `${disposition}; filename="${file.fileName}"`);
|
|
53
|
+
if (file.size) {
|
|
54
|
+
headers.set('Content-Length', String(file.size));
|
|
55
|
+
}
|
|
56
|
+
headers.set('Cache-Control', `public, max-age=${revalidate}, s-maxage=${revalidate}`);
|
|
57
|
+
headers.set('Link', `<${canonicalAbsolute}>; rel="canonical"`);
|
|
58
|
+
return new Response(fileResponse.body, {
|
|
59
|
+
status: 200,
|
|
60
|
+
headers,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
21
63
|
/**
|
|
22
64
|
* Creates a Next.js App Router GET handler for downloading/viewing Contentful assets.
|
|
23
65
|
*
|
|
@@ -52,53 +94,69 @@ export function createDownloadHandler(config) {
|
|
|
52
94
|
const canonicalFilename = typeof file.fileName === 'string' && file.fileName.length > 0
|
|
53
95
|
? file.fileName
|
|
54
96
|
: decodedFilename;
|
|
55
|
-
const requestUrl = new URL(request.url);
|
|
56
|
-
const requestOrigin = stripTrailingSlash(requestUrl.origin);
|
|
57
|
-
const canonicalOrigin = baseUrl ? stripTrailingSlash(baseUrl) : requestOrigin;
|
|
58
97
|
const canonicalPath = buildCanonicalDownloadPath(assetId, canonicalFilename);
|
|
59
|
-
// Redirects stay on the host that received the request (preview/local safe).
|
|
60
|
-
const redirectLocation = `${requestOrigin}${canonicalPath}`;
|
|
61
|
-
// Canonical signal prefers configured production baseUrl when provided.
|
|
62
|
-
const canonicalAbsolute = `${canonicalOrigin}${canonicalPath}`;
|
|
63
|
-
const hasQuery = requestUrl.search.length > 0;
|
|
64
98
|
const filenameMismatch = decodedFilename !== canonicalFilename;
|
|
65
|
-
if (
|
|
99
|
+
if (filenameMismatch) {
|
|
100
|
+
const requestOrigin = stripTrailingSlash(new URL(request.url).origin);
|
|
66
101
|
return new Response(null, {
|
|
67
102
|
status: 301,
|
|
68
103
|
headers: {
|
|
69
|
-
Location:
|
|
70
|
-
// Short cache so corrected identity propagates quickly after renames.
|
|
104
|
+
Location: `${requestOrigin}${canonicalPath}`,
|
|
71
105
|
'Cache-Control': 'public, max-age=3600',
|
|
72
106
|
},
|
|
73
107
|
});
|
|
74
108
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
109
|
+
return proxyContentfulFile({
|
|
110
|
+
request,
|
|
111
|
+
file: {
|
|
112
|
+
url: file.url,
|
|
113
|
+
contentType: file.contentType,
|
|
114
|
+
fileName: canonicalFilename,
|
|
115
|
+
size: file.details?.size,
|
|
116
|
+
},
|
|
117
|
+
canonicalPath,
|
|
118
|
+
baseUrl,
|
|
119
|
+
revalidate,
|
|
81
120
|
});
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
console.error('[Download] Error proxying file:', error);
|
|
124
|
+
return Response.json({ error: 'Internal server error' }, { status: 500 });
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* GET handler for `/download/{filename}`.
|
|
130
|
+
* Serves a file only when a link entry's download asset has that filename.
|
|
131
|
+
*/
|
|
132
|
+
export function createNamedDownloadHandler(config) {
|
|
133
|
+
const { getConfig, revalidate = 86400, preview = false, baseUrl } = config;
|
|
134
|
+
return async function GET(request, { params }) {
|
|
135
|
+
// Next decodes this segment once. Decoding again changes a name that contains %XX.
|
|
136
|
+
const { filename } = await params;
|
|
137
|
+
try {
|
|
138
|
+
const resolution = await findNamedDownloadAsset(getConfig(preview), filename, {
|
|
139
|
+
preview,
|
|
140
|
+
next: { revalidate },
|
|
141
|
+
});
|
|
142
|
+
if (resolution.status !== 'found') {
|
|
143
|
+
return Response.json({ error: 'Asset not found' }, { status: 404 });
|
|
91
144
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
145
|
+
return proxyContentfulFile({
|
|
146
|
+
request,
|
|
147
|
+
file: {
|
|
148
|
+
url: resolution.file.url,
|
|
149
|
+
contentType: resolution.file.contentType,
|
|
150
|
+
fileName: resolution.file.fileName,
|
|
151
|
+
size: resolution.file.size,
|
|
152
|
+
},
|
|
153
|
+
canonicalPath: buildNamedDownloadPath(resolution.file.fileName),
|
|
154
|
+
baseUrl,
|
|
155
|
+
revalidate,
|
|
98
156
|
});
|
|
99
157
|
}
|
|
100
158
|
catch (error) {
|
|
101
|
-
console.error('[Download] Error proxying file:', error);
|
|
159
|
+
console.error('[Download] Error proxying named file:', error);
|
|
102
160
|
return Response.json({ error: 'Internal server error' }, { status: 500 });
|
|
103
161
|
}
|
|
104
162
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-asset.js","sourceRoot":"","sources":["../../src/api/server-asset.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAGrB,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"server-asset.js","sourceRoot":"","sources":["../../src/api/server-asset.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,6 @@ import type { baseBannerConverter } from './banner';
|
|
|
10
10
|
import type { baseCollectionConverter } from './collection';
|
|
11
11
|
import type { baseComponentConverter } from './component';
|
|
12
12
|
import type { baseCustomTypeConverter } from './customType';
|
|
13
|
-
import type { baseDocumentConverter } from './document';
|
|
14
13
|
import type { baseNavigationItemConverter } from './navigationItem';
|
|
15
14
|
import type { basePageConverter } from './page';
|
|
16
15
|
import type { baseTagConverter } from './tag';
|
|
@@ -96,10 +95,11 @@ export type UrlCalculators = {
|
|
|
96
95
|
tagType: (slug: string) => string;
|
|
97
96
|
download: (assetId: string, filename: string) => string;
|
|
98
97
|
/**
|
|
99
|
-
*
|
|
100
|
-
* When
|
|
98
|
+
* Opt-in public path for a link `downloadAsset`, keyed by filename only.
|
|
99
|
+
* When set, download links use this instead of `download(assetId, filename)`.
|
|
100
|
+
* The site must mount `createNamedDownloadHandler` at that path.
|
|
101
101
|
*/
|
|
102
|
-
|
|
102
|
+
namedDownload?: (filename: string) => string;
|
|
103
103
|
};
|
|
104
104
|
export type BaseConverterContext = {
|
|
105
105
|
/**
|
|
@@ -137,7 +137,6 @@ export type BaseConverterContext = {
|
|
|
137
137
|
componentResolver: typeof baseComponentConverter;
|
|
138
138
|
collectionResolver: typeof baseCollectionConverter;
|
|
139
139
|
bannerResolver: typeof baseBannerConverter;
|
|
140
|
-
documentResolver: typeof baseDocumentConverter;
|
|
141
140
|
redirectResolver: typeof import('./redirect').baseRedirectConverter;
|
|
142
141
|
/**
|
|
143
142
|
* Optional selector to determine the primary tag for URL generation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/converters/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,MAAM,EACN,WAAW,EACX,OAAO,EACR,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAC1E,OAAO,EAAE,KAAK,wBAAwB,EAAyB,MAAM,6BAA6B,CAAC;AACnG,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/converters/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/converters/helpers.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG/D,OAAO,EAAiC,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/converters/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,6 @@ export type { IContentfulComponent } from './component';
|
|
|
13
13
|
export { baseComponentConverter } from './component';
|
|
14
14
|
export { applyContentfulImageOriginParams, CONTENTFUL_GIF_ORIGIN_MAX_WIDTH, CONTENTFUL_IMAGE_ORIGIN_MAX_WIDTH, type ContentfulImageOriginOptions, } from './contentfulImageOrigin';
|
|
15
15
|
export { type ContentfulOgImageFormat, type ContentfulOgImageOptions, contentfulOgImageUrl, OG_IMAGE_HEIGHT, OG_IMAGE_WIDTH, } from './contentfulOgImage';
|
|
16
|
-
export { baseDocumentConverter } from './document';
|
|
17
16
|
export type { IContentfulExternalComponent } from './externalComponent';
|
|
18
17
|
export { baseExternalComponentConverter } from './externalComponent';
|
|
19
18
|
export { type BaseConverterContext, type ContentResolverFunction, type ConverterContext, lookupAsset, type UrlCalculators, } from './helpers';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/converters/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAC1E,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,gCAAgC,EAChC,+BAA+B,EAC/B,iCAAiC,EACjC,KAAK,4BAA4B,GAClC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,oBAAoB,EACpB,eAAe,EACf,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/converters/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAC1E,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,gCAAgC,EAChC,+BAA+B,EAC/B,iCAAiC,EACjC,KAAK,4BAA4B,GAClC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,oBAAoB,EACpB,eAAe,EACf,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,WAAW,EACX,KAAK,cAAc,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,6BAA6B,EAC7B,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/converters/index.js
CHANGED
|
@@ -10,7 +10,6 @@ export { baseCollectionConverter } from './collection.js';
|
|
|
10
10
|
export { baseComponentConverter } from './component.js';
|
|
11
11
|
export { applyContentfulImageOriginParams, CONTENTFUL_GIF_ORIGIN_MAX_WIDTH, CONTENTFUL_IMAGE_ORIGIN_MAX_WIDTH, } from './contentfulImageOrigin.js';
|
|
12
12
|
export { contentfulOgImageUrl, OG_IMAGE_HEIGHT, OG_IMAGE_WIDTH, } from './contentfulOgImage.js';
|
|
13
|
-
export { baseDocumentConverter } from './document.js';
|
|
14
13
|
export { baseExternalComponentConverter } from './externalComponent.js';
|
|
15
14
|
export { lookupAsset, } from './helpers.js';
|
|
16
15
|
export { baseHtmlComponentConverter } from './htmlComponent.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/converters/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAE1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,gCAAgC,EAChC,+BAA+B,EAC/B,iCAAiC,GAElC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAGL,oBAAoB,EACpB,eAAe,EACf,cAAc,GACf,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/converters/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAE1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,gCAAgC,EAChC,+BAA+B,EAC/B,iCAAiC,GAElC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAGL,oBAAoB,EACpB,eAAe,EACf,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAIL,WAAW,GAEZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,6BAA6B,EAC7B,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/converters/link.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAUlD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC3D,aAAa,GAAG,aAAa,GAAG,aAAa,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/converters/link.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAUlD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC3D,aAAa,GAAG,aAAa,GAAG,aAAa,GAAG,UAAU,CAiH5D"}
|
package/dist/converters/link.js
CHANGED
|
@@ -78,7 +78,10 @@ export function baseLinkConverter(context, entry) {
|
|
|
78
78
|
if (fields.downloadAsset) {
|
|
79
79
|
const asset = lookupAsset(context, fields.downloadAsset);
|
|
80
80
|
const downloadAsset = lookupDownloadAsset(context, fields.downloadAsset);
|
|
81
|
-
|
|
81
|
+
const namedHref = downloadAsset && context.urlCalculators.namedDownload
|
|
82
|
+
? context.urlCalculators.namedDownload(downloadAsset.filename)
|
|
83
|
+
: null;
|
|
84
|
+
let href = namedHref ?? downloadAsset?.href ?? null;
|
|
82
85
|
if (href === null && asset) {
|
|
83
86
|
if (asset.image?.type === 'Picture')
|
|
84
87
|
href = asset.image.src;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/converters/link.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/converters/link.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -19,12 +19,12 @@
|
|
|
19
19
|
*/
|
|
20
20
|
export type { EntryMeta } from '@se-studio/core-data-types';
|
|
21
21
|
export { interpolateMetaTokens, mergeMeta, parseMeta, resolvedMeta, resolveMetaFromPageContext, } from '@se-studio/core-data-types';
|
|
22
|
-
export { type AfterVariantMerge, type AnyEntryRestResult, type ArticleTypeFetchOptions, assetToMediaLibraryItem, type BreadcrumbLookup, type BreadcrumbLookupEntry, type BuiltinPreviewContentType, buildAssetThumbUrl, buildFetchOptions, buildFlatNavigationCacheOptions, type CmsContentType, type CmsFetchProfile, type ConverterResolutionScope, clampMediaLibraryLimit, clampMediaLibraryPage, contentfulAllArticleLinks, contentfulAllArticleLinksForIntegrity, contentfulAllArticleTypeLinks, contentfulAllCustomTypeLinks, contentfulAllPageLinks, contentfulAllPersonLinks, contentfulAllTagLinks, contentfulAllTagTypeLinks, contentfulAnyEntryRest, contentfulArticleRest, contentfulArticleSitemapEntries, contentfulArticleTypeRest, contentfulArticleTypeSitemapEntries, contentfulAssetRest, contentfulAssetsPageRest, contentfulBannerRest, contentfulComponentRest, contentfulCustomTypeRest,
|
|
22
|
+
export { type AfterVariantMerge, type AnyEntryRestResult, type ArticleTypeFetchOptions, assetToMediaLibraryItem, type BreadcrumbLookup, type BreadcrumbLookupEntry, type BuiltinPreviewContentType, buildAssetThumbUrl, buildFetchOptions, buildFlatNavigationCacheOptions, type CmsContentType, type CmsFetchProfile, type ConverterResolutionScope, clampMediaLibraryLimit, clampMediaLibraryPage, contentfulAllArticleLinks, contentfulAllArticleLinksForIntegrity, contentfulAllArticleTypeLinks, contentfulAllCustomTypeLinks, contentfulAllPageLinks, contentfulAllPersonLinks, contentfulAllTagLinks, contentfulAllTagTypeLinks, contentfulAnyEntryRest, contentfulArticleRest, contentfulArticleSitemapEntries, contentfulArticleTypeRest, contentfulArticleTypeSitemapEntries, contentfulAssetRest, contentfulAssetsPageRest, contentfulBannerRest, contentfulComponentRest, contentfulCustomTypeRest, contentfulPageRest, contentfulPageSitemapEntries, contentfulPersonRest, contentfulPersonSitemapEntries, contentfulRedirectsRest, contentfulTagRest, contentfulTagSitemapEntries, contentfulTagTypeRest, contentfulTemplateRest, coreGetContentfulConfig, createBaseConverterContext, createSitemapProvider, type DefaultChainModifier, FLAT_NAV_CACHE_TAGS, filterRelatedArticles, getAllSitemapEntries, getBreadcrumbLookup, getDefaultInclude, getListingLinkFetchParams, getNavigation, getPreviewEntryInfo, getResolutionScope, getResolutionScopeFromOptions, type IContentfulRichText, type IFetchedTemplate, type ISitemapEntry, isAnimationAsset, isBrowserViewable, isMediaLibraryKind, LISTING_RESOLUTION_SCOPE, listAnimationsPage, listMediaLibraryPage, MEDIA_LIBRARY_DEFAULT_LIMIT, MEDIA_LIBRARY_KINDS, MEDIA_LIBRARY_MAX_LIMIT, MEDIA_LIBRARY_THUMB_WIDTH, type MediaLibraryItem, type MediaLibraryKind, type MediaLibraryPage, mediaLibraryKindForAsset, mediaLibraryPageToMarkdown, PAGE_CONTENT_SCOPE, PAGE_RESOLUTION_SCOPE, type PageFetchOptions, type PersonFetchOptions, type PreviewContentType, type PreviewEntryInclude, type PreviewEntryInfo, type PreviewEntryResolveInput, type PreviewEntryResolver, type RelatedArticlesOptions, resolveIncludeDepth, type SitemapChangeFrequency, type SitemapConfig, type SitemapContentTypeConfig, type SitemapEntryProvider, slugPreviewResolver, type TagFetchOptions, type TagTypeFetchOptions, withFlatNavRequestCache, } from './api';
|
|
23
23
|
export type { BasePageVariantSkeleton } from './baseTypes/basePageVariant';
|
|
24
24
|
export type { ContentfulFetchClient as ContentfulClient } from './client';
|
|
25
25
|
export { type ContentfulFetchClient, createContentfulClient, createContentfulPreviewClient, getContentfulClient, } from './client';
|
|
26
26
|
export type { ContentResolverFunction } from './converters';
|
|
27
|
-
export { applyAlternateReplacementsMap, applyContentfulImageOriginParams, articleLinkToListCard, type BaseConverterContext, baseCollectionConverter, baseComponentConverter,
|
|
27
|
+
export { applyAlternateReplacementsMap, applyContentfulImageOriginParams, articleLinkToListCard, type BaseConverterContext, baseCollectionConverter, baseComponentConverter, baseExternalComponentConverter, baseNavigationItemConverter, basePageConverter, CONTENTFUL_GIF_ORIGIN_MAX_WIDTH, CONTENTFUL_IMAGE_ORIGIN_MAX_WIDTH, type ContentfulImageOriginOptions, type ContentfulOgImageFormat, type ContentfulOgImageOptions, type ConverterContext, calculatePageHref, calculatePageVariantHref, contentfulOgImageUrl, createResponsiveVisual, type IContentfulArticle, type IContentfulArticleLink, type IContentfulCollection, type IContentfulComponent, type IContentfulExternalComponent, type IContentfulPerson, lookupAsset, mergeAlternatePageContentsInTree, navigationStubFromLink, OG_IMAGE_HEIGHT, OG_IMAGE_WIDTH, resolveAlternateReplacements, resolveLink, resolveLinks, resolveNavigation, resolveNavigationOrStub, resolveRichTextDocument, type UrlCalculators, } from './converters';
|
|
28
28
|
export { collectIconsFromContent, collectIconsFromNavigation, deduplicateIcons, processIconsForSprite, rebuildIconSpriteFromLayout, } from './icons/rebuildIconSprite';
|
|
29
29
|
export { AllTags, ArticleTag, ArticleTypeTag, AssetTag, articleTag, articleTypeIndexTag, articleTypeTag, assetTag, BannerTag, CustomTypeTag, customTypeTag, DocumentTag, GlobalTag, getCacheTags, getCacheTagsForPreview, getCacheTagsForProduction, LinkTag, LocationTag, locationTag, NavigationItemTag, NavigationTag, PageTag, PageVariantTag, PersonTag, pageTag, pageVariantTag, personTag, REVALIDATION_WEBHOOK_ENTRY_CONTENT_TYPES, REVALIDATION_WEBHOOK_ENTRY_CONTENT_TYPES_CSV, SchemaTag, SitemapTag, TagTag, TagTypeTag, TemplateTag, tagTag, templateTag, } from './revalidation';
|
|
30
30
|
export { createMarketingSiteUrlCalculators, type MarketingSiteRoutingOptions, } from './routing';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,YAAY,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,SAAS,EACT,YAAY,EACZ,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAE5B,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAE1B,KAAK,yBAAyB,EAC9B,kBAAkB,EAClB,iBAAiB,EACjB,+BAA+B,EAC/B,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,qCAAqC,EACrC,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,+BAA+B,EAC/B,yBAAyB,EACzB,mCAAmC,EACnC,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -21,13 +21,13 @@ export { interpolateMetaTokens, mergeMeta, parseMeta, resolvedMeta, resolveMetaF
|
|
|
21
21
|
// API functions
|
|
22
22
|
export {
|
|
23
23
|
// Asset/download + media library
|
|
24
|
-
assetToMediaLibraryItem, buildAssetThumbUrl, buildFetchOptions, buildFlatNavigationCacheOptions, clampMediaLibraryLimit, clampMediaLibraryPage, contentfulAllArticleLinks, contentfulAllArticleLinksForIntegrity, contentfulAllArticleTypeLinks, contentfulAllCustomTypeLinks, contentfulAllPageLinks, contentfulAllPersonLinks, contentfulAllTagLinks, contentfulAllTagTypeLinks, contentfulAnyEntryRest, contentfulArticleRest, contentfulArticleSitemapEntries, contentfulArticleTypeRest, contentfulArticleTypeSitemapEntries, contentfulAssetRest, contentfulAssetsPageRest, contentfulBannerRest, contentfulComponentRest, contentfulCustomTypeRest,
|
|
24
|
+
assetToMediaLibraryItem, buildAssetThumbUrl, buildFetchOptions, buildFlatNavigationCacheOptions, clampMediaLibraryLimit, clampMediaLibraryPage, contentfulAllArticleLinks, contentfulAllArticleLinksForIntegrity, contentfulAllArticleTypeLinks, contentfulAllCustomTypeLinks, contentfulAllPageLinks, contentfulAllPersonLinks, contentfulAllTagLinks, contentfulAllTagTypeLinks, contentfulAnyEntryRest, contentfulArticleRest, contentfulArticleSitemapEntries, contentfulArticleTypeRest, contentfulArticleTypeSitemapEntries, contentfulAssetRest, contentfulAssetsPageRest, contentfulBannerRest, contentfulComponentRest, contentfulCustomTypeRest, contentfulPageRest, contentfulPageSitemapEntries, contentfulPersonRest, contentfulPersonSitemapEntries, contentfulRedirectsRest, contentfulTagRest, contentfulTagSitemapEntries, contentfulTagTypeRest, contentfulTemplateRest, coreGetContentfulConfig, createBaseConverterContext, createSitemapProvider, FLAT_NAV_CACHE_TAGS, filterRelatedArticles, getAllSitemapEntries, getBreadcrumbLookup, getDefaultInclude, getListingLinkFetchParams, getNavigation,
|
|
25
25
|
// Preview
|
|
26
26
|
getPreviewEntryInfo, getResolutionScope, getResolutionScopeFromOptions, isAnimationAsset, isBrowserViewable, isMediaLibraryKind, LISTING_RESOLUTION_SCOPE, listAnimationsPage, listMediaLibraryPage, MEDIA_LIBRARY_DEFAULT_LIMIT, MEDIA_LIBRARY_KINDS, MEDIA_LIBRARY_MAX_LIMIT, MEDIA_LIBRARY_THUMB_WIDTH, mediaLibraryKindForAsset, mediaLibraryPageToMarkdown, PAGE_CONTENT_SCOPE, PAGE_RESOLUTION_SCOPE, resolveIncludeDepth, slugPreviewResolver, withFlatNavRequestCache, } from './api/index.js';
|
|
27
27
|
// Client exports
|
|
28
28
|
export { createContentfulClient, createContentfulPreviewClient, getContentfulClient, } from './client.js';
|
|
29
29
|
// Converter exports
|
|
30
|
-
export { applyAlternateReplacementsMap, applyContentfulImageOriginParams, articleLinkToListCard, baseCollectionConverter, baseComponentConverter,
|
|
30
|
+
export { applyAlternateReplacementsMap, applyContentfulImageOriginParams, articleLinkToListCard, baseCollectionConverter, baseComponentConverter, baseExternalComponentConverter, baseNavigationItemConverter, basePageConverter, CONTENTFUL_GIF_ORIGIN_MAX_WIDTH, CONTENTFUL_IMAGE_ORIGIN_MAX_WIDTH, calculatePageHref, calculatePageVariantHref, contentfulOgImageUrl, createResponsiveVisual, lookupAsset, mergeAlternatePageContentsInTree, navigationStubFromLink, OG_IMAGE_HEIGHT, OG_IMAGE_WIDTH, resolveAlternateReplacements, resolveLink, resolveLinks, resolveNavigation, resolveNavigationOrStub, resolveRichTextDocument, } from './converters/index.js';
|
|
31
31
|
export { collectIconsFromContent, collectIconsFromNavigation, deduplicateIcons, processIconsForSprite, rebuildIconSpriteFromLayout, } from './icons/rebuildIconSprite.js';
|
|
32
32
|
// Revalidation utilities
|
|
33
33
|
export { AllTags, ArticleTag, ArticleTypeTag, AssetTag, articleTag, articleTypeIndexTag, articleTypeTag, assetTag, BannerTag, CustomTypeTag, customTypeTag, DocumentTag, GlobalTag, getCacheTags,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,SAAS,EACT,YAAY,EACZ,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AACpC,gBAAgB;AAChB,OAAO;AAIL,iCAAiC;AACjC,uBAAuB,EAKvB,kBAAkB,EAClB,iBAAiB,EACjB,+BAA+B,EAI/B,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,qCAAqC,EACrC,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,+BAA+B,EAC/B,yBAAyB,EACzB,mCAAmC,EACnC,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import 'server-only';
|
|
2
|
-
export { buildCanonicalDownloadPath, createDownloadHandler, type DownloadHandlerConfig, type DownloadRouteParams, } from './api/server-asset';
|
|
2
|
+
export { buildCanonicalDownloadPath, buildNamedDownloadPath, createDownloadHandler, createNamedDownloadHandler, type DownloadHandlerConfig, type DownloadRouteParams, type NamedDownloadRouteParams, } from './api/server-asset';
|
|
3
3
|
export { type AssetData, type BaseData, contentTypeHandlers, type IContentTypeHandler, revalidateAsset, revalidateDeletedAsset, revalidateDeletedEntry, revalidateEntry, } from './revalidation/handlers';
|
|
4
4
|
export { createRevalidationHandler, type RevalidationConfig, } from './revalidation/nextjs-route';
|
|
5
5
|
export { handleRevalidation } from './revalidation/route';
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAGrB,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAGrB,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,GAC9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,yBAAyB,EACzB,KAAK,kBAAkB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC"}
|
package/dist/server.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import 'server-only';
|
|
2
2
|
// Download handler
|
|
3
|
-
export { buildCanonicalDownloadPath, createDownloadHandler, } from './api/server-asset.js';
|
|
3
|
+
export { buildCanonicalDownloadPath, buildNamedDownloadPath, createDownloadHandler, createNamedDownloadHandler, } from './api/server-asset.js';
|
|
4
4
|
export { contentTypeHandlers, revalidateAsset, revalidateDeletedAsset, revalidateDeletedEntry, revalidateEntry, } from './revalidation/handlers.js';
|
|
5
5
|
// Revalidation handlers and routes
|
|
6
6
|
export { createRevalidationHandler, } from './revalidation/nextjs-route.js';
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAErB,mBAAmB;AACnB,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAErB,mBAAmB;AACnB,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,GAI3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,mBAAmB,EAEnB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,mCAAmC;AACnC,OAAO,EACL,yBAAyB,GAE1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,yBAAyB;AACzB,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC"}
|
package/docs/llms.md
CHANGED
|
@@ -435,24 +435,26 @@ export const GET = createDownloadHandler({
|
|
|
435
435
|
- On file replace: use a **new asset id and/or filename** so long `Cache-Control` does not pin stale bytes.
|
|
436
436
|
- Successful responses set `max-age` and `s-maxage` from `revalidate`; identity 301s use a short max-age.
|
|
437
437
|
|
|
438
|
-
##
|
|
438
|
+
## Download link by filename
|
|
439
439
|
|
|
440
|
-
|
|
440
|
+
Opt-in. A `link` entry with `downloadAsset` is the allowlist. The route does not search the asset library.
|
|
441
441
|
|
|
442
442
|
```ts
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
contentfulDocumentsRest,
|
|
446
|
-
} from '@se-studio/contentful-rest-api';
|
|
447
|
-
import type { IBaseDocument } from '@se-studio/core-data-types';
|
|
443
|
+
// app/download/[filename]/route.ts
|
|
444
|
+
import { createNamedDownloadHandler } from '@se-studio/contentful-rest-api/server';
|
|
448
445
|
|
|
449
|
-
|
|
450
|
-
|
|
446
|
+
export const GET = createNamedDownloadHandler({
|
|
447
|
+
getConfig: () => getContentfulConfig(),
|
|
448
|
+
baseUrl: 'https://www.example.com',
|
|
449
|
+
});
|
|
451
450
|
|
|
452
|
-
|
|
453
|
-
|
|
451
|
+
// converter-context.ts — only when that route is mounted
|
|
452
|
+
namedDownload: (filename) => `/download/${encodeURIComponent(filename)}`,
|
|
454
453
|
```
|
|
455
454
|
|
|
455
|
+
When `namedDownload` is omitted, a download link still uses `/download/{assetId}/{filename}`.
|
|
456
|
+
One matching asset returns the file. Zero matches, or two different assets with the same filename, is 404.
|
|
457
|
+
|
|
456
458
|
## Important Constraints
|
|
457
459
|
|
|
458
460
|
- Always supply `spaceId`, `accessToken`, and `environment`.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@se-studio/contentful-rest-api",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Type-safe Contentful REST API client with caching and rate limiting for Next.js applications",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
61
|
"@contentful/rich-text-types": "^17.2.7",
|
|
62
|
-
"@se-studio/core-data-types": "
|
|
62
|
+
"@se-studio/core-data-types": "2.0.0",
|
|
63
63
|
"contentful": "^11.12.10",
|
|
64
64
|
"fflate": "^0.8.3",
|
|
65
65
|
"server-only": "0.0.1"
|
package/dist/api/document.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { IBaseDocument } from '@se-studio/core-data-types';
|
|
2
|
-
import type { BaseConverterContext } from '../converters/helpers';
|
|
3
|
-
import type { CmsResponse, ContentfulConfig, FetchOptions } from '../types';
|
|
4
|
-
/**
|
|
5
|
-
* Fetches all document entries from Contentful (fund/compliance files).
|
|
6
|
-
*/
|
|
7
|
-
export declare function contentfulDocumentsRest(context: BaseConverterContext, config: ContentfulConfig, options: FetchOptions): Promise<CmsResponse<IBaseDocument[] | null>>;
|
|
8
|
-
//# sourceMappingURL=document.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/api/document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAIhE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAGlE,OAAO,KAAK,EAAY,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAStF;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,CAAC,CA8F9C"}
|
package/dist/api/document.js
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { getContentfulClient } from '../client.js';
|
|
2
|
-
import { enrichAllAssets } from '../converters/enrichAssets.js';
|
|
3
|
-
import { getCacheTags } from '../revalidation/index.js';
|
|
4
|
-
import { withCmsQueryContext } from '../telemetry/queryContext.js';
|
|
5
|
-
import { withRetry } from '../utils/index.js';
|
|
6
|
-
import { convertAllAssets, convertAllIncludes, convertAllRawAssets, createFullConverterContext, } from './helpers.js';
|
|
7
|
-
/**
|
|
8
|
-
* Fetches all document entries from Contentful (fund/compliance files).
|
|
9
|
-
*/
|
|
10
|
-
export async function contentfulDocumentsRest(context, config, options) {
|
|
11
|
-
const client = getContentfulClient(config, options.preview);
|
|
12
|
-
const documentCacheTags = getCacheTags('document', undefined, options.preview);
|
|
13
|
-
const requestOptions = {
|
|
14
|
-
...options,
|
|
15
|
-
next: {
|
|
16
|
-
...options?.next,
|
|
17
|
-
tags: documentCacheTags,
|
|
18
|
-
},
|
|
19
|
-
};
|
|
20
|
-
const allDocuments = [];
|
|
21
|
-
const errors = [];
|
|
22
|
-
const pageSize = 100;
|
|
23
|
-
let skip = 0;
|
|
24
|
-
let hasMore = true;
|
|
25
|
-
const fetchFn = async () => {
|
|
26
|
-
while (hasMore) {
|
|
27
|
-
try {
|
|
28
|
-
const page = Math.floor(skip / pageSize) + 1;
|
|
29
|
-
const operation = page > 1 ? `Reading all documents (page ${page})` : 'Reading all documents';
|
|
30
|
-
const documentResponse = await withCmsQueryContext({ operation }, () => client.getEntries({
|
|
31
|
-
content_type: 'document',
|
|
32
|
-
include: 2,
|
|
33
|
-
locale: options?.locale,
|
|
34
|
-
limit: pageSize,
|
|
35
|
-
skip,
|
|
36
|
-
order: ['-fields.publishDate', 'fields.name'],
|
|
37
|
-
}, requestOptions));
|
|
38
|
-
if (!documentResponse.items.length) {
|
|
39
|
-
hasMore = false;
|
|
40
|
-
break;
|
|
41
|
-
}
|
|
42
|
-
const includes = convertAllIncludes(documentResponse);
|
|
43
|
-
const assets = convertAllAssets(documentResponse, context, options);
|
|
44
|
-
const rawAssets = convertAllRawAssets(documentResponse);
|
|
45
|
-
const externalVideoEmbeds = await enrichAllAssets(assets, includes, options);
|
|
46
|
-
const fullContext = createFullConverterContext(context, includes, assets, rawAssets, externalVideoEmbeds, options);
|
|
47
|
-
for (const documentEntry of documentResponse.items) {
|
|
48
|
-
if (!documentEntry.fields)
|
|
49
|
-
continue;
|
|
50
|
-
try {
|
|
51
|
-
const converted = context.documentResolver(fullContext, documentEntry);
|
|
52
|
-
allDocuments.push(converted);
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
const entryId = documentEntry.sys.id;
|
|
56
|
-
const entryType = documentEntry.sys.contentType?.sys?.id;
|
|
57
|
-
const errorMessage = error instanceof Error ? error.message : 'Unknown conversion error';
|
|
58
|
-
errors.push({
|
|
59
|
-
entryId,
|
|
60
|
-
entryType,
|
|
61
|
-
message: errorMessage,
|
|
62
|
-
error,
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
errors.push({
|
|
69
|
-
entryId: 'unknown',
|
|
70
|
-
entryType: 'document',
|
|
71
|
-
message: error instanceof Error ? error.message : 'Unknown conversion error',
|
|
72
|
-
error,
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
skip += pageSize;
|
|
76
|
-
}
|
|
77
|
-
return { data: allDocuments, errors };
|
|
78
|
-
};
|
|
79
|
-
if (options.retry) {
|
|
80
|
-
return await withRetry(fetchFn, options.retry);
|
|
81
|
-
}
|
|
82
|
-
return await fetchFn();
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=document.js.map
|
package/dist/api/document.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/api/document.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import type { EntryFieldTypes } from 'contentful';
|
|
2
|
-
/**
|
|
3
|
-
* Contentful skeleton for the shared **document** content type
|
|
4
|
-
* (fund/compliance PDFs — not full Article machinery).
|
|
5
|
-
*
|
|
6
|
-
* Public file URLs must be built via `urlCalculators.download` / site proxy,
|
|
7
|
-
* never raw CDN paths in published HTML.
|
|
8
|
-
*/
|
|
9
|
-
interface BaseDocumentFields {
|
|
10
|
-
/**
|
|
11
|
-
* Field type definition for field 'name' (Name)
|
|
12
|
-
* @name Name
|
|
13
|
-
* @localized false
|
|
14
|
-
*/
|
|
15
|
-
name: EntryFieldTypes.Symbol;
|
|
16
|
-
/**
|
|
17
|
-
* Field type definition for field 'slug' (Slug)
|
|
18
|
-
* @name slug
|
|
19
|
-
* @localized false
|
|
20
|
-
*/
|
|
21
|
-
slug: EntryFieldTypes.Symbol;
|
|
22
|
-
/**
|
|
23
|
-
* Field type definition for field 'description' (Description)
|
|
24
|
-
* @name Description
|
|
25
|
-
* @localized false
|
|
26
|
-
*/
|
|
27
|
-
description?: EntryFieldTypes.Text;
|
|
28
|
-
/**
|
|
29
|
-
* Field type definition for field 'title' (Title)
|
|
30
|
-
* @name Title
|
|
31
|
-
* @localized false
|
|
32
|
-
*/
|
|
33
|
-
title?: EntryFieldTypes.Symbol;
|
|
34
|
-
/**
|
|
35
|
-
* Field type definition for field 'documentType' (Document type)
|
|
36
|
-
* @name Document type
|
|
37
|
-
* @localized false
|
|
38
|
-
*/
|
|
39
|
-
documentType?: EntryFieldTypes.Symbol<'Compliance' | 'Marketing' | 'Fact Sheet' | 'Report' | 'Prospectus' | 'Holdings' | 'Regulatory' | 'Other'>;
|
|
40
|
-
/**
|
|
41
|
-
* Field type definition for field 'file' (File)
|
|
42
|
-
* @name File
|
|
43
|
-
* @localized false
|
|
44
|
-
*/
|
|
45
|
-
file?: EntryFieldTypes.AssetLink;
|
|
46
|
-
/**
|
|
47
|
-
* Field type definition for field 'publishDate' (Publish date)
|
|
48
|
-
* @name Publish date
|
|
49
|
-
* @localized false
|
|
50
|
-
*/
|
|
51
|
-
publishDate?: EntryFieldTypes.Date;
|
|
52
|
-
/**
|
|
53
|
-
* Field type definition for field 'seoTitle' (SEO title)
|
|
54
|
-
* @name SEO title
|
|
55
|
-
* @localized false
|
|
56
|
-
*/
|
|
57
|
-
seoTitle?: EntryFieldTypes.Symbol;
|
|
58
|
-
/**
|
|
59
|
-
* Field type definition for field 'seoDescription' (SEO description)
|
|
60
|
-
* @name SEO description
|
|
61
|
-
* @localized false
|
|
62
|
-
*/
|
|
63
|
-
seoDescription?: EntryFieldTypes.Text;
|
|
64
|
-
}
|
|
65
|
-
export type BaseDocumentSkeleton = {
|
|
66
|
-
contentTypeId: 'document';
|
|
67
|
-
fields: BaseDocumentFields;
|
|
68
|
-
};
|
|
69
|
-
export {};
|
|
70
|
-
//# sourceMappingURL=baseDocument.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"baseDocument.d.ts","sourceRoot":"","sources":["../../src/baseTypes/baseDocument.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;;;;;GAMG;AACH,UAAU,kBAAkB;IAC1B;;;;OAIG;IACH,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC;IAC7B;;;;OAIG;IACH,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC;IAC7B;;;;OAIG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC;IACnC;;;;OAIG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC;IAC/B;;;;OAIG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC,MAAM,CACjC,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,OAAO,CACV,CAAC;IACF;;;;OAIG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC;IACjC;;;;OAIG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC;IAClC;;;;OAIG;IACH,cAAc,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,UAAU,CAAC;IAC1B,MAAM,EAAE,kBAAkB,CAAC;CAC5B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"baseDocument.js","sourceRoot":"","sources":["../../src/baseTypes/baseDocument.ts"],"names":[],"mappings":""}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { IBaseDocument } from '@se-studio/core-data-types';
|
|
2
|
-
import type { Entry } from 'contentful';
|
|
3
|
-
import type { DefaultChainModifier } from '../api';
|
|
4
|
-
import type { BaseDocumentSkeleton } from '../baseTypes/baseDocument';
|
|
5
|
-
import { type ConverterContext } from './helpers';
|
|
6
|
-
/**
|
|
7
|
-
* Converts a Contentful document entry to {@link IBaseDocument}.
|
|
8
|
-
*
|
|
9
|
-
* Public file links always go through `urlCalculators.download` (site proxy).
|
|
10
|
-
* Optional hop-page href uses `urlCalculators.document(slug)` when provided;
|
|
11
|
-
* otherwise falls back to the file proxy href, then `#`.
|
|
12
|
-
*/
|
|
13
|
-
export declare function baseDocumentConverter(context: ConverterContext, entry: Entry<BaseDocumentSkeleton, DefaultChainModifier, string>): IBaseDocument;
|
|
14
|
-
//# sourceMappingURL=document.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/converters/document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAwB,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EACL,KAAK,gBAAgB,EAItB,MAAM,WAAW,CAAC;AAmBnB;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC/D,aAAa,CAwCf"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { lookupDownloadAsset, makeContentfulDescription, makeContentfulTitle, } from './helpers.js';
|
|
2
|
-
const DOCUMENT_TYPES = new Set([
|
|
3
|
-
'Compliance',
|
|
4
|
-
'Marketing',
|
|
5
|
-
'Fact Sheet',
|
|
6
|
-
'Report',
|
|
7
|
-
'Prospectus',
|
|
8
|
-
'Holdings',
|
|
9
|
-
'Regulatory',
|
|
10
|
-
'Other',
|
|
11
|
-
]);
|
|
12
|
-
function normalizeDocumentType(raw) {
|
|
13
|
-
if (typeof raw !== 'string' || raw.length === 0)
|
|
14
|
-
return null;
|
|
15
|
-
if (DOCUMENT_TYPES.has(raw))
|
|
16
|
-
return raw;
|
|
17
|
-
return raw;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Converts a Contentful document entry to {@link IBaseDocument}.
|
|
21
|
-
*
|
|
22
|
-
* Public file links always go through `urlCalculators.download` (site proxy).
|
|
23
|
-
* Optional hop-page href uses `urlCalculators.document(slug)` when provided;
|
|
24
|
-
* otherwise falls back to the file proxy href, then `#`.
|
|
25
|
-
*/
|
|
26
|
-
export function baseDocumentConverter(context, entry) {
|
|
27
|
-
const { sys: { id, contentType }, fields, } = entry;
|
|
28
|
-
if (contentType.sys.id !== 'document') {
|
|
29
|
-
throw new Error(`Invalid content type: expected "document", got "${contentType.sys.id}"`);
|
|
30
|
-
}
|
|
31
|
-
const { name, slug, description, title, documentType: rawDocumentType, file: fileLink, publishDate, ...rest } = fields;
|
|
32
|
-
const file = lookupDownloadAsset(context, fileLink) ?? null;
|
|
33
|
-
const displayTitle = makeContentfulTitle(title ?? name, id);
|
|
34
|
-
const hopHref = context.urlCalculators.document?.(slug);
|
|
35
|
-
const href = hopHref ?? file?.href ?? '#';
|
|
36
|
-
return {
|
|
37
|
-
type: 'Document',
|
|
38
|
-
id,
|
|
39
|
-
slug,
|
|
40
|
-
name: name ?? displayTitle,
|
|
41
|
-
title: displayTitle,
|
|
42
|
-
description: makeContentfulDescription(description, id),
|
|
43
|
-
href,
|
|
44
|
-
contentCount: 0,
|
|
45
|
-
documentType: normalizeDocumentType(rawDocumentType),
|
|
46
|
-
file,
|
|
47
|
-
publishDate: publishDate ?? null,
|
|
48
|
-
...rest,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=document.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/converters/document.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAEnB,MAAM,cAAc,GAAG,IAAI,GAAG,CAAS;IACrC,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,QAAQ;IACR,YAAY;IACZ,UAAU;IACV,YAAY;IACZ,OAAO;CACR,CAAC,CAAC;AAEH,SAAS,qBAAqB,CAAC,GAAY;IACzC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,GAA2B,CAAC;IAChE,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAyB,EACzB,KAAgE;IAEhE,MAAM,EACJ,GAAG,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,EACxB,MAAM,GACP,GAAG,KAAK,CAAC;IAEV,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,mDAAmD,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,EACJ,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,KAAK,EACL,YAAY,EAAE,eAAe,EAC7B,IAAI,EAAE,QAAQ,EACd,WAAW,EACX,GAAG,IAAI,EACR,GAAG,MAAM,CAAC;IAEX,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC;IAC5D,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,OAAO,IAAI,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC;IAE1C,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,EAAE;QACF,IAAI;QACJ,IAAI,EAAE,IAAI,IAAI,YAAY;QAC1B,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,yBAAyB,CAAC,WAAW,EAAE,EAAE,CAAC;QACvD,IAAI;QACJ,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,qBAAqB,CAAC,eAAe,CAAC;QACpD,IAAI;QACJ,WAAW,EAAE,WAAW,IAAI,IAAI;QAChC,GAAG,IAAI;KACR,CAAC;AACJ,CAAC"}
|