@gilhrpenner/convex-files-control 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +243 -207
  2. package/dist/client/http.d.ts +4 -4
  3. package/dist/client/http.d.ts.map +1 -1
  4. package/dist/client/http.js +39 -10
  5. package/dist/client/http.js.map +1 -1
  6. package/dist/client/index.d.ts +66 -11
  7. package/dist/client/index.d.ts.map +1 -1
  8. package/dist/client/index.js +136 -41
  9. package/dist/client/index.js.map +1 -1
  10. package/dist/component/_generated/component.d.ts +2 -0
  11. package/dist/component/_generated/component.d.ts.map +1 -1
  12. package/dist/component/download.d.ts +2 -0
  13. package/dist/component/download.d.ts.map +1 -1
  14. package/dist/component/download.js +33 -12
  15. package/dist/component/download.js.map +1 -1
  16. package/dist/component/schema.d.ts +3 -1
  17. package/dist/component/schema.d.ts.map +1 -1
  18. package/dist/component/schema.js +1 -0
  19. package/dist/component/schema.js.map +1 -1
  20. package/dist/react/index.d.ts +2 -2
  21. package/dist/react/index.d.ts.map +1 -1
  22. package/dist/react/index.js +10 -6
  23. package/dist/react/index.js.map +1 -1
  24. package/package.json +4 -3
  25. package/src/__tests__/client-extra.test.ts +157 -4
  26. package/src/__tests__/client.test.ts +572 -46
  27. package/src/__tests__/download-core.test.ts +70 -0
  28. package/src/__tests__/entrypoints.test.ts +13 -0
  29. package/src/__tests__/http.test.ts +34 -0
  30. package/src/__tests__/react.test.ts +10 -16
  31. package/src/__tests__/shared.test.ts +0 -5
  32. package/src/__tests__/transfer.test.ts +103 -0
  33. package/src/client/http.ts +51 -10
  34. package/src/client/index.ts +242 -51
  35. package/src/component/_generated/component.ts +2 -0
  36. package/src/component/download.ts +35 -14
  37. package/src/component/schema.ts +1 -0
  38. package/src/react/index.ts +11 -10
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/client/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/client/http.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { type ApiFromModules, type GenericActionCtx, type GenericDataModel, type
2
2
  import type { ComponentApi } from "../component/_generated/component.js";
3
3
  import type { Id } from "../component/_generated/dataModel.js";
4
4
  import { uploadFormFields } from "../shared";
5
- import type { R2Config, StorageProvider } from "../shared/types";
5
+ import type { R2Config, StorageProvider, UploadResult } from "../shared/types";
6
6
  export { uploadFormFields };
7
7
  export type { StorageProvider, R2Config } from "../shared/types";
8
8
  export type R2ConfigInput = {
@@ -14,10 +14,8 @@ export type R2ConfigInput = {
14
14
  export interface RegisterRoutesOptions {
15
15
  /** Prefix for HTTP routes, defaults to "/files". */
16
16
  pathPrefix?: string;
17
- /** Require accessKey query param for downloads. */
17
+ /** Require accessKey for downloads (via checkDownloadRequest hook). */
18
18
  requireAccessKey?: boolean;
19
- /** Query parameter name for accessKey. */
20
- accessKeyQueryParam?: string;
21
19
  /**
22
20
  * Query parameter name for password. Note: query params can leak into logs or
23
21
  * caches; prefer headers or POST flows when possible.
@@ -32,10 +30,40 @@ export interface RegisterRoutesOptions {
32
30
  /** R2 credentials for server-side upload/download/cleanup. */
33
31
  r2?: R2ConfigInput;
34
32
  /**
35
- * Optional hook for rate limiting or request validation. Return a Response to
36
- * short-circuit the request (e.g. 429).
33
+ * Required hook for upload authentication when enableUploadRoute is true.
34
+ * Return { accessKeys } to proceed with the upload, or a Response to reject.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * checkUploadRequest: async (ctx) => {
39
+ * const userId = await getAuthUserId(ctx);
40
+ * if (!userId) {
41
+ * return new Response(JSON.stringify({ error: "Unauthorized" }), {
42
+ * status: 401,
43
+ * headers: { "Content-Type": "application/json" },
44
+ * });
45
+ * }
46
+ * return { accessKeys: [userId] };
47
+ * }
48
+ * ```
37
49
  */
38
- checkDownloadRequest?: (ctx: RunMutationCtx, args: DownloadRequestArgs) => void | Response | Promise<void | Response>;
50
+ checkUploadRequest?: (ctx: RunHttpActionCtx, args: UploadRequestArgs) => UploadRequestResult | Promise<UploadRequestResult>;
51
+ /**
52
+ * Optional hook called after a successful upload + finalizeUpload.
53
+ * Return a Response to override the default JSON response.
54
+ */
55
+ onUploadComplete?: (ctx: RunHttpActionCtx, args: UploadCompleteArgs) => UploadCompleteResult | Promise<UploadCompleteResult>;
56
+ /**
57
+ * Optional hook for rate limiting, request validation, or authentication.
58
+ * Return a Response to short-circuit the request (e.g. 401, 429).
59
+ * Return { accessKey: string } to set the accessKey for non-public links.
60
+ * Return void to proceed without setting an accessKey.
61
+ */
62
+ checkDownloadRequest?: (ctx: RunHttpActionCtx, args: DownloadRequestArgs) => void | Response | {
63
+ accessKey: string;
64
+ } | Promise<void | Response | {
65
+ accessKey: string;
66
+ }>;
39
67
  }
40
68
  /**
41
69
  * Register HTTP routes for upload and download endpoints.
@@ -68,7 +96,6 @@ export interface BuildDownloadUrlOptions {
68
96
  baseUrl: string;
69
97
  downloadToken: string;
70
98
  pathPrefix?: string;
71
- accessKey?: string;
72
99
  filename?: string;
73
100
  }
74
101
  /**
@@ -79,18 +106,18 @@ export interface BuildDownloadUrlOptions {
79
106
  *
80
107
  * Note: Avoid placing passwords in query params; they can leak into logs or
81
108
  * caches. Prefer headers or POST flows when possible.
109
+ * Access keys are not included in the URL; enforce them via checkDownloadRequest.
82
110
  *
83
111
  * @example
84
112
  * ```ts
85
113
  * const url = buildDownloadUrl({
86
114
  * baseUrl: "https://your-app.convex.site",
87
115
  * downloadToken,
88
- * accessKey: "user_123",
89
116
  * filename: "report.pdf",
90
117
  * });
91
118
  * ```
92
119
  */
93
- export declare function buildDownloadUrl({ baseUrl, downloadToken, pathPrefix, accessKey, filename, }: BuildDownloadUrlOptions): string;
120
+ export declare function buildDownloadUrl({ baseUrl, downloadToken, pathPrefix, filename, }: BuildDownloadUrlOptions): string;
94
121
  export type ClientApi = ApiFromModules<{
95
122
  client: ReturnType<FilesControl["clientApi"]>;
96
123
  }>["client"];
@@ -103,6 +130,14 @@ type RunMutationCtx = {
103
130
  type RunActionCtx = {
104
131
  runAction: GenericActionCtx<GenericDataModel>["runAction"];
105
132
  };
133
+ /**
134
+ * Context type for HTTP action hooks. Includes auth for authentication
135
+ * and runMutation for calling component mutations.
136
+ */
137
+ export type RunHttpActionCtx = {
138
+ auth: GenericActionCtx<GenericDataModel>["auth"];
139
+ runMutation: GenericActionCtx<GenericDataModel>["runMutation"];
140
+ };
106
141
  type FinalizeUploadArgs = {
107
142
  uploadToken: Id<"pendingUploads">;
108
143
  storageId: string;
@@ -137,7 +172,25 @@ type DownloadConsumeArgs = {
137
172
  password?: string;
138
173
  r2Config?: R2Config;
139
174
  };
140
- type DownloadRequestArgs = {
175
+ export type UploadRequestArgs = {
176
+ file: Blob;
177
+ expiresAt?: number;
178
+ provider: StorageProvider;
179
+ request: Request;
180
+ };
181
+ export type UploadRequestResult = {
182
+ accessKeys: string[];
183
+ } | Response;
184
+ export type UploadCompleteArgs = {
185
+ file: Blob;
186
+ provider: StorageProvider;
187
+ accessKeys: string[];
188
+ expiresAt: number | null;
189
+ request: Request;
190
+ result: UploadResult;
191
+ };
192
+ export type UploadCompleteResult = void | Response;
193
+ export type DownloadRequestArgs = {
141
194
  downloadToken: string;
142
195
  accessKey?: string;
143
196
  password?: string;
@@ -239,6 +292,7 @@ export declare class FilesControl {
239
292
  downloadToken: string;
240
293
  expiresAt: null | number;
241
294
  maxUses: null | number;
295
+ shareableLink: boolean;
242
296
  storageId: string;
243
297
  }>;
244
298
  consumeDownloadGrantForUrl(ctx: RunMutationCtx, args: DownloadConsumeArgs): Promise<{
@@ -416,6 +470,7 @@ export declare class FilesControl {
416
470
  downloadToken: Id<"downloadGrants">;
417
471
  expiresAt: null | number;
418
472
  maxUses: null | number;
473
+ shareableLink: boolean;
419
474
  }>>;
420
475
  consumeDownloadGrantForUrl: import("convex/server").RegisteredMutation<"public", {
421
476
  accessKey?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { v } from "convex/values";
3
3
  import { downloadConsumeStatusValidator, downloadGrantSummaryValidator, fileMetadataInputValidator, fileMetadataValidator, fileSummaryValidator, } from "../component/validators";
4
4
  import { storageProviderValidator } from "../component/storageProvider";
5
5
  import { DEFAULT_PATH_PREFIX, buildEndpointUrl, isStorageProvider, normalizeBaseUrl, normalizePathPrefix, uploadFormFields, } from "../shared";
6
- import { corsResponse, jsonError, jsonSuccess, parseJsonStringArray, parseOptionalTimestamp, sanitizeFilename, statusCodeForDownloadError, corsHeaders, } from "./http";
6
+ import { corsResponse, jsonError, jsonSuccess, parseOptionalTimestamp, sanitizeFilename, statusCodeForDownloadError, corsHeaders, } from "./http";
7
7
  export { uploadFormFields };
8
8
  const R2_ENV_VARS = {
9
9
  accountId: "R2_ACCOUNT_ID",
@@ -41,6 +41,49 @@ const requireR2Config = (input, context) => {
41
41
  const missingText = missing.length > 0 ? ` Missing: ${missing.join(", ")}` : "";
42
42
  throw new Error(`R2 configuration is missing required fields${suffix}.${missingText}`);
43
43
  };
44
+ const normalizeOptionalHeaderName = (value) => {
45
+ const trimmed = value?.trim();
46
+ return trimmed ? trimmed : undefined;
47
+ };
48
+ const getOrigin = (request) => request.headers.get("Origin") ?? undefined;
49
+ const withCors = (response, origin, allowHeaders) => {
50
+ const headers = new Headers(response.headers);
51
+ const cors = corsHeaders(origin, allowHeaders);
52
+ for (const [key, value] of cors.entries()) {
53
+ headers.set(key, value);
54
+ }
55
+ return new Response(response.body, {
56
+ status: response.status,
57
+ statusText: response.statusText,
58
+ headers,
59
+ });
60
+ };
61
+ const resolveUploadProvider = (value, fallback) => {
62
+ const providerValue = typeof value === "string" ? value : "";
63
+ return isStorageProvider(providerValue) ? providerValue : fallback;
64
+ };
65
+ function bytesToBase64(bytes) {
66
+ if (typeof Buffer !== "undefined") {
67
+ return Buffer.from(bytes).toString("base64");
68
+ }
69
+ if (typeof btoa === "function") {
70
+ if (typeof TextDecoder === "function") {
71
+ try {
72
+ return btoa(new TextDecoder("latin1").decode(bytes));
73
+ }
74
+ catch {
75
+ // Fallback below for environments without latin1 support.
76
+ }
77
+ }
78
+ let binary = "";
79
+ const chunkSize = 0x8000;
80
+ for (let i = 0; i < bytes.length; i += chunkSize) {
81
+ binary += String.fromCharCode(...bytes.subarray(i, i + chunkSize));
82
+ }
83
+ return btoa(binary);
84
+ }
85
+ throw new Error("Base64 encoding is not available in this environment.");
86
+ }
44
87
  /**
45
88
  * Register HTTP routes for upload and download endpoints.
46
89
  *
@@ -68,53 +111,72 @@ const requireR2Config = (input, context) => {
68
111
  * ```
69
112
  */
70
113
  export function registerRoutes(http, component, options = {}) {
71
- const { pathPrefix = DEFAULT_PATH_PREFIX, requireAccessKey = false, accessKeyQueryParam = "accessKey", passwordQueryParam = "password", passwordHeader = "x-download-password", enableUploadRoute = false, enableDownloadRoute = true, defaultUploadProvider = "convex", r2, checkDownloadRequest, } = options;
114
+ const { pathPrefix = DEFAULT_PATH_PREFIX, requireAccessKey = false, passwordQueryParam = "password", passwordHeader = "x-download-password", enableUploadRoute = false, enableDownloadRoute = true, defaultUploadProvider = "convex", r2, checkUploadRequest, onUploadComplete, checkDownloadRequest, } = options;
72
115
  const normalizedPrefix = normalizePathPrefix(pathPrefix);
116
+ const passwordHeaderName = normalizeOptionalHeaderName(passwordHeader);
117
+ const passwordQueryKey = normalizeOptionalHeaderName(passwordQueryParam);
118
+ const downloadCorsAllowHeaders = passwordHeaderName
119
+ ? [passwordHeaderName]
120
+ : undefined;
73
121
  const uploadPath = `${normalizedPrefix}/upload`;
74
122
  const downloadPath = `${normalizedPrefix}/download`;
75
123
  if (enableUploadRoute) {
124
+ if (!checkUploadRequest) {
125
+ throw new Error("checkUploadRequest is required when enableUploadRoute is true. " +
126
+ "This hook must authenticate the request and return { accessKeys }.");
127
+ }
76
128
  http.route({
77
129
  path: uploadPath,
78
130
  method: "OPTIONS",
79
- handler: httpActionGeneric(async () => corsResponse()),
131
+ handler: httpActionGeneric(async (_ctx, request) => {
132
+ const origin = getOrigin(request);
133
+ return corsResponse(origin);
134
+ }),
80
135
  });
81
136
  http.route({
82
137
  path: uploadPath,
83
138
  method: "POST",
84
139
  handler: httpActionGeneric(async (ctx, request) => {
140
+ const origin = getOrigin(request);
85
141
  const contentType = request.headers.get("Content-Type") ?? "";
86
142
  if (!contentType.includes("multipart/form-data")) {
87
- return jsonError("Content-Type must be multipart/form-data", 415);
143
+ return jsonError("Content-Type must be multipart/form-data", 415, origin);
88
144
  }
89
145
  const formData = await request.formData();
90
146
  const file = formData.get(uploadFormFields.file);
91
147
  if (!(file instanceof Blob)) {
92
- return jsonError("Missing or invalid 'file' field", 400);
93
- }
94
- const accessKeysRaw = formData.get(uploadFormFields.accessKeys);
95
- if (typeof accessKeysRaw !== "string") {
96
- return jsonError("Missing 'accessKeys' field", 400);
97
- }
98
- const accessKeys = parseJsonStringArray(accessKeysRaw);
99
- if (!accessKeys) {
100
- return jsonError("'accessKeys' must be a JSON array of strings", 400);
148
+ return jsonError("Missing or invalid 'file' field", 400, origin);
101
149
  }
102
150
  const expiresAt = parseOptionalTimestamp(formData.get(uploadFormFields.expiresAt));
103
151
  if (expiresAt === "invalid") {
104
- return jsonError("'expiresAt' must be a number or null", 400);
152
+ return jsonError("'expiresAt' must be a number or null", 400, origin);
153
+ }
154
+ const provider = resolveUploadProvider(formData.get(uploadFormFields.provider), defaultUploadProvider);
155
+ // Call the auth hook to get access keys
156
+ const hookResult = await checkUploadRequest(ctx, {
157
+ file,
158
+ expiresAt: expiresAt ?? undefined,
159
+ provider,
160
+ request,
161
+ });
162
+ // If hook returns a Response, wrap it with CORS headers
163
+ if (hookResult instanceof Response) {
164
+ return withCors(hookResult, origin);
165
+ }
166
+ if (!hookResult || typeof hookResult !== "object") {
167
+ return jsonError("checkUploadRequest must return accessKeys", 500, origin);
168
+ }
169
+ const { accessKeys } = hookResult;
170
+ if (!accessKeys || accessKeys.length === 0) {
171
+ return jsonError("checkUploadRequest must return accessKeys", 500, origin);
105
172
  }
106
- const providerRaw = formData.get(uploadFormFields.provider);
107
- const providerValue = typeof providerRaw === "string" ? providerRaw : "";
108
- const provider = isStorageProvider(providerValue)
109
- ? providerValue
110
- : defaultUploadProvider;
111
173
  let r2Config = undefined;
112
174
  if (provider === "r2") {
113
175
  try {
114
176
  r2Config = requireR2Config(r2, "R2 uploads");
115
177
  }
116
178
  catch (error) {
117
- return jsonError(error instanceof Error ? error.message : "R2 configuration missing.", 500);
179
+ return jsonError(error instanceof Error ? error.message : "R2 configuration missing.", 500, origin);
118
180
  }
119
181
  }
120
182
  const { uploadUrl, uploadToken, storageId: presetStorageId } = await ctx.runMutation(component.upload.generateUploadUrl, {
@@ -127,7 +189,7 @@ export function registerRoutes(http, component, options = {}) {
127
189
  body: file,
128
190
  });
129
191
  if (!uploadResponse.ok) {
130
- return jsonError("File upload failed", 502);
192
+ return jsonError("File upload failed", 502, origin);
131
193
  }
132
194
  let storageId = presetStorageId ?? null;
133
195
  if (provider === "convex") {
@@ -135,15 +197,41 @@ export function registerRoutes(http, component, options = {}) {
135
197
  storageId = uploadPayload.storageId ?? null;
136
198
  }
137
199
  if (!storageId) {
138
- return jsonError("Upload did not return storageId", 502);
200
+ return jsonError("Upload did not return storageId", 502, origin);
139
201
  }
202
+ // Compute file metadata from the blob for HTTP action uploads.
203
+ // This is necessary because R2 uploads don't have metadata in Convex's
204
+ // system database, and even for Convex uploads we already have the blob.
205
+ const fileBuffer = await file.arrayBuffer();
206
+ const fileBytes = new Uint8Array(fileBuffer);
207
+ const digest = await crypto.subtle.digest("SHA-256", fileBytes);
208
+ const sha256 = bytesToBase64(new Uint8Array(digest));
209
+ const metadata = {
210
+ size: fileBytes.byteLength,
211
+ sha256,
212
+ contentType: file.type || null,
213
+ };
140
214
  const result = await ctx.runMutation(component.upload.finalizeUpload, {
141
215
  uploadToken,
142
216
  storageId,
143
217
  accessKeys,
144
218
  expiresAt: expiresAt ?? undefined,
219
+ metadata,
145
220
  });
146
- return jsonSuccess(result);
221
+ if (onUploadComplete) {
222
+ const hookResult = await onUploadComplete(ctx, {
223
+ file,
224
+ provider,
225
+ accessKeys,
226
+ expiresAt: expiresAt ?? null,
227
+ request,
228
+ result,
229
+ });
230
+ if (hookResult instanceof Response) {
231
+ return withCors(hookResult, origin);
232
+ }
233
+ }
234
+ return jsonSuccess(result, origin);
147
235
  }),
148
236
  });
149
237
  }
@@ -151,26 +239,28 @@ export function registerRoutes(http, component, options = {}) {
151
239
  http.route({
152
240
  path: downloadPath,
153
241
  method: "OPTIONS",
154
- handler: httpActionGeneric(async () => corsResponse()),
242
+ handler: httpActionGeneric(async (_ctx, request) => {
243
+ const origin = getOrigin(request);
244
+ return corsResponse(origin, downloadCorsAllowHeaders);
245
+ }),
155
246
  });
156
247
  http.route({
157
248
  path: downloadPath,
158
249
  method: "GET",
159
250
  handler: httpActionGeneric(async (ctx, request) => {
251
+ const origin = getOrigin(request);
160
252
  const url = new URL(request.url);
161
253
  const downloadToken = url.searchParams.get("token");
162
254
  if (!downloadToken) {
163
- return jsonError("Missing 'token' query parameter", 400);
164
- }
165
- const accessKey = url.searchParams.get(accessKeyQueryParam) ?? undefined;
166
- if (requireAccessKey && !accessKey) {
167
- return jsonError("Missing required accessKey", 401);
255
+ return jsonError("Missing 'token' query parameter", 400, origin, downloadCorsAllowHeaders);
168
256
  }
169
- const passwordFromHeader = passwordHeader
170
- ? request.headers.get(passwordHeader)
257
+ // For downloads, accessKey should come from checkDownloadRequest hook
258
+ let accessKey;
259
+ const passwordFromHeader = passwordHeaderName
260
+ ? request.headers.get(passwordHeaderName)
171
261
  : null;
172
- const passwordFromQuery = passwordQueryParam
173
- ? url.searchParams.get(passwordQueryParam)
262
+ const passwordFromQuery = passwordQueryKey
263
+ ? url.searchParams.get(passwordQueryKey)
174
264
  : null;
175
265
  const password = passwordFromHeader ?? passwordFromQuery ?? undefined;
176
266
  if (checkDownloadRequest) {
@@ -181,8 +271,15 @@ export function registerRoutes(http, component, options = {}) {
181
271
  request,
182
272
  });
183
273
  if (result instanceof Response) {
184
- return result;
274
+ return withCors(result, origin, downloadCorsAllowHeaders);
185
275
  }
276
+ // If hook returns { accessKey }, use it
277
+ if (result && typeof result === "object" && "accessKey" in result) {
278
+ accessKey = result.accessKey;
279
+ }
280
+ }
281
+ if (requireAccessKey && !accessKey) {
282
+ return jsonError("Missing required accessKey. Provide it via checkDownloadRequest hook.", 401, origin, downloadCorsAllowHeaders);
186
283
  }
187
284
  const result = await ctx.runMutation(component.download.consumeDownloadGrantForUrl, {
188
285
  downloadToken,
@@ -191,14 +288,14 @@ export function registerRoutes(http, component, options = {}) {
191
288
  r2Config: resolveR2Config(r2) ?? undefined,
192
289
  });
193
290
  if (result.status !== "ok" || !result.downloadUrl) {
194
- return jsonError("Download unavailable", statusCodeForDownloadError(result.status));
291
+ return jsonError("Download unavailable", statusCodeForDownloadError(result.status), origin, downloadCorsAllowHeaders);
195
292
  }
196
293
  const fileResponse = await fetch(result.downloadUrl);
197
294
  if (!fileResponse.ok || !fileResponse.body) {
198
- return jsonError("File not available", 404);
295
+ return jsonError("File not available", 404, origin, downloadCorsAllowHeaders);
199
296
  }
200
297
  const filename = sanitizeFilename(url.searchParams.get("filename"));
201
- const headers = corsHeaders();
298
+ const headers = corsHeaders(origin, downloadCorsAllowHeaders);
202
299
  headers.set("Cache-Control", "no-store");
203
300
  headers.set("Content-Disposition", `attachment; filename="${filename}"`);
204
301
  const ct = fileResponse.headers.get("Content-Type");
@@ -222,23 +319,21 @@ export function registerRoutes(http, component, options = {}) {
222
319
  *
223
320
  * Note: Avoid placing passwords in query params; they can leak into logs or
224
321
  * caches. Prefer headers or POST flows when possible.
322
+ * Access keys are not included in the URL; enforce them via checkDownloadRequest.
225
323
  *
226
324
  * @example
227
325
  * ```ts
228
326
  * const url = buildDownloadUrl({
229
327
  * baseUrl: "https://your-app.convex.site",
230
328
  * downloadToken,
231
- * accessKey: "user_123",
232
329
  * filename: "report.pdf",
233
330
  * });
234
331
  * ```
235
332
  */
236
- export function buildDownloadUrl({ baseUrl, downloadToken, pathPrefix = DEFAULT_PATH_PREFIX, accessKey, filename, }) {
333
+ export function buildDownloadUrl({ baseUrl, downloadToken, pathPrefix = DEFAULT_PATH_PREFIX, filename, }) {
237
334
  const normalizedBase = normalizeBaseUrl(baseUrl);
238
335
  const endpoint = buildEndpointUrl(normalizedBase, pathPrefix, "download");
239
336
  const params = new URLSearchParams({ token: downloadToken });
240
- if (accessKey)
241
- params.set("accessKey", accessKey);
242
337
  if (filename)
243
338
  params.set("filename", filename);
244
339
  return `${endpoint}?${params.toString()}`;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}