@adonis-agora/media 0.6.0 → 0.8.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 (66) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/providers/media_provider.d.ts.map +1 -1
  3. package/dist/providers/media_provider.js +22 -9
  4. package/dist/providers/media_provider.js.map +1 -1
  5. package/dist/src/content_type.d.ts +65 -0
  6. package/dist/src/content_type.d.ts.map +1 -0
  7. package/dist/src/content_type.js +101 -0
  8. package/dist/src/content_type.js.map +1 -0
  9. package/dist/src/contents.d.ts +27 -1
  10. package/dist/src/contents.d.ts.map +1 -1
  11. package/dist/src/contents.js +63 -0
  12. package/dist/src/contents.js.map +1 -1
  13. package/dist/src/define_config.d.ts +30 -1
  14. package/dist/src/define_config.d.ts.map +1 -1
  15. package/dist/src/define_config.js.map +1 -1
  16. package/dist/src/delivery.d.ts +91 -0
  17. package/dist/src/delivery.d.ts.map +1 -0
  18. package/dist/src/delivery.js +62 -0
  19. package/dist/src/delivery.js.map +1 -0
  20. package/dist/src/disks/drive.d.ts +46 -0
  21. package/dist/src/disks/drive.d.ts.map +1 -0
  22. package/dist/src/disks/drive.js +28 -0
  23. package/dist/src/disks/drive.js.map +1 -0
  24. package/dist/src/disks/factory.d.ts +5 -0
  25. package/dist/src/disks/factory.d.ts.map +1 -1
  26. package/dist/src/disks/factory.js +1 -0
  27. package/dist/src/disks/factory.js.map +1 -1
  28. package/dist/src/disks/s3.d.ts +14 -0
  29. package/dist/src/disks/s3.d.ts.map +1 -1
  30. package/dist/src/disks/s3.js +10 -0
  31. package/dist/src/disks/s3.js.map +1 -1
  32. package/dist/src/errors.d.ts +41 -0
  33. package/dist/src/errors.d.ts.map +1 -1
  34. package/dist/src/errors.js +56 -0
  35. package/dist/src/errors.js.map +1 -1
  36. package/dist/src/index.d.ts +9 -3
  37. package/dist/src/index.d.ts.map +1 -1
  38. package/dist/src/index.js +7 -1
  39. package/dist/src/index.js.map +1 -1
  40. package/dist/src/media_library.d.ts +40 -2
  41. package/dist/src/media_library.d.ts.map +1 -1
  42. package/dist/src/media_library.js +124 -23
  43. package/dist/src/media_library.js.map +1 -1
  44. package/dist/src/media_manager.d.ts +12 -1
  45. package/dist/src/media_manager.d.ts.map +1 -1
  46. package/dist/src/media_manager.js +12 -0
  47. package/dist/src/media_manager.js.map +1 -1
  48. package/dist/src/resumable_upload.d.ts +6 -1
  49. package/dist/src/resumable_upload.d.ts.map +1 -1
  50. package/dist/src/resumable_upload.js +11 -2
  51. package/dist/src/resumable_upload.js.map +1 -1
  52. package/dist/src/testing/in_memory_disk.d.ts +14 -2
  53. package/dist/src/testing/in_memory_disk.d.ts.map +1 -1
  54. package/dist/src/testing/in_memory_disk.js +15 -3
  55. package/dist/src/testing/in_memory_disk.js.map +1 -1
  56. package/dist/src/testing/index.d.ts +1 -0
  57. package/dist/src/testing/index.d.ts.map +1 -1
  58. package/dist/src/testing/index.js.map +1 -1
  59. package/dist/src/tus.d.ts +33 -0
  60. package/dist/src/tus.d.ts.map +1 -1
  61. package/dist/src/tus.js +66 -1
  62. package/dist/src/tus.js.map +1 -1
  63. package/dist/src/types.d.ts +7 -0
  64. package/dist/src/types.d.ts.map +1 -1
  65. package/dist/stubs/config/media.stub +8 -0
  66. package/package.json +1 -1
@@ -0,0 +1,91 @@
1
+ import type { Readable } from 'node:stream';
2
+ import type { MediaLibrary } from './media_library.js';
3
+ import type { Disk } from './types.js';
4
+ /**
5
+ * Requested READ strategy — the mirror image of `uploads.mode` for writes.
6
+ *
7
+ * - `public` — hand back the disk's stable public URL ({@link Disk.getUrl}).
8
+ * - `signed` — hand back a time-limited signed URL ({@link Disk.getSignedUrl}).
9
+ * - `proxy` — stream the bytes through the app, so the storage never has to be reachable from the
10
+ * internet at all (a private bucket on a private network).
11
+ * - `auto` — ask the disk for the object's visibility: `public` when it is public, else `signed`.
12
+ */
13
+ export type DeliveryMode = 'auto' | 'public' | 'signed' | 'proxy';
14
+ /** The concrete strategy after resolution — `auto` has been collapsed to one of these. */
15
+ export type ResolvedDeliveryMode = 'public' | 'signed' | 'proxy';
16
+ /** Signed-URL lifetime used when neither the call nor `delivery.signedTtlSeconds` sets one. */
17
+ export declare const DEFAULT_DELIVERY_SIGNED_TTL_SECONDS = 300;
18
+ /**
19
+ * What delivering a media record yields. A discriminated union rather than an HTTP response,
20
+ * because the library is framework-agnostic: the app turns a `redirect` into `response.redirect(url)`
21
+ * and a `stream` into `response.stream(stream)` with whatever headers it wants.
22
+ */
23
+ export type DeliveryResult = {
24
+ kind: 'redirect';
25
+ url: string;
26
+ } | {
27
+ kind: 'stream';
28
+ stream: Readable;
29
+ mimeType: string;
30
+ size?: number | undefined;
31
+ fileName?: string | undefined;
32
+ };
33
+ /**
34
+ * Collapse a requested {@link DeliveryMode} to a concrete one for a specific object.
35
+ *
36
+ * Only `auto` needs the disk. Visibility is asked of the disk itself (`getVisibility`, which every
37
+ * `@adonisjs/drive` disk exposes and which the bundled `disks.s3()` answers from its configured
38
+ * visibility) — never guessed from `getUrl` being callable, since a URL can always be *synthesised*
39
+ * for a private object and would resolve `auto` to a link that 403s.
40
+ *
41
+ * A disk that cannot answer leaves the visibility genuinely unknown, and the safe read of unknown is
42
+ * "assume private": `auto` then resolves to `signed`, which works on a public object too.
43
+ */
44
+ export declare function resolveDeliveryMode(mode: DeliveryMode | undefined, disk: Disk, key: string): Promise<ResolvedDeliveryMode>;
45
+ /** What {@link MediaDeliveryHandler.handle} is asked to deliver. */
46
+ export interface DeliveryRequest {
47
+ /** Id of the media record. */
48
+ mediaId: string;
49
+ /** Deliver this named conversion instead of the original (generated lazily if absent). */
50
+ conversion?: string | undefined;
51
+ }
52
+ export interface MediaDeliveryHandlerOptions {
53
+ /** The {@link MediaLibrary} records are resolved from — or a `MediaManager`, whose `.library` is used. */
54
+ library: MediaLibrary | {
55
+ library: MediaLibrary;
56
+ };
57
+ /** Default mode for this handler; overrides the library's configured `delivery.mode`. */
58
+ mode?: DeliveryMode | undefined;
59
+ /** Signed-URL lifetime when the resolved mode is `signed`. */
60
+ signedTtlSeconds?: number | undefined;
61
+ }
62
+ /**
63
+ * Framework-agnostic read counterpart to {@link TusUploadHandler}: the app mounts ONE route, with
64
+ * its own middleware, and delegates the "how do these bytes reach the client" question here.
65
+ *
66
+ * ```ts
67
+ * const delivery = new MediaDeliveryHandler({ library: media })
68
+ *
69
+ * router.get('/media/:id', async ({ params, response, auth }) => {
70
+ * await authorize(auth.user, params.id) // ← the app's job, see below
71
+ * const result = await delivery.handle({ mediaId: params.id })
72
+ * if (result.kind === 'redirect') return response.redirect(result.url)
73
+ * response.header('content-type', result.mimeType)
74
+ * return response.stream(result.stream)
75
+ * }).use(middleware.auth())
76
+ * ```
77
+ *
78
+ * **This handler performs NO authorization.** It resolves a media id to bytes or a URL and nothing
79
+ * else — exactly the split {@link TusUploadHandler} draws. Whoever may read a given record is a
80
+ * question only the app can answer, so guard the route (middleware, an ownership check, a signed
81
+ * media token) before calling `handle`. Mounting it unguarded publishes every record to anyone who
82
+ * can guess an id.
83
+ */
84
+ export declare class MediaDeliveryHandler {
85
+ private readonly library;
86
+ private readonly mode;
87
+ private readonly signedTtlSeconds;
88
+ constructor(options: MediaDeliveryHandlerOptions);
89
+ handle(request: DeliveryRequest): Promise<DeliveryResult>;
90
+ }
91
+ //# sourceMappingURL=delivery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/delivery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAElE,0FAA0F;AAC1F,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEjE,+FAA+F;AAC/F,eAAO,MAAM,mCAAmC,MAAM,CAAC;AAEvD;;;;GAIG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACjC;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEN;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,GAAG,SAAS,EAC9B,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,oBAAoB,CAAC,CAK/B;AAED,oEAAoE;AACpE,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,0FAA0F;IAC1F,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,0GAA0G;IAC1G,OAAO,EAAE,YAAY,GAAG;QAAE,OAAO,EAAE,YAAY,CAAA;KAAE,CAAC;IAClD,yFAAyF;IACzF,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAChC,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA2B;IAChD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;gBAE1C,OAAO,EAAE,2BAA2B;IAOhD,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAO1D"}
@@ -0,0 +1,62 @@
1
+ /** Signed-URL lifetime used when neither the call nor `delivery.signedTtlSeconds` sets one. */
2
+ export const DEFAULT_DELIVERY_SIGNED_TTL_SECONDS = 300;
3
+ /**
4
+ * Collapse a requested {@link DeliveryMode} to a concrete one for a specific object.
5
+ *
6
+ * Only `auto` needs the disk. Visibility is asked of the disk itself (`getVisibility`, which every
7
+ * `@adonisjs/drive` disk exposes and which the bundled `disks.s3()` answers from its configured
8
+ * visibility) — never guessed from `getUrl` being callable, since a URL can always be *synthesised*
9
+ * for a private object and would resolve `auto` to a link that 403s.
10
+ *
11
+ * A disk that cannot answer leaves the visibility genuinely unknown, and the safe read of unknown is
12
+ * "assume private": `auto` then resolves to `signed`, which works on a public object too.
13
+ */
14
+ export async function resolveDeliveryMode(mode, disk, key) {
15
+ const requested = mode ?? 'auto';
16
+ if (requested !== 'auto')
17
+ return requested;
18
+ if (typeof disk.getVisibility !== 'function')
19
+ return 'signed';
20
+ return (await disk.getVisibility(key)) === 'public' ? 'public' : 'signed';
21
+ }
22
+ /**
23
+ * Framework-agnostic read counterpart to {@link TusUploadHandler}: the app mounts ONE route, with
24
+ * its own middleware, and delegates the "how do these bytes reach the client" question here.
25
+ *
26
+ * ```ts
27
+ * const delivery = new MediaDeliveryHandler({ library: media })
28
+ *
29
+ * router.get('/media/:id', async ({ params, response, auth }) => {
30
+ * await authorize(auth.user, params.id) // ← the app's job, see below
31
+ * const result = await delivery.handle({ mediaId: params.id })
32
+ * if (result.kind === 'redirect') return response.redirect(result.url)
33
+ * response.header('content-type', result.mimeType)
34
+ * return response.stream(result.stream)
35
+ * }).use(middleware.auth())
36
+ * ```
37
+ *
38
+ * **This handler performs NO authorization.** It resolves a media id to bytes or a URL and nothing
39
+ * else — exactly the split {@link TusUploadHandler} draws. Whoever may read a given record is a
40
+ * question only the app can answer, so guard the route (middleware, an ownership check, a signed
41
+ * media token) before calling `handle`. Mounting it unguarded publishes every record to anyone who
42
+ * can guess an id.
43
+ */
44
+ export class MediaDeliveryHandler {
45
+ library;
46
+ mode;
47
+ signedTtlSeconds;
48
+ constructor(options) {
49
+ const source = options.library;
50
+ this.library = 'library' in source ? source.library : source;
51
+ this.mode = options.mode;
52
+ this.signedTtlSeconds = options.signedTtlSeconds;
53
+ }
54
+ handle(request) {
55
+ return this.library.deliver(request.mediaId, {
56
+ ...(request.conversion !== undefined ? { conversion: request.conversion } : {}),
57
+ ...(this.mode !== undefined ? { mode: this.mode } : {}),
58
+ ...(this.signedTtlSeconds !== undefined ? { signedTtlSeconds: this.signedTtlSeconds } : {}),
59
+ });
60
+ }
61
+ }
62
+ //# sourceMappingURL=delivery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/delivery.ts"],"names":[],"mappings":"AAkBA,+FAA+F;AAC/F,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAiBvD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAA8B,EAC9B,IAAU,EACV,GAAW;IAEX,MAAM,SAAS,GAAiB,IAAI,IAAI,MAAM,CAAC;IAC/C,IAAI,SAAS,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,UAAU;QAAE,OAAO,QAAQ,CAAC;IAC9D,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC5E,CAAC;AAmBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,oBAAoB;IACd,OAAO,CAAe;IACtB,IAAI,CAA2B;IAC/B,gBAAgB,CAAqB;IAEtD,YAAY,OAAoC;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7D,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,OAAwB;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;YAC3C,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5F,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,46 @@
1
+ import type { Disk, DiskResolver } from '../types.js';
2
+ /** The minimal Drive manager surface we use: `use(name)` returns a disk. */
3
+ export interface DriveManagerLike {
4
+ use(name?: string): Disk;
5
+ }
6
+ /**
7
+ * The module namespace of `@adonisjs/drive/services/main`, narrowed to what we read.
8
+ *
9
+ * `default` is deliberately typed as possibly-`undefined` and deliberately read as a PROPERTY rather
10
+ * than destructured: Drive's service module is
11
+ *
12
+ * ```ts
13
+ * var drive
14
+ * await app.booted(async () => { drive = await app.container.make('drive.manager') })
15
+ * export { drive as default }
16
+ * ```
17
+ *
18
+ * `app.booted()` resolves immediately when the app has not booted yet, so the module finishes
19
+ * evaluating with `drive` still unassigned. Because ESM exports are live bindings, the namespace's
20
+ * `default` property later reflects the assignment — but a value captured out of it at import time
21
+ * (`(await import(...)).default`) is frozen at `undefined` forever. That capture was the bug: every
22
+ * media call then threw `Cannot read properties of undefined (reading 'use')`, and only when the
23
+ * import happened to win the race against boot.
24
+ */
25
+ export interface DriveServiceModule {
26
+ readonly default: DriveManagerLike | undefined;
27
+ }
28
+ export interface DriveBackedResolverOptions {
29
+ /** The `@adonisjs/drive/services/main` namespace (or any object with a live `default`). */
30
+ driveService: DriveServiceModule;
31
+ /** Disks built from `config.disks`; a name here wins over a Drive disk of the same name. */
32
+ configuredDisks: Record<string, Disk>;
33
+ /** Disk name used when a caller asks for no particular disk. */
34
+ defaultDisk: string;
35
+ }
36
+ /**
37
+ * Build the {@link DiskResolver} the media manager runs on: locally-configured disks first, then
38
+ * `@adonisjs/drive`.
39
+ *
40
+ * The Drive manager is read **lazily, at the first disk resolution that actually needs it** — never
41
+ * when the resolver is built — and memoized once found, so it is still resolved exactly once. This
42
+ * is what makes the resolver safe to construct during `register()`, long before Drive has booted.
43
+ * An app whose disks all come from `config.disks` never touches Drive at all.
44
+ */
45
+ export declare function createDriveBackedResolver(options: DriveBackedResolverOptions): DiskResolver;
46
+ //# sourceMappingURL=drive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drive.d.ts","sourceRoot":"","sources":["../../../src/disks/drive.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEtD,4EAA4E;AAC5E,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAC;CAChD;AAED,MAAM,WAAW,0BAA0B;IACzC,2FAA2F;IAC3F,YAAY,EAAE,kBAAkB,CAAC;IACjC,4FAA4F;IAC5F,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtC,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,GAAG,YAAY,CAgB3F"}
@@ -0,0 +1,28 @@
1
+ import { DriveNotReadyError } from '../errors.js';
2
+ /**
3
+ * Build the {@link DiskResolver} the media manager runs on: locally-configured disks first, then
4
+ * `@adonisjs/drive`.
5
+ *
6
+ * The Drive manager is read **lazily, at the first disk resolution that actually needs it** — never
7
+ * when the resolver is built — and memoized once found, so it is still resolved exactly once. This
8
+ * is what makes the resolver safe to construct during `register()`, long before Drive has booted.
9
+ * An app whose disks all come from `config.disks` never touches Drive at all.
10
+ */
11
+ export function createDriveBackedResolver(options) {
12
+ const { driveService, configuredDisks, defaultDisk } = options;
13
+ let drive;
14
+ return (name) => {
15
+ const key = name ?? defaultDisk;
16
+ const configured = configuredDisks[key];
17
+ if (configured)
18
+ return configured;
19
+ if (drive === undefined) {
20
+ const resolved = driveService.default;
21
+ if (resolved === undefined)
22
+ throw new DriveNotReadyError(key);
23
+ drive = resolved;
24
+ }
25
+ return drive.use(name);
26
+ };
27
+ }
28
+ //# sourceMappingURL=drive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drive.js","sourceRoot":"","sources":["../../../src/disks/drive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAwClD;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAmC;IAC3E,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAC/D,IAAI,KAAmC,CAAC;IAExC,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,GAAG,GAAG,IAAI,IAAI,WAAW,CAAC;QAChC,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC;QAElC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC;YACtC,IAAI,QAAQ,KAAK,SAAS;gBAAE,MAAM,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC9D,KAAK,GAAG,QAAQ,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC;AACJ,CAAC"}
@@ -30,6 +30,11 @@ export interface S3DiskConfig {
30
30
  keyPrefix?: string;
31
31
  /** Base URL for stable public URLs (a CDN or the bucket website), used by `getUrl`. */
32
32
  publicBaseUrl?: string;
33
+ /**
34
+ * Whether objects on this disk are readable without credentials. Declarative, and read only by
35
+ * `delivery.mode: 'auto'` (public ⇒ a plain URL, private ⇒ a signed one). Default `private`.
36
+ */
37
+ visibility?: 'public' | 'private';
33
38
  }
34
39
  /**
35
40
  * The disk factory namespace used in `config/media.ts`, parallel to `stores` and `processors`:
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/disks/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9C,yGAAyG;AACzG,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,sGAAsG;AACtG,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mGAAmG;IACnG,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,KAAK;IAChB,oHAAoH;eACzG,YAAY,GAAG,WAAW;CAqBtC,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,GACjD,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAQ/B"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/disks/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9C,yGAAyG;AACzG,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,sGAAsG;AACtG,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mGAAmG;IACnG,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,KAAK;IAChB,oHAAoH;eACzG,YAAY,GAAG,WAAW;CAsBtC,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,GACjD,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAQ/B"}
@@ -36,6 +36,7 @@ export const disks = {
36
36
  ...(config.region !== undefined ? { region: config.region } : {}),
37
37
  ...(config.endpoint !== undefined ? { endpoint: config.endpoint } : {}),
38
38
  ...(config.forcePathStyle !== undefined ? { forcePathStyle: config.forcePathStyle } : {}),
39
+ ...(config.visibility !== undefined ? { visibility: config.visibility } : {}),
39
40
  });
40
41
  };
41
42
  },
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/disks/factory.ts"],"names":[],"mappings":"AAqCA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,oHAAoH;IACpH,EAAE,CAAC,MAAoB;QACrB,OAAO,KAAK,IAAI,EAAE;YAChB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACxD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC;gBAC1B,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1F,CAAC,CAAC;YACH,OAAO,IAAI,MAAM,CAAC;gBAChB,MAAM;gBACN,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1E,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1F,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,SAAkD;IAElD,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/disks/factory.ts"],"names":[],"mappings":"AA0CA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,oHAAoH;IACpH,EAAE,CAAC,MAAoB;QACrB,OAAO,KAAK,IAAI,EAAE;YAChB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACxD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC;gBAC1B,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1F,CAAC,CAAC;YACH,OAAO,IAAI,MAAM,CAAC;gBAChB,MAAM;gBACN,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1E,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzF,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9E,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,SAAkD;IAElD,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -21,6 +21,13 @@ export interface S3DiskOptions {
21
21
  endpoint?: string;
22
22
  /** Emit path-style URLs (`endpoint/bucket/key`) instead of virtual-hosted-style. */
23
23
  forcePathStyle?: boolean;
24
+ /**
25
+ * Whether objects on this disk are readable without credentials. Declarative — it is NOT applied
26
+ * as an ACL on write and never probes S3; it simply answers {@link S3Disk.getVisibility}, which is
27
+ * what `delivery.mode: 'auto'` reads to choose between a public and a signed URL. Default
28
+ * `private`, the safe assumption for a bucket whose policy this disk cannot see.
29
+ */
30
+ visibility?: 'public' | 'private';
24
31
  }
25
32
  /**
26
33
  * S3-backed {@link Disk} satisfying the same structural contract as an `@adonisjs/drive` disk, so it
@@ -41,6 +48,7 @@ export declare class S3Disk implements Disk, MultipartUploadDisk, ExtendedDisk {
41
48
  private readonly region;
42
49
  private readonly endpoint;
43
50
  private readonly forcePathStyle;
51
+ private readonly visibility;
44
52
  constructor(options: S3DiskOptions);
45
53
  /** Map a logical key to a fully-qualified S3 key, applying the configured prefix. */
46
54
  key(path: string): string;
@@ -57,6 +65,12 @@ export declare class S3Disk implements Disk, MultipartUploadDisk, ExtendedDisk {
57
65
  exists(key: string): Promise<boolean>;
58
66
  delete(key: string): Promise<void>;
59
67
  getUrl(key: string): Promise<string>;
68
+ /**
69
+ * The configured visibility, verbatim — S3 cannot be asked cheaply (a `GetObjectAcl` per read is
70
+ * not free, and object ACLs say nothing about a bucket policy anyway), so this reports what the
71
+ * disk was told rather than guessing.
72
+ */
73
+ getVisibility(_key: string): Promise<'public' | 'private'>;
60
74
  getSignedUrl(key: string, options?: SignedUrlOptions): Promise<string>;
61
75
  getMetaData(key: string): Promise<DiskMetaData>;
62
76
  size(key: string): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../../src/disks/s3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../../src/disks/s3.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,7 @@ export class S3Disk {
49
49
  region;
50
50
  endpoint;
51
51
  forcePathStyle;
52
+ visibility;
52
53
  constructor(options) {
53
54
  this.client = options.client;
54
55
  this.bucket = options.bucket;
@@ -57,6 +58,7 @@ export class S3Disk {
57
58
  this.region = options.region;
58
59
  this.endpoint = options.endpoint;
59
60
  this.forcePathStyle = options.forcePathStyle ?? false;
61
+ this.visibility = options.visibility ?? 'private';
60
62
  this.capabilities = {
61
63
  presign: true,
62
64
  multipart: true,
@@ -154,6 +156,14 @@ export class S3Disk {
154
156
  const region = this.region ?? 'us-east-1';
155
157
  return `https://${this.bucket}.s3.${region}.amazonaws.com/${objectKey}`;
156
158
  }
159
+ /**
160
+ * The configured visibility, verbatim — S3 cannot be asked cheaply (a `GetObjectAcl` per read is
161
+ * not free, and object ACLs say nothing about a bucket policy anyway), so this reports what the
162
+ * disk was told rather than guessing.
163
+ */
164
+ async getVisibility(_key) {
165
+ return this.visibility;
166
+ }
157
167
  async getSignedUrl(key, options) {
158
168
  return getSignedUrl(this.client, new GetObjectCommand({
159
169
  Bucket: this.bucket,
@@ -1 +1 @@
1
- {"version":3,"file":"s3.js","sourceRoot":"","sources":["../../../src/disks/s3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s3.js","sourceRoot":"","sources":["../../../src/disks/s3.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,47 @@ export declare class MimeNotAllowedError extends Error {
2
2
  readonly code = "E_MEDIA_MIME_NOT_ALLOWED";
3
3
  constructor(collection: string, mimeType: string);
4
4
  }
5
+ /**
6
+ * The bytes are not what the caller said they were. Raised when a collection declares
7
+ * `acceptsMimeTypes` and the file's magic-byte signature identifies a type that either the
8
+ * collection does not accept or that contradicts the declared `mimeType` — the case
9
+ * {@link MimeNotAllowedError} cannot catch, because the declared type is written by the app (often
10
+ * hardcoded) rather than proven by the content.
11
+ */
12
+ export declare class ContentTypeMismatchError extends Error {
13
+ readonly collection: string;
14
+ readonly declaredMimeType: string;
15
+ readonly detectedMimeType: string;
16
+ readonly code = "E_MEDIA_CONTENT_TYPE_MISMATCH";
17
+ constructor(collection: string, declaredMimeType: string, detectedMimeType: string, accepted: readonly string[]);
18
+ }
19
+ /**
20
+ * The content carries no recognisable signature, under a collection whose `acceptsMimeTypes` are
21
+ * ALL signature-detectable. Distinct from {@link ContentTypeMismatchError}, which reports bytes that
22
+ * were positively identified as some other type: here nothing was identified at all, and that is
23
+ * itself the proof — if every accepted type is one the signature table can recognise, content it
24
+ * cannot recognise is none of them.
25
+ *
26
+ * A collection that accepts even one signature-less type (`image/svg+xml`, `text/csv`,
27
+ * `text/plain`, office formats…) is NOT closed, and unrecognised content there stays accepted.
28
+ */
29
+ export declare class ContentSignatureUnrecognizedError extends Error {
30
+ readonly collection: string;
31
+ readonly declaredMimeType: string | undefined;
32
+ readonly accepted: readonly string[];
33
+ readonly code = "E_MEDIA_CONTENT_SIGNATURE_UNRECOGNIZED";
34
+ constructor(collection: string, declaredMimeType: string | undefined, accepted: readonly string[]);
35
+ }
36
+ /**
37
+ * A media disk was resolved before `@adonisjs/drive` finished booting, so its disk manager does not
38
+ * exist yet. Drive's service module assigns the manager inside `app.booted(...)`; reading it any
39
+ * earlier yields `undefined`. The media provider resolves it lazily, at first real disk use, so in
40
+ * practice this only fires when media is called from outside a booted application.
41
+ */
42
+ export declare class DriveNotReadyError extends Error {
43
+ readonly code = "E_MEDIA_DRIVE_NOT_READY";
44
+ constructor(disk: string);
45
+ }
5
46
  export declare class MediaNotFoundError extends Error {
6
47
  readonly code = "E_MEDIA_RECORD_NOT_FOUND";
7
48
  constructor(id: string);
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,8BAA8B;gBAC/B,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAIjD;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,8BAA8B;gBAC/B,EAAE,EAAE,MAAM;CAIvB;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,4BAA4B;gBAC7B,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAMtC;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,IAAI,oCAAoC;gBACrC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAInD;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,qCAAqC;;CAKnD;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,+BAA+B;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,kCAAkC;gBACnC,IAAI,EAAE,MAAM,EAAE,SAAS,SAA4B;CAMhE;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,sCAAsC;gBACvC,EAAE,EAAE,MAAM;CAIvB;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAGhD,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAH3B,QAAQ,CAAC,IAAI,oCAAoC;gBAEtC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM;CAK5B;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,IAAI,oCAAoC;gBACrC,EAAE,EAAE,MAAM;CAIvB;AAED,qBAAa,kCAAmC,SAAQ,KAAK;IAC3D,QAAQ,CAAC,IAAI,sCAAsC;;CAOpD;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,kCAAkC;gBACnC,IAAI,EAAE,MAAM;CAMzB;AAED,qBAAa,oCAAqC,SAAQ,KAAK;IAC7D,QAAQ,CAAC,IAAI,iDAAiD;gBAClD,IAAI,EAAE,MAAM;CAMzB"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,8BAA8B;gBAC/B,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAIjD;AAED;;;;;;GAMG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IAG/C,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IACjC,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IAJnC,QAAQ,CAAC,IAAI,mCAAmC;gBAErC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EACjC,QAAQ,EAAE,SAAS,MAAM,EAAE;CAO9B;AAED;;;;;;;;;GASG;AACH,qBAAa,iCAAkC,SAAQ,KAAK;IAGxD,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS;IAC7C,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE;IAJtC,QAAQ,CAAC,IAAI,4CAA4C;gBAE9C,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,QAAQ,EAAE,SAAS,MAAM,EAAE;CASvC;AAED;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,6BAA6B;gBAC9B,IAAI,EAAE,MAAM;CAMzB;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,8BAA8B;gBAC/B,EAAE,EAAE,MAAM;CAIvB;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,4BAA4B;gBAC7B,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAMtC;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,IAAI,oCAAoC;gBACrC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAInD;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,qCAAqC;;CAKnD;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,+BAA+B;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,kCAAkC;gBACnC,IAAI,EAAE,MAAM,EAAE,SAAS,SAA4B;CAMhE;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,sCAAsC;gBACvC,EAAE,EAAE,MAAM;CAIvB;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAGhD,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAH3B,QAAQ,CAAC,IAAI,oCAAoC;gBAEtC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM;CAK5B;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,IAAI,oCAAoC;gBACrC,EAAE,EAAE,MAAM;CAIvB;AAED,qBAAa,kCAAmC,SAAQ,KAAK;IAC3D,QAAQ,CAAC,IAAI,sCAAsC;;CAOpD;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,kCAAkC;gBACnC,IAAI,EAAE,MAAM;CAMzB;AAED,qBAAa,oCAAqC,SAAQ,KAAK;IAC7D,QAAQ,CAAC,IAAI,iDAAiD;gBAClD,IAAI,EAAE,MAAM;CAMzB"}
@@ -5,6 +5,62 @@ export class MimeNotAllowedError extends Error {
5
5
  this.name = 'MimeNotAllowedError';
6
6
  }
7
7
  }
8
+ /**
9
+ * The bytes are not what the caller said they were. Raised when a collection declares
10
+ * `acceptsMimeTypes` and the file's magic-byte signature identifies a type that either the
11
+ * collection does not accept or that contradicts the declared `mimeType` — the case
12
+ * {@link MimeNotAllowedError} cannot catch, because the declared type is written by the app (often
13
+ * hardcoded) rather than proven by the content.
14
+ */
15
+ export class ContentTypeMismatchError extends Error {
16
+ collection;
17
+ declaredMimeType;
18
+ detectedMimeType;
19
+ code = 'E_MEDIA_CONTENT_TYPE_MISMATCH';
20
+ constructor(collection, declaredMimeType, detectedMimeType, accepted) {
21
+ super(`File contents are actually "${detectedMimeType}" (detected from the file signature), not the declared "${declaredMimeType}". Collection "${collection}" accepts [${accepted.join(', ')}].`);
22
+ this.collection = collection;
23
+ this.declaredMimeType = declaredMimeType;
24
+ this.detectedMimeType = detectedMimeType;
25
+ this.name = 'ContentTypeMismatchError';
26
+ }
27
+ }
28
+ /**
29
+ * The content carries no recognisable signature, under a collection whose `acceptsMimeTypes` are
30
+ * ALL signature-detectable. Distinct from {@link ContentTypeMismatchError}, which reports bytes that
31
+ * were positively identified as some other type: here nothing was identified at all, and that is
32
+ * itself the proof — if every accepted type is one the signature table can recognise, content it
33
+ * cannot recognise is none of them.
34
+ *
35
+ * A collection that accepts even one signature-less type (`image/svg+xml`, `text/csv`,
36
+ * `text/plain`, office formats…) is NOT closed, and unrecognised content there stays accepted.
37
+ */
38
+ export class ContentSignatureUnrecognizedError extends Error {
39
+ collection;
40
+ declaredMimeType;
41
+ accepted;
42
+ code = 'E_MEDIA_CONTENT_SIGNATURE_UNRECOGNIZED';
43
+ constructor(collection, declaredMimeType, accepted) {
44
+ super(`File contents carry no recognisable signature${declaredMimeType ? ` for the declared "${declaredMimeType}"` : ''}. Collection "${collection}" accepts only signature-detectable types [${accepted.join(', ')}], so content that matches none of their signatures cannot be any of them.`);
45
+ this.collection = collection;
46
+ this.declaredMimeType = declaredMimeType;
47
+ this.accepted = accepted;
48
+ this.name = 'ContentSignatureUnrecognizedError';
49
+ }
50
+ }
51
+ /**
52
+ * A media disk was resolved before `@adonisjs/drive` finished booting, so its disk manager does not
53
+ * exist yet. Drive's service module assigns the manager inside `app.booted(...)`; reading it any
54
+ * earlier yields `undefined`. The media provider resolves it lazily, at first real disk use, so in
55
+ * practice this only fires when media is called from outside a booted application.
56
+ */
57
+ export class DriveNotReadyError extends Error {
58
+ code = 'E_MEDIA_DRIVE_NOT_READY';
59
+ constructor(disk) {
60
+ super(`Cannot resolve disk "${disk}": the \`@adonisjs/drive\` disk manager is not available yet because the application has not finished booting. Resolve media disks after boot (e.g. inside a request or a \`booted\` hook), or declare the disk in \`disks\` in config/media.ts so it does not go through Drive at all.`);
61
+ this.name = 'DriveNotReadyError';
62
+ }
63
+ }
8
64
  export class MediaNotFoundError extends Error {
9
65
  code = 'E_MEDIA_RECORD_NOT_FOUND';
10
66
  constructor(id) {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export { defineConfig, stores, processors, disks, uploadSessions } from './define_config.js';
2
- export type { MediaConfig, MediaUploadsConfig, MediaResumableConfig, StoreContext, StoreFactory, LucidStoreConfig, ImageProcessorFactory, DiskFactory, S3DiskConfig, S3Credentials, UploadMode, UploadSessionStoreContext, UploadSessionStoreFactory, LucidUploadSessionStoreConfig, } from './define_config.js';
2
+ export type { MediaConfig, MediaUploadsConfig, MediaResumableConfig, MediaDeliveryConfig, StoreContext, StoreFactory, LucidStoreConfig, ImageProcessorFactory, DiskFactory, S3DiskConfig, S3Credentials, UploadMode, UploadSessionStoreContext, UploadSessionStoreFactory, LucidUploadSessionStoreConfig, } from './define_config.js';
3
3
  export { MediaManager } from './media_manager.js';
4
4
  export type { MediaManagerOptions } from './media_manager.js';
5
5
  export { UploadManager } from './upload_manager.js';
@@ -10,10 +10,16 @@ export { ResumableUploadManager } from './resumable_upload.js';
10
10
  export type { ResumableUploadManagerOptions, UploadSession, UploadSessionStore, UploadSessionListFilter, CreateUploadInput, } from './resumable_upload.js';
11
11
  export { TusUploadHandler, parseTusMetadata, TUS_VERSION } from './tus.js';
12
12
  export type { TusRequest, TusResponse, TusUploadHandlerOptions } from './tus.js';
13
+ export { MediaDeliveryHandler, resolveDeliveryMode, DEFAULT_DELIVERY_SIGNED_TTL_SECONDS, } from './delivery.js';
14
+ export type { DeliveryMode, ResolvedDeliveryMode, DeliveryResult, DeliveryRequest, MediaDeliveryHandlerOptions, } from './delivery.js';
15
+ export { detectMimeType, isDetectableMimeType, isClosedSignatureWhitelist, verifyContentAgainstWhitelist, SIGNATURE_HEAD_BYTES, } from './content_type.js';
16
+ export type { ContentVerdict } from './content_type.js';
17
+ export { createDriveBackedResolver } from './disks/drive.js';
18
+ export type { DriveManagerLike, DriveServiceModule, DriveBackedResolverOptions, } from './disks/drive.js';
13
19
  export { isMultipartCapable } from './multipart.js';
14
20
  export { isExtendedDisk } from './extended_disk.js';
15
21
  export { MediaLibrary } from './media_library.js';
16
- export type { MediaLibraryOptions, AttachInput, AttachExistingInput, OwnerMediaBinding, MediaSignedUrlOptions, } from './media_library.js';
22
+ export type { MediaLibraryOptions, AttachInput, AttachExistingInput, OwnerMediaBinding, MediaSignedUrlOptions, DeliverOptions, } from './media_library.js';
17
23
  export { Attachment, AttachmentManager, } from './attachment.js';
18
24
  export type { AttachmentData, AttachmentVariant, AttachmentManagerOptions, CreateAttachmentInput, CreateAttachmentOptions, AttachmentSignedUrlOptions, } from './attachment.js';
19
25
  export { StorageManager } from './storage_manager.js';
@@ -26,6 +32,6 @@ export type { MediaCollectionConfig } from './media_collection.js';
26
32
  export type { ConversionPreset, ConversionResult, ImageProcessor } from './image_processor.js';
27
33
  export type { Disk, DiskResolver, DiskWriteOptions, DiskMetaData, SignedUrlOptions, MultipartPart, MultipartUploadDisk, ExtendedDisk, DiskCapabilities, DiskStat, CopyOptions, ListOptions, ListEntry, ListResult, } from './types.js';
28
34
  export type { MediaDiagnosticEvent, MediaDiagnosticPayloads, AttachPayload, DeletePayload, ConversionPayload, AttachmentCreatePayload, AttachmentDeletePayload, UploadStartPayload, UploadProgressPayload, UploadCompletePayload, UploadAbortPayload, } from './diagnostics.js';
29
- export { MimeNotAllowedError, MediaNotFoundError, MediaObjectMissingError, ConversionNotDefinedError, ImageProcessorMissingError, VariantNotFoundError, StoreNotConfiguredError, UploadNotSupportedError, UploadSessionNotFoundError, UploadOffsetConflictError, UploadSessionExpiredError, UploadSessionStoreNotConfiguredError, ResumableUploadsNotConfiguredError, } from './errors.js';
35
+ export { MimeNotAllowedError, ContentTypeMismatchError, ContentSignatureUnrecognizedError, DriveNotReadyError, MediaNotFoundError, MediaObjectMissingError, ConversionNotDefinedError, ImageProcessorMissingError, VariantNotFoundError, StoreNotConfiguredError, UploadNotSupportedError, UploadSessionNotFoundError, UploadOffsetConflictError, UploadSessionExpiredError, UploadSessionStoreNotConfiguredError, ResumableUploadsNotConfiguredError, } from './errors.js';
30
36
  export { configure } from '../configure.js';
31
37
  //# sourceMappingURL=index.d.ts.map