@adonis-agora/media 0.22.0 → 0.23.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 (48) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +65 -5
  3. package/dist/providers/media_provider.d.ts.map +1 -1
  4. package/dist/providers/media_provider.js +3 -0
  5. package/dist/providers/media_provider.js.map +1 -1
  6. package/dist/src/access.d.ts +103 -0
  7. package/dist/src/access.d.ts.map +1 -0
  8. package/dist/src/access.js +80 -0
  9. package/dist/src/access.js.map +1 -0
  10. package/dist/src/define_config.d.ts +14 -0
  11. package/dist/src/define_config.d.ts.map +1 -1
  12. package/dist/src/define_config.js.map +1 -1
  13. package/dist/src/delivery.d.ts +9 -0
  14. package/dist/src/delivery.d.ts.map +1 -1
  15. package/dist/src/delivery.js +3 -1
  16. package/dist/src/delivery.js.map +1 -1
  17. package/dist/src/errors.d.ts +14 -0
  18. package/dist/src/errors.d.ts.map +1 -1
  19. package/dist/src/errors.js +24 -0
  20. package/dist/src/errors.js.map +1 -1
  21. package/dist/src/index.d.ts +6 -2
  22. package/dist/src/index.d.ts.map +1 -1
  23. package/dist/src/index.js +3 -1
  24. package/dist/src/index.js.map +1 -1
  25. package/dist/src/integrations/authkit.d.ts +57 -0
  26. package/dist/src/integrations/authkit.d.ts.map +1 -0
  27. package/dist/src/integrations/authkit.js +71 -0
  28. package/dist/src/integrations/authkit.js.map +1 -0
  29. package/dist/src/integrations/authz.d.ts +36 -0
  30. package/dist/src/integrations/authz.d.ts.map +1 -0
  31. package/dist/src/integrations/authz.js +51 -0
  32. package/dist/src/integrations/authz.js.map +1 -0
  33. package/dist/src/media_access.d.ts +108 -0
  34. package/dist/src/media_access.d.ts.map +1 -0
  35. package/dist/src/media_access.js +179 -0
  36. package/dist/src/media_access.js.map +1 -0
  37. package/dist/src/media_collection.d.ts +11 -0
  38. package/dist/src/media_collection.d.ts.map +1 -1
  39. package/dist/src/media_collection.js.map +1 -1
  40. package/dist/src/media_library.d.ts +3 -0
  41. package/dist/src/media_library.d.ts.map +1 -1
  42. package/dist/src/media_library.js +2 -2
  43. package/dist/src/media_library.js.map +1 -1
  44. package/dist/src/media_manager.d.ts +6 -0
  45. package/dist/src/media_manager.d.ts.map +1 -1
  46. package/dist/src/media_manager.js +7 -0
  47. package/dist/src/media_manager.js.map +1 -1
  48. package/package.json +26 -4
@@ -389,4 +389,28 @@ export class DeliverySignatureError extends Error {
389
389
  this.name = 'DeliverySignatureError';
390
390
  }
391
391
  }
392
+ /**
393
+ * A media read or write was refused by its authorization rule (`media.access`, the delivery route,
394
+ * a collection's `access`). `status` is the HTTP answer: `401` when the request is anonymous,
395
+ * `403` when the signed-in user is not allowed.
396
+ */
397
+ export class MediaAccessDeniedError extends Error {
398
+ action;
399
+ collection;
400
+ mediaId;
401
+ anonymous;
402
+ code = 'E_MEDIA_ACCESS_DENIED';
403
+ status;
404
+ constructor(action, collection, mediaId, anonymous) {
405
+ super(anonymous
406
+ ? `Sign in to ${action} media in collection "${collection}".`
407
+ : `Not allowed to ${action} media in collection "${collection}".`);
408
+ this.action = action;
409
+ this.collection = collection;
410
+ this.mediaId = mediaId;
411
+ this.anonymous = anonymous;
412
+ this.name = 'MediaAccessDeniedError';
413
+ this.status = anonymous ? 401 : 403;
414
+ }
415
+ }
392
416
  //# sourceMappingURL=errors.js.map
@@ -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,9 +1,11 @@
1
1
  export { configure } from '../configure.js';
2
+ export type { MediaAccessRequest, MediaAction, MediaAuthorizer, MediaCollectionAccess, MediaIdentityResolver, MediaSubject, } from './access.js';
3
+ export { adonisAuthIdentity, authorizers } from './access.js';
2
4
  export type { AttachmentData, AttachmentManagerOptions, AttachmentSignedUrlOptions, AttachmentVariant, CreateAttachmentInput, CreateAttachmentOptions, } from './attachment.js';
3
5
  export { Attachment, AttachmentManager, } from './attachment.js';
4
6
  export type { ContentVerdict } from './content_type.js';
5
7
  export { detectMimeType, isClosedSignatureWhitelist, isDetectableMimeType, SIGNATURE_HEAD_BYTES, verifyContentAgainstWhitelist, } from './content_type.js';
6
- export type { DiskFactory, ImageProcessorFactory, InferConversions, InferTransformers, LucidStoreConfig, LucidUploadSessionStoreConfig, MediaConfig, MediaDeliveryConfig, MediaDirectUploadConfig, MediaResumableConfig, MediaUploadsConfig, S3Credentials, S3DiskConfig, StoreContext, StoreFactory, UploadMode, UploadSessionStoreContext, UploadSessionStoreFactory, } from './define_config.js';
8
+ export type { DiskFactory, ImageProcessorFactory, InferConversions, InferTransformers, LucidStoreConfig, LucidUploadSessionStoreConfig, MediaAccessConfig, MediaConfig, MediaDeliveryConfig, MediaDirectUploadConfig, MediaResumableConfig, MediaUploadsConfig, S3Credentials, S3DiskConfig, StoreContext, StoreFactory, UploadMode, UploadSessionStoreContext, UploadSessionStoreFactory, } from './define_config.js';
7
9
  export { defineConfig, disks, engines, processors, stores, transformers, uploadSessions, } from './define_config.js';
8
10
  export type { DeliveryMode, DeliveryRequest, DeliveryResult, MediaDeliveryHandlerOptions, OnDemandImageConfig, ResolvedDeliveryMode, } from './delivery.js';
9
11
  export { DEFAULT_DELIVERY_SIGNED_TTL_SECONDS, DEFAULT_IMAGE_QUALITIES, DEFAULT_IMAGE_WIDTHS, MediaDeliveryHandler, resolveDeliveryMode, } from './delivery.js';
@@ -18,7 +20,7 @@ export type { DriveBackedResolverOptions, DriveManagerLike, DriveServiceModule,
18
20
  export { createDriveBackedResolver } from './disks/drive.js';
19
21
  export type { PresignS3UrlInput, SigV4Credentials } from './disks/sigv4.js';
20
22
  export { presignS3Url } from './disks/sigv4.js';
21
- export { ContentSignatureUnrecognizedError, ContentTypeMismatchError, ConversionArtifactMissingError, ConversionNotDefinedError, DeliverySignatureError, DirectUploadsNotConfiguredError, DriveNotReadyError, FfmpegFailedError, HlsSourceUnsupportedError, ImageProcessorMissingError, ImageSizeNotAllowedError, MediaNotFoundError, MediaObjectMissingError, MimeNotAllowedError, NotAnImageError, ResumableUploadsNotConfiguredError, StoreNotConfiguredError, TransformerConflictError, TransformerNotDefinedError, TransformerOutputError, TransformerRuntimeMissingError, TransformNotReadyError, UnsafeFileNameError, UploadNotSupportedError, UploadOffsetConflictError, UploadPartOutOfRangeError, UploadPartSizeError, UploadPartsIncompleteError, UploadSessionExpiredError, UploadSessionNotFoundError, UploadSessionStoreNotConfiguredError, VariantNotFoundError, } from './errors.js';
23
+ export { ContentSignatureUnrecognizedError, ContentTypeMismatchError, ConversionArtifactMissingError, ConversionNotDefinedError, DeliverySignatureError, DirectUploadsNotConfiguredError, DriveNotReadyError, FfmpegFailedError, HlsSourceUnsupportedError, ImageProcessorMissingError, ImageSizeNotAllowedError, MediaAccessDeniedError, MediaNotFoundError, MediaObjectMissingError, MimeNotAllowedError, NotAnImageError, ResumableUploadsNotConfiguredError, StoreNotConfiguredError, TransformerConflictError, TransformerNotDefinedError, TransformerOutputError, TransformerRuntimeMissingError, TransformNotReadyError, UnsafeFileNameError, UploadNotSupportedError, UploadOffsetConflictError, UploadPartOutOfRangeError, UploadPartSizeError, UploadPartsIncompleteError, UploadSessionExpiredError, UploadSessionNotFoundError, UploadSessionStoreNotConfiguredError, VariantNotFoundError, } from './errors.js';
22
24
  export { isExtendedDisk } from './extended_disk.js';
23
25
  export { sanitizeFileName } from './file_name.js';
24
26
  export type { HlsDeliveryHandlerOptions, HlsDeliveryRequest, HlsDeliveryResult, HlsFileRef, HlsUrlBuilder, } from './hls/delivery.js';
@@ -26,6 +28,8 @@ export { HlsDeliveryHandler } from './hls/delivery.js';
26
28
  export type { HlsUriRef, HlsUriRewriter } from './hls/playlist.js';
27
29
  export { classifyUri, HLS_PLAYLIST_CONTENT_TYPE, HLS_SEGMENT_CONTENT_TYPE, hlsArtifactContentType, isRelativeUri, resolvePackagePath, rewriteHlsPlaylist, } from './hls/playlist.js';
28
30
  export type { ConversionPreset, ConversionResult, ConvertOptions, CropPosition, FocalPoint, ImageProcessor, } from './image_processor.js';
31
+ export type { DeliveryRouteContext, MediaDeliveryRouteOptions } from './media_access.js';
32
+ export { MediaAccess } from './media_access.js';
29
33
  export type { MediaCollectionConfig } from './media_collection.js';
30
34
  export { MediaCollectionRegistry } from './media_collection.js';
31
35
  export type { AttachExistingInput, AttachInput, DeliverOptions, MediaLibraryOptions, MediaSignedUrlOptions, OwnerMediaBinding, } from './media_library.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -2,6 +2,7 @@
2
2
  // `node ace configure` reaches the hook through this entry point, not through the package's
3
3
  // `./configure` export path.
4
4
  export { configure } from '../configure.js';
5
+ export { adonisAuthIdentity, authorizers } from './access.js';
5
6
  export { Attachment, AttachmentManager, } from './attachment.js';
6
7
  // Real-content validation (magic-byte signatures behind `acceptsMimeTypes`)
7
8
  export { detectMimeType, isClosedSignatureWhitelist, isDetectableMimeType, SIGNATURE_HEAD_BYTES, verifyContentAgainstWhitelist, } from './content_type.js';
@@ -18,7 +19,7 @@ export { createDriveBackedResolver } from './disks/drive.js';
18
19
  // wiring presigned URLs outside the bundled disk)
19
20
  export { presignS3Url } from './disks/sigv4.js';
20
21
  // Errors
21
- export { ContentSignatureUnrecognizedError, ContentTypeMismatchError, ConversionArtifactMissingError, ConversionNotDefinedError, DeliverySignatureError, DirectUploadsNotConfiguredError, DriveNotReadyError, FfmpegFailedError, HlsSourceUnsupportedError, ImageProcessorMissingError, ImageSizeNotAllowedError, MediaNotFoundError, MediaObjectMissingError, MimeNotAllowedError, NotAnImageError, ResumableUploadsNotConfiguredError, StoreNotConfiguredError, TransformerConflictError, TransformerNotDefinedError, TransformerOutputError, TransformerRuntimeMissingError, TransformNotReadyError, UnsafeFileNameError, UploadNotSupportedError, UploadOffsetConflictError, UploadPartOutOfRangeError, UploadPartSizeError, UploadPartsIncompleteError, UploadSessionExpiredError, UploadSessionNotFoundError, UploadSessionStoreNotConfiguredError, VariantNotFoundError, } from './errors.js';
22
+ export { ContentSignatureUnrecognizedError, ContentTypeMismatchError, ConversionArtifactMissingError, ConversionNotDefinedError, DeliverySignatureError, DirectUploadsNotConfiguredError, DriveNotReadyError, FfmpegFailedError, HlsSourceUnsupportedError, ImageProcessorMissingError, ImageSizeNotAllowedError, MediaAccessDeniedError, MediaNotFoundError, MediaObjectMissingError, MimeNotAllowedError, NotAnImageError, ResumableUploadsNotConfiguredError, StoreNotConfiguredError, TransformerConflictError, TransformerNotDefinedError, TransformerOutputError, TransformerRuntimeMissingError, TransformNotReadyError, UnsafeFileNameError, UploadNotSupportedError, UploadOffsetConflictError, UploadPartOutOfRangeError, UploadPartSizeError, UploadPartsIncompleteError, UploadSessionExpiredError, UploadSessionNotFoundError, UploadSessionStoreNotConfiguredError, VariantNotFoundError, } from './errors.js';
22
23
  export { isExtendedDisk } from './extended_disk.js';
23
24
  // Validates a client-supplied upload file name before it reaches a storage key; the same guard the
24
25
  // built-in `keyFor` defaults and `MediaLibrary#layoutPath` run every file name through.
@@ -26,6 +27,7 @@ export { sanitizeFileName } from './file_name.js';
26
27
  export { HlsDeliveryHandler } from './hls/delivery.js';
27
28
  // HLS delivery (playlist rewriting + the framework-agnostic package handler)
28
29
  export { classifyUri, HLS_PLAYLIST_CONTENT_TYPE, HLS_SEGMENT_CONTENT_TYPE, hlsArtifactContentType, isRelativeUri, resolvePackagePath, rewriteHlsPlaylist, } from './hls/playlist.js';
30
+ export { MediaAccess } from './media_access.js';
29
31
  export { MediaCollectionRegistry } from './media_collection.js';
30
32
  export { MediaLibrary } from './media_library.js';
31
33
  // Manager + layers
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import type { MediaIdentityResolver } from '../access.js';
2
+ /**
3
+ * The bits of `@adonis-agora/authkit-server` this integration uses — typed structurally so the
4
+ * media package carries no dependency on it.
5
+ */
6
+ interface AuthkitServerModule {
7
+ getAccountId(ctx: unknown): string | null;
8
+ realAccountId(ctx: unknown): string | null;
9
+ }
10
+ /** The bits of `@adonis-agora/authkit-client` this integration uses. */
11
+ interface AuthkitClientModule {
12
+ getAuthkit(ctx: unknown): Promise<{
13
+ getIdentity(): Promise<{
14
+ userId: string;
15
+ globalRoles?: string[];
16
+ orgId?: string | null;
17
+ } | null>;
18
+ }>;
19
+ }
20
+ export interface AuthkitIdentityOptions {
21
+ /**
22
+ * Which side of authkit this app is:
23
+ * - `'server'` — the app IS the identity provider (`@adonis-agora/authkit-server`): the account
24
+ * comes from the console session (`getAccountId`, impersonation-aware; `realAccountId` for
25
+ * permission checks);
26
+ * - `'client'` — the app signs in against one (`@adonis-agora/authkit-client`): the identity
27
+ * comes from `ctx.authkit` (`getAuthkit(ctx).getIdentity()`), with its global roles and active
28
+ * organization;
29
+ * - `'auto'` (default) — the client when the request carries `ctx.authkit`, the server when its
30
+ * package is installed, the client otherwise.
31
+ */
32
+ side?: 'auto' | 'server' | 'client';
33
+ /** Subject type handed to authz. Default `'user'`. */
34
+ type?: string;
35
+ /** @internal test seams: how the authkit packages are loaded. */
36
+ load?: {
37
+ server?: () => Promise<AuthkitServerModule>;
38
+ client?: () => Promise<AuthkitClientModule>;
39
+ };
40
+ }
41
+ /**
42
+ * `access.identity` for apps on authkit — who the current user is, as authkit sees them:
43
+ *
44
+ * ```ts
45
+ * // config/media.ts
46
+ * import { authkitIdentity } from '@adonis-agora/media/authkit'
47
+ * export default defineConfig({ access: { identity: authkitIdentity() } })
48
+ * ```
49
+ *
50
+ * On the server side, `id` is the account the request acts as (an impersonating admin sees the
51
+ * user's files) and `realId` the human behind it (what `@adonis-agora/media/authz` checks
52
+ * permissions for). On the client side both are the token's `sub`, with its global roles and
53
+ * active organization as `roles` / `tenantId`.
54
+ */
55
+ export declare function authkitIdentity(options?: AuthkitIdentityOptions): MediaIdentityResolver;
56
+ export {};
57
+ //# sourceMappingURL=authkit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authkit.d.ts","sourceRoot":"","sources":["../../../src/integrations/authkit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAgB,MAAM,cAAc,CAAC;AAExE;;;GAGG;AACH,UAAU,mBAAmB;IAC3B,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;CAC5C;AAED,wEAAwE;AACxE,UAAU,mBAAmB;IAC3B,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC;QAChC,WAAW,IAAI,OAAO,CAAC;YACrB,MAAM,EAAE,MAAM,CAAC;YACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;YACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SACvB,GAAG,IAAI,CAAC,CAAC;KACX,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpC,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC5C,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;KAC7C,CAAC;CACH;AAOD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,qBAAqB,CA+C3F"}
@@ -0,0 +1,71 @@
1
+ const importServer = () => import('@adonis-agora/authkit-server');
2
+ const importClient = () => import('@adonis-agora/authkit-client');
3
+ /**
4
+ * `access.identity` for apps on authkit — who the current user is, as authkit sees them:
5
+ *
6
+ * ```ts
7
+ * // config/media.ts
8
+ * import { authkitIdentity } from '@adonis-agora/media/authkit'
9
+ * export default defineConfig({ access: { identity: authkitIdentity() } })
10
+ * ```
11
+ *
12
+ * On the server side, `id` is the account the request acts as (an impersonating admin sees the
13
+ * user's files) and `realId` the human behind it (what `@adonis-agora/media/authz` checks
14
+ * permissions for). On the client side both are the token's `sub`, with its global roles and
15
+ * active organization as `roles` / `tenantId`.
16
+ */
17
+ export function authkitIdentity(options = {}) {
18
+ const side = options.side ?? 'auto';
19
+ const type = options.type;
20
+ const loadServer = options.load?.server ?? importServer;
21
+ const loadClient = options.load?.client ?? importClient;
22
+ const fromServer = async (ctx) => {
23
+ const server = await loadServer();
24
+ const id = server.getAccountId(ctx);
25
+ if (!id)
26
+ return null;
27
+ return { id, realId: server.realAccountId(ctx) ?? id, ...(type ? { type } : {}) };
28
+ };
29
+ const fromClient = async (ctx) => {
30
+ const client = await loadClient();
31
+ const identity = await (await client.getAuthkit(ctx)).getIdentity();
32
+ if (!identity)
33
+ return null;
34
+ return {
35
+ id: identity.userId,
36
+ realId: identity.userId,
37
+ roles: identity.globalRoles ?? [],
38
+ tenantId: identity.orgId ?? null,
39
+ ...(type ? { type } : {}),
40
+ };
41
+ };
42
+ return async (ctx) => {
43
+ if (side === 'server')
44
+ return fromServer(ctx);
45
+ if (side === 'client')
46
+ return fromClient(ctx);
47
+ if (ctx.authkit)
48
+ return fromClient(ctx);
49
+ try {
50
+ return await fromServer(ctx);
51
+ }
52
+ catch (error) {
53
+ if (!isModuleNotFound(error))
54
+ throw error;
55
+ }
56
+ try {
57
+ return await fromClient(ctx);
58
+ }
59
+ catch (error) {
60
+ if (!isModuleNotFound(error))
61
+ throw error;
62
+ throw new Error("authkitIdentity() needs '@adonis-agora/authkit-server' (an identity-provider app) or " +
63
+ "'@adonis-agora/authkit-client' (an app signing in against one), and neither is " +
64
+ 'installed. Install the one this app uses, or set `access.identity` to another resolver.', { cause: error });
65
+ }
66
+ };
67
+ }
68
+ function isModuleNotFound(error) {
69
+ return error?.code === 'ERR_MODULE_NOT_FOUND';
70
+ }
71
+ //# sourceMappingURL=authkit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authkit.js","sourceRoot":"","sources":["../../../src/integrations/authkit.ts"],"names":[],"mappings":"AA4CA,MAAM,YAAY,GAAG,GAAG,EAAE,CACxB,MAAM,CAAC,8BAAwC,CAAiC,CAAC;AACnF,MAAM,YAAY,GAAG,GAAG,EAAE,CACxB,MAAM,CAAC,8BAAwC,CAAiC,CAAC;AAEnF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAAC,OAAO,GAA2B,EAAE;IAClE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,IAAI,YAAY,CAAC;IACxD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,IAAI,YAAY,CAAC;IAExD,MAAM,UAAU,GAAG,KAAK,EAAE,GAAY,EAAgC,EAAE;QACtE,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACrB,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpF,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,EAAE,GAAY,EAAgC,EAAE;QACtE,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACpE,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,MAAM;YACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,KAAK,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;YACjC,QAAQ,EAAE,QAAQ,CAAC,KAAK,IAAI,IAAI;YAChC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1B,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE;QACnB,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAK,GAA6B,CAAC,OAAO;YAAE,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,CAAC;YACH,OAAO,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC;YACH,OAAO,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;YAC1C,MAAM,IAAI,KAAK,CACb,uFAAuF;gBACrF,iFAAiF;gBACjF,yFAAyF,EAC3F,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAQ,KAA2B,EAAE,IAAI,KAAK,sBAAsB,CAAC;AACvE,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { MediaAccessRequest, MediaAuthorizer } from '../access.js';
2
+ /** The bits of `@adonis-agora/authz`'s service this integration uses (typed structurally). */
3
+ interface AuthzService {
4
+ can(user: unknown, permission: string, options?: {
5
+ scope?: unknown;
6
+ }): Promise<boolean>;
7
+ hasAnyRole(user: unknown, roles: string[], options?: {
8
+ scope?: unknown;
9
+ }): Promise<boolean>;
10
+ }
11
+ export interface AuthzRuleOptions {
12
+ /** Explicit authz tenant scope for the check. Default: authz's own resolvers (`resolveTenant`). */
13
+ scope?: (request: MediaAccessRequest) => unknown;
14
+ /** @internal test seam: how the authz service is loaded. */
15
+ load?: () => Promise<AuthzService>;
16
+ }
17
+ /**
18
+ * Media authorizers backed by `@adonis-agora/authz` (an optional peer, loaded on first use).
19
+ * Wildcards, roles → permissions, super-admins and tenancy all apply, as in any authz check.
20
+ *
21
+ * ```ts
22
+ * import { authorizers } from '@adonis-agora/media'
23
+ * import { authz } from '@adonis-agora/media/authz'
24
+ *
25
+ * { name: 'prescription', access: { read: authorizers.any(authorizers.owner(), authz.can('prescriptions.read')) } }
26
+ * { name: 'reports', access: { read: authz.can(({ collection, action }) => `media.${collection}.${action}`) } }
27
+ * ```
28
+ */
29
+ export declare const authz: {
30
+ /** The user holds `permission` (a string, or derived from the request). Anonymous ⇒ no. */
31
+ can(permission: string | ((request: MediaAccessRequest) => string), options?: AuthzRuleOptions): MediaAuthorizer;
32
+ /** The user has any of these roles in authz (store roles, `resolveRoles`, token roles). */
33
+ roles(roles: readonly string[], options?: AuthzRuleOptions): MediaAuthorizer;
34
+ };
35
+ export {};
36
+ //# sourceMappingURL=authz.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authz.d.ts","sourceRoot":"","sources":["../../../src/integrations/authz.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAgB,MAAM,cAAc,CAAC;AAEtF,8FAA8F;AAC9F,UAAU,YAAY;IACpB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxF,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7F;AAED,MAAM,WAAW,gBAAgB;IAC/B,mGAAmG;IACnG,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC;IACjD,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;CACpC;AAiBD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,KAAK;IAChB,2FAA2F;IAC3F,GAAG,aACW,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,kBAAkB,KAAK,MAAM,CAAC,YACrD,gBAAgB,GACxB,eAAe;IAWlB,2FAA2F;IAC3F,KAAK,QAAQ,SAAS,MAAM,EAAE,YAAW,gBAAgB,GAAQ,eAAe;CAajF,CAAC"}
@@ -0,0 +1,51 @@
1
+ const importAuthz = async () => (await import('@adonis-agora/authz/services/main'))
2
+ .default;
3
+ /**
4
+ * What authz is asked about: the app's own user object when the identity has one (so a custom
5
+ * `resolveSubjectRef` keeps working), otherwise the `{ type, id }` reference of the human behind
6
+ * the request — `realId`, never the impersonated account: an admin acting as someone must not
7
+ * gain that someone's permissions, nor lose their own.
8
+ */
9
+ function authzSubject(subject) {
10
+ if (subject.user != null)
11
+ return subject.user;
12
+ return { type: subject.type ?? 'user', id: subject.realId ?? subject.id };
13
+ }
14
+ /**
15
+ * Media authorizers backed by `@adonis-agora/authz` (an optional peer, loaded on first use).
16
+ * Wildcards, roles → permissions, super-admins and tenancy all apply, as in any authz check.
17
+ *
18
+ * ```ts
19
+ * import { authorizers } from '@adonis-agora/media'
20
+ * import { authz } from '@adonis-agora/media/authz'
21
+ *
22
+ * { name: 'prescription', access: { read: authorizers.any(authorizers.owner(), authz.can('prescriptions.read')) } }
23
+ * { name: 'reports', access: { read: authz.can(({ collection, action }) => `media.${collection}.${action}`) } }
24
+ * ```
25
+ */
26
+ export const authz = {
27
+ /** The user holds `permission` (a string, or derived from the request). Anonymous ⇒ no. */
28
+ can(permission, options = {}) {
29
+ const load = options.load ?? importAuthz;
30
+ return async (request) => {
31
+ if (!request.subject)
32
+ return false;
33
+ const service = await load();
34
+ const name = typeof permission === 'function' ? permission(request) : permission;
35
+ const scope = options.scope?.(request);
36
+ return service.can(authzSubject(request.subject), name, scope !== undefined ? { scope } : {});
37
+ };
38
+ },
39
+ /** The user has any of these roles in authz (store roles, `resolveRoles`, token roles). */
40
+ roles(roles, options = {}) {
41
+ const load = options.load ?? importAuthz;
42
+ return async (request) => {
43
+ if (!request.subject)
44
+ return false;
45
+ const service = await load();
46
+ const scope = options.scope?.(request);
47
+ return service.hasAnyRole(authzSubject(request.subject), [...roles], scope !== undefined ? { scope } : {});
48
+ };
49
+ },
50
+ };
51
+ //# sourceMappingURL=authz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authz.js","sourceRoot":"","sources":["../../../src/integrations/authz.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,GAAG,KAAK,IAA2B,EAAE,CACnD,CAAC,MAAM,MAAM,CAAC,mCAA6C,CAAC,CAA+B;KACzF,OAAO,CAAC;AAEb;;;;;GAKG;AACH,SAAS,YAAY,CAAC,OAAqB;IACzC,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC;IAC9C,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;AAC5E,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,2FAA2F;IAC3F,GAAG,CACD,UAA8D,EAC9D,OAAO,GAAqB,EAAE;QAE9B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC;QACzC,OAAO,KAAK,EAAE,OAAO,EAAE,EAAE;YACvB,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,IAAI,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,OAAO,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YACjF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC;YACvC,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChG,CAAC,CAAC;IACJ,CAAC;IAED,2FAA2F;IAC3F,KAAK,CAAC,KAAwB,EAAE,OAAO,GAAqB,EAAE;QAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC;QACzC,OAAO,KAAK,EAAE,OAAO,EAAE,EAAE;YACvB,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,IAAI,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC;YACvC,OAAO,OAAO,CAAC,UAAU,CACvB,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,EAC7B,CAAC,GAAG,KAAK,CAAC,EACV,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CACrC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,108 @@
1
+ import type { Readable } from 'node:stream';
2
+ import { type MediaAction, type MediaAuthorizer, type MediaIdentityResolver, type MediaSubject } from './access.js';
3
+ import type { DeliveryMode } from './delivery.js';
4
+ import type { MediaLibrary } from './media_library.js';
5
+ import type { MediaRecord } from './media_record.js';
6
+ import type { ResponsiveImage, ResponsiveImageOptions } from './responsive_image.js';
7
+ /**
8
+ * The slice of an AdonisJS `HttpContext` the delivery route uses — typed structurally so the
9
+ * route works with the real context and with a test double alike.
10
+ */
11
+ export interface DeliveryRouteContext {
12
+ params: Record<string, unknown>;
13
+ request: {
14
+ qs(): Record<string, unknown>;
15
+ header(name: string): string | undefined | null;
16
+ };
17
+ response: {
18
+ status(code: number): {
19
+ json(body: unknown): unknown;
20
+ } | unknown;
21
+ header(name: string, value: string): unknown;
22
+ redirect(url: string): unknown;
23
+ stream(stream: Readable): unknown;
24
+ };
25
+ }
26
+ export interface MediaDeliveryRouteOptions {
27
+ /**
28
+ * Who may read. Default: the record's collection `access.read`. With neither, every request is
29
+ * refused — the route never serves by default.
30
+ */
31
+ authorize?: MediaAuthorizer;
32
+ /** Route parameter holding the media id. Default `'id'`. */
33
+ param?: string;
34
+ /**
35
+ * `Cache-Control` for what the route serves. Default `'private, max-age=60'`: a personal file
36
+ * must not be kept by a shared cache, and a minute absorbs a page rendering it many times.
37
+ */
38
+ cacheControl?: string;
39
+ /** Override `delivery.mode` for this route. */
40
+ mode?: DeliveryMode;
41
+ /** Signed-URL lifetime when the resolved mode is `signed`. */
42
+ signedTtlSeconds?: number;
43
+ }
44
+ /**
45
+ * Authorization for media, wired to the app's identity (`access.identity` — authkit, AdonisJS
46
+ * auth or your own) and the collections' `access` policies. `media.access` on the manager.
47
+ *
48
+ * The library still never decides authorization by itself: every rule comes from the app —
49
+ * a collection's `access`, or an `authorize` passed in. This is the plumbing that applies them.
50
+ */
51
+ export declare class MediaAccess {
52
+ #private;
53
+ constructor(options: {
54
+ library: MediaLibrary;
55
+ identity?: MediaIdentityResolver | undefined;
56
+ });
57
+ /** The current user per the configured identity resolver, or `null`. */
58
+ subject(ctx: unknown): Promise<MediaSubject | null>;
59
+ /**
60
+ * May the current user perform `action`? `target` is the record (read) or the collection a file
61
+ * is going into (write). The rule is `authorize` when given, otherwise the collection's
62
+ * `access[action]`; neither ⇒ `false`.
63
+ */
64
+ can(ctx: unknown, action: MediaAction, target: MediaRecord | {
65
+ collection: string;
66
+ }, authorize?: MediaAuthorizer): Promise<boolean>;
67
+ /**
68
+ * {@link can}, throwing {@link MediaAccessDeniedError} when refused — `401` for an anonymous
69
+ * request, `403` otherwise. Use it in your own controllers and upload policies:
70
+ *
71
+ * ```ts
72
+ * // DirectUploadPolicy.onInitiate
73
+ * await media.access.authorize(ctx, 'write', { collection: 'avatar' })
74
+ * ```
75
+ */
76
+ authorize(ctx: unknown, action: MediaAction, target: MediaRecord | {
77
+ collection: string;
78
+ }, authorize?: MediaAuthorizer): Promise<void>;
79
+ /**
80
+ * `media.library.image(id)` for the current user: checks read access first (the collection's
81
+ * `access.read`, or `authorize`), so the URLs it hands out — signed ones especially, which
82
+ * carry their authorization — only ever reach someone allowed to see the file.
83
+ */
84
+ image(ctx: unknown, id: string, options?: ResponsiveImageOptions & {
85
+ authorize?: MediaAuthorizer;
86
+ }): Promise<ResponsiveImage>;
87
+ /**
88
+ * A ready AdonisJS route handler that serves a media record — the delivery route every app was
89
+ * hand-writing:
90
+ *
91
+ * ```ts
92
+ * const serveMedia = media.access.deliveryRoute({ authorize: authorizers.owner() })
93
+ * router.get('/media/:id', serveMedia)
94
+ * ```
95
+ *
96
+ * - authorizes the read (`authorize`, or the collection's `access.read`; neither ⇒ refused),
97
+ * unless the URL carries a valid `delivery.signing` signature — that signature IS the
98
+ * authorization the app made when it issued the URL;
99
+ * - passes `?conversion`, `?w`, `?q`, `Accept`, `?exp`, `?sig` through (on-demand resize,
100
+ * format negotiation, signed URLs);
101
+ * - redirects or streams per `delivery.mode`, with `Content-Type`, `Content-Length`,
102
+ * `Content-Disposition: inline`, `Cache-Control` (private by default) and `Vary: Accept`;
103
+ * - answers the library's errors as HTTP: 404 (unknown record or conversion), 400 (size not
104
+ * allowed, not an image), 401/403 (not signed in / not allowed / bad signature).
105
+ */
106
+ deliveryRoute(options?: MediaDeliveryRouteOptions): (ctx: DeliveryRouteContext) => Promise<unknown>;
107
+ }
108
+ //# sourceMappingURL=media_access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media_access.d.ts","sourceRoot":"","sources":["../../src/media_access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EAElB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAUlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAErF;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE;QACP,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;KACjD,CAAC;IACF,QAAQ,EAAE;QACR,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG;YAAE,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAA;SAAE,GAAG,OAAO,CAAC;QACjE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAC7C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC;KACnC,CAAC;CACH;AAED,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,qBAAa,WAAW;;IAItB,YAAY,OAAO,EAAE;QAAE,OAAO,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAA;KAAE,EAG3F;IAED,wEAAwE;IAClE,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAExD;IAED;;;;OAIG;IACG,GAAG,CACP,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,WAAW,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,EAC5C,SAAS,CAAC,EAAE,eAAe,GAC1B,OAAO,CAAC,OAAO,CAAC,CAElB;IAiBD;;;;;;;;OAQG;IACG,SAAS,CACb,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,WAAW,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,EAC5C,SAAS,CAAC,EAAE,eAAe,GAC1B,OAAO,CAAC,IAAI,CAAC,CASf;IAED;;;;OAIG;IACG,KAAK,CACT,GAAG,EAAE,OAAO,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,sBAAsB,GAAG;QAAE,SAAS,CAAC,EAAE,eAAe,CAAA;KAAO,GACrE,OAAO,CAAC,eAAe,CAAC,CAM1B;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,aAAa,CACX,OAAO,GAAE,yBAA8B,GACtC,CAAC,GAAG,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,CA2DjD;CACF"}