@se-studio/contentful-rest-api 2.0.5 → 2.0.6

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # @se-studio/contentful-rest-api
2
2
 
3
+ ## 2.0.6
4
+
5
+ ### Patch Changes
6
+
7
+ - 15ff24b: A filename-only download route also serves an article `download` file. When a site sets `namedDownload`, that article file's public URL and the sitemap use the same path.
8
+
3
9
  ## 2.0.5
4
10
 
5
11
  ### Patch Changes
@@ -20,8 +20,8 @@ export type NamedDownloadResolution = {
20
20
  */
21
21
  export declare function resolveNamedDownload(filename: string, files: readonly NamedDownloadFile[]): NamedDownloadResolution;
22
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.
23
+ * Loads link `downloadAsset` and article `download` entries and returns the one
24
+ * asset whose filename matches. Does not query the asset library by filename.
25
25
  */
26
26
  export declare function findNamedDownloadAsset(config: ContentfulConfig, filename: string, options?: FetchOptions): Promise<NamedDownloadResolution>;
27
27
  //# sourceMappingURL=named-download.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"named-download.d.ts","sourceRoot":"","sources":["../../src/api/named-download.ts"],"names":[],"mappings":"AAIA,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;AA4ED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,YAAiC,GACzC,OAAO,CAAC,uBAAuB,CAAC,CA4BlC"}
@@ -1,4 +1,5 @@
1
1
  import { getContentfulClient } from '../client.js';
2
+ import { ArticleTag } from '../revalidation/tags.js';
2
3
  import { getCacheTags } from '../revalidation/utils.js';
3
4
  import { withCmsQueryContext } from '../telemetry/queryContext.js';
4
5
  /**
@@ -41,7 +42,7 @@ function assetIdFromDownloadField(value) {
41
42
  return sys.id;
42
43
  return assetIdFromDownloadField(record['en-US']);
43
44
  }
44
- function filesFromPage(page) {
45
+ function filesFromPage(page, field) {
45
46
  const assets = new Map();
46
47
  for (const asset of page.includes?.Asset ?? []) {
47
48
  const assetId = asset.sys?.id;
@@ -58,7 +59,7 @@ function filesFromPage(page) {
58
59
  }
59
60
  const files = [];
60
61
  for (const item of page.items ?? []) {
61
- const assetId = assetIdFromDownloadField(item.fields?.downloadAsset);
62
+ const assetId = assetIdFromDownloadField(item.fields?.[field]);
62
63
  if (!assetId)
63
64
  continue;
64
65
  const file = assets.get(assetId);
@@ -68,26 +69,51 @@ function filesFromPage(page) {
68
69
  return files;
69
70
  }
70
71
  /**
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.
72
+ * Loads link `downloadAsset` and article `download` entries and returns the one
73
+ * asset whose filename matches. Does not query the asset library by filename.
73
74
  */
74
75
  export async function findNamedDownloadAsset(config, filename, options = { preview: false }) {
75
76
  const preview = options.preview;
76
77
  const client = getContentfulClient(config, preview);
77
- const tags = [
78
- ...getCacheTags('link', undefined, preview),
79
- ...getCacheTags('asset', undefined, preview),
78
+ const assetTags = getCacheTags('asset', undefined, preview);
79
+ // Article pages include the menu, so getCacheTags('article') also returns
80
+ // navigation tags. This lookup only needs the article collection tag.
81
+ const articleTags = preview ? getCacheTags('article', undefined, true) : [ArticleTag];
82
+ const queries = [
83
+ {
84
+ contentType: 'link',
85
+ field: 'downloadAsset',
86
+ operation: 'Reading download links',
87
+ tags: [...getCacheTags('link', undefined, preview), ...assetTags],
88
+ },
89
+ {
90
+ contentType: 'article',
91
+ field: 'download',
92
+ operation: 'Reading article downloads',
93
+ tags: [...articleTags, ...assetTags],
94
+ },
80
95
  ];
96
+ const files = [];
97
+ for (const query of queries) {
98
+ files.push(...(await loadDownloadFiles(client, query, options)));
99
+ }
100
+ return resolveNamedDownload(filename, files);
101
+ }
102
+ async function loadDownloadFiles(client, query, options) {
81
103
  const pageSize = 100;
82
104
  let skip = 0;
83
105
  const files = [];
106
+ const existsFilter = `fields.${query.field}[exists]`;
84
107
  for (;;) {
85
108
  const pageNumber = Math.floor(skip / pageSize) + 1;
86
109
  const page = await withCmsQueryContext({
87
- operation: pageNumber > 1 ? `Reading download links (page ${pageNumber})` : 'Reading download links',
110
+ operation: pageNumber > 1 ? `${query.operation} (page ${pageNumber})` : query.operation,
88
111
  }, () => client.getEntries({
89
- content_type: 'link',
90
- 'fields.downloadAsset[exists]': true,
112
+ content_type: query.contentType,
113
+ [existsFilter]: true,
114
+ // A full article include can exceed Contentful's response limit and
115
+ // fail every filename download. Only the asset link is required.
116
+ select: `sys,fields.${query.field}`,
91
117
  include: 1,
92
118
  locale: options.locale ?? 'en-US',
93
119
  limit: pageSize,
@@ -96,16 +122,16 @@ export async function findNamedDownloadAsset(config, filename, options = { previ
96
122
  ...options,
97
123
  next: {
98
124
  ...options.next,
99
- tags: [...tags, ...(options.next?.tags ?? [])],
125
+ tags: [...query.tags, ...(options.next?.tags ?? [])],
100
126
  revalidate: options.next?.revalidate,
101
127
  },
102
128
  }));
103
- files.push(...filesFromPage(page));
129
+ files.push(...filesFromPage(page, query.field));
104
130
  const total = typeof page.total === 'number' ? page.total : files.length;
105
131
  skip += page.items?.length ?? 0;
106
132
  if (skip >= total || (page.items?.length ?? 0) === 0)
107
133
  break;
108
134
  }
109
- return resolveNamedDownload(filename, files);
135
+ return files;
110
136
  }
111
137
  //# sourceMappingURL=named-download.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"named-download.js","sourceRoot":"","sources":["../../src/api/named-download.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"named-download.js","sourceRoot":"","sources":["../../src/api/named-download.ts"],"names":[],"mappings":"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"}
@@ -78,7 +78,7 @@ export interface NamedDownloadRouteParams {
78
78
  }
79
79
  /**
80
80
  * GET handler for a filename-only download.
81
- * Serves a file only when a link entry's download asset has that filename.
81
+ * Serves a file only when a link `downloadAsset` or an article `download` has that filename.
82
82
  * The canonical path is `/download/{filename}` unless `namedPath` is set.
83
83
  */
84
84
  export declare function createNamedDownloadHandler(config: DownloadHandlerConfig): (request: NextRequest, { params }: NamedDownloadRouteParams) => Promise<Response>;
@@ -127,7 +127,7 @@ export function createDownloadHandler(config) {
127
127
  }
128
128
  /**
129
129
  * GET handler for a filename-only download.
130
- * Serves a file only when a link entry's download asset has that filename.
130
+ * Serves a file only when a link `downloadAsset` or an article `download` has that filename.
131
131
  * The canonical path is `/download/{filename}` unless `namedPath` is set.
132
132
  */
133
133
  export function createNamedDownloadHandler(config) {
@@ -11,20 +11,6 @@ export type IContentfulArticle = IBaseArticle & {
11
11
  export type IContentfulArticleLink = IArticleLink & {
12
12
  summary?: IContentfulRichText | null;
13
13
  };
14
- /**
15
- * Base converter for Contentful Article entries to IArticle type
16
- *
17
- * This is a minimal implementation that can be extended using
18
- * the functional composition pattern.
19
- *
20
- * @param entry - Contentful entry to convert
21
- * @returns IArticle object
22
- *
23
- * @example
24
- * ```ts
25
- * const article = baseArticleConverter(contentfulEntry);
26
- * ```
27
- */
28
14
  export declare function baseArticleConverter(context: ConverterContext, entry: Entry<BaseArticleSkeleton, DefaultChainModifier, string>): IContentfulArticle;
29
15
  export declare function baseArticleLinkConverter(context: ConverterContext, entry: Entry<BaseArticleSkeleton, DefaultChainModifier, string>): IContentfulArticleLink;
30
16
  export declare function baseArticleTypeLinkConverter(context: ConverterContext, entry: Entry<BaseArticleTypeSkeleton, DefaultChainModifier, string>): IArticleTypeLink;
@@ -1 +1 @@
1
- {"version":3,"file":"article.d.ts","sourceRoot":"","sources":["../../src/converters/article.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAQtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,KAAK,EAAkB,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAG1E,OAAO,EAEL,KAAK,gBAAgB,EAUtB,MAAM,WAAW,CAAC;AAgBnB,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG;IAC9C,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG;IAClD,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACtC,CAAC;AAyCF;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC9D,kBAAkB,CA8MpB;AAkBD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC9D,sBAAsB,CA8ExB;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAClE,gBAAgB,CAwBlB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,CAAC,EACnE,eAAe,CAAC,EAAE,KAAK,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC5E,gBAAgB,CA2HlB"}
1
+ {"version":3,"file":"article.d.ts","sourceRoot":"","sources":["../../src/converters/article.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAStB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,KAAK,EAAkB,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAG1E,OAAO,EAEL,KAAK,gBAAgB,EAUtB,MAAM,WAAW,CAAC;AAgBnB,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG;IAC9C,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG;IAClD,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACtC,CAAC;AAmEF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC9D,kBAAkB,CA8MpB;AAkBD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC9D,sBAAsB,CA8ExB;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAClE,gBAAgB,CAwBlB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,KAAK,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,CAAC,EACnE,eAAe,CAAC,EAAE,KAAK,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,CAAC,GAC5E,gBAAgB,CA2HlB"}
@@ -49,6 +49,14 @@ function resolveArticleTemplateHierarchy(context, articleTypeLink, directTemplat
49
49
  * const article = baseArticleConverter(contentfulEntry);
50
50
  * ```
51
51
  */
52
+ /** Public file URL for an article `download` asset. Other assets keep the id path. */
53
+ function articleDownloadHref(context, asset) {
54
+ const download = lookupDownloadAsset(context, asset);
55
+ const namedDownload = context.urlCalculators.namedDownload;
56
+ if (!download || !namedDownload)
57
+ return download;
58
+ return { ...download, href: namedDownload(download.filename) };
59
+ }
52
60
  export function baseArticleConverter(context, entry) {
53
61
  const { sys, fields } = entry;
54
62
  const { id } = sys;
@@ -153,7 +161,7 @@ export function baseArticleConverter(context, entry) {
153
161
  ? resolveLink(context, id, authorLink)
154
162
  : undefined;
155
163
  const { authors, author } = normalizeResolvedArticleAuthors(resolvedAuthors, resolvedLegacyAuthor);
156
- const download = lookupDownloadAsset(context, fieldsDownload);
164
+ const download = articleDownloadHref(context, fieldsDownload);
157
165
  const href = context.urlCalculators.article(articleTypeLink.slug, slug, primaryTag?.slug);
158
166
  const article = {
159
167
  type: 'Article',
@@ -219,7 +227,7 @@ export function baseArticleLinkConverter(context, entry) {
219
227
  ? resolveLink(context, sys.id, fieldsAuthor)
220
228
  : undefined;
221
229
  const { authors, author } = normalizeResolvedArticleAuthors(resolvedAuthors, resolvedLegacyAuthor);
222
- const download = lookupDownloadAsset(context, fieldsDownload);
230
+ const download = articleDownloadHref(context, fieldsDownload);
223
231
  const visuals = fieldsVisuals
224
232
  ?.map((link) => lookupMediaEntry(context, link))
225
233
  .filter((v) => v != null);
@@ -1 +1 @@
1
- {"version":3,"file":"article.js","sourceRoot":"","sources":["../../src/converters/article.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"article.js","sourceRoot":"","sources":["../../src/converters/article.ts"],"names":[],"mappings":"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"}
package/docs/llms.md CHANGED
@@ -438,7 +438,7 @@ export const GET = createDownloadHandler({
438
438
 
439
439
  ## Download link by filename
440
440
 
441
- Opt-in. A `link` entry with `downloadAsset` is the allowlist. The route does not search the asset library.
441
+ Opt-in. A `link` entry with `downloadAsset`, or an `article` entry with `download`, is the allowlist. The route does not search the asset library.
442
442
 
443
443
  ```ts
444
444
  // app/download/[filename]/route.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@se-studio/contentful-rest-api",
3
- "version": "2.0.5",
3
+ "version": "2.0.6",
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",