@marinoscar/platform-api 0.1.0-next.22 → 0.1.0-next.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/dist/core/data-access/access-reason.registry.d.ts +4 -1
- package/dist/core/data-access/access-reason.registry.d.ts.map +1 -1
- package/dist/core/data-access/access-reason.registry.js +5 -0
- package/dist/core/data-access/access-reason.registry.js.map +1 -1
- package/dist/core/testing/vocabulary-conformance.js +2 -2
- package/dist/core/testing/vocabulary-conformance.js.map +1 -1
- package/dist/notifications/channels/browser-notification.channel.d.ts +11 -0
- package/dist/notifications/channels/browser-notification.channel.d.ts.map +1 -1
- package/dist/notifications/channels/browser-notification.channel.js +71 -48
- package/dist/notifications/channels/browser-notification.channel.js.map +1 -1
- package/dist/notifications/data/notifications-db.d.ts +19 -0
- package/dist/notifications/data/notifications-db.d.ts.map +1 -1
- package/dist/notifications/dto/notification.dto.d.ts +4 -0
- package/dist/notifications/dto/notification.dto.d.ts.map +1 -1
- package/dist/notifications/index.d.ts +1 -1
- package/dist/notifications/index.d.ts.map +1 -1
- package/dist/notifications/index.js.map +1 -1
- package/dist/notifications/notification-inbox-writer.d.ts +112 -0
- package/dist/notifications/notification-inbox-writer.d.ts.map +1 -0
- package/dist/notifications/notification-inbox-writer.js +217 -0
- package/dist/notifications/notification-inbox-writer.js.map +1 -0
- package/dist/notifications/notification-store.service.d.ts +10 -0
- package/dist/notifications/notification-store.service.d.ts.map +1 -1
- package/dist/notifications/notification-store.service.js +55 -10
- package/dist/notifications/notification-store.service.js.map +1 -1
- package/dist/notifications/notification-stream.service.d.ts +8 -0
- package/dist/notifications/notification-stream.service.d.ts.map +1 -1
- package/dist/notifications/notification-stream.service.js.map +1 -1
- package/dist/notifications/notification.types.d.ts +74 -0
- package/dist/notifications/notification.types.d.ts.map +1 -1
- package/dist/notifications/notification.types.js.map +1 -1
- package/dist/notifications/notifications.controller.d.ts +1 -0
- package/dist/notifications/notifications.controller.d.ts.map +1 -1
- package/dist/notifications/notifications.controller.js +23 -0
- package/dist/notifications/notifications.controller.js.map +1 -1
- package/dist/notifications/notifications.service.d.ts +56 -1
- package/dist/notifications/notifications.service.d.ts.map +1 -1
- package/dist/notifications/notifications.service.js +122 -0
- package/dist/notifications/notifications.service.js.map +1 -1
- package/dist/notifications/registry/event.registry.d.ts +15 -0
- package/dist/notifications/registry/event.registry.d.ts.map +1 -1
- package/dist/notifications/registry/event.registry.js +3 -0
- package/dist/notifications/registry/event.registry.js.map +1 -1
- package/dist/notifications/retention/notification-inbox-purge.handler.d.ts.map +1 -1
- package/dist/notifications/retention/notification-inbox-purge.handler.js +16 -4
- package/dist/notifications/retention/notification-inbox-purge.handler.js.map +1 -1
- package/dist/notifications/testing/index.d.ts +2 -0
- package/dist/notifications/testing/index.d.ts.map +1 -1
- package/dist/notifications/testing/index.js +5 -1
- package/dist/notifications/testing/index.js.map +1 -1
- package/dist/sharing/events.d.ts +23 -0
- package/dist/sharing/events.d.ts.map +1 -1
- package/dist/sharing/events.js +1 -0
- package/dist/sharing/events.js.map +1 -1
- package/dist/sharing/groups/group-common.d.ts +1 -1
- package/dist/sharing/groups/group-common.d.ts.map +1 -1
- package/dist/sharing/groups/group-common.js.map +1 -1
- package/dist/sharing/groups/group-invites.service.d.ts +77 -2
- package/dist/sharing/groups/group-invites.service.d.ts.map +1 -1
- package/dist/sharing/groups/group-invites.service.js +181 -0
- package/dist/sharing/groups/group-invites.service.js.map +1 -1
- package/dist/sharing/groups/invite-auto-accept.listener.d.ts +37 -0
- package/dist/sharing/groups/invite-auto-accept.listener.d.ts.map +1 -0
- package/dist/sharing/groups/invite-auto-accept.listener.js +115 -0
- package/dist/sharing/groups/invite-auto-accept.listener.js.map +1 -0
- package/dist/sharing/index.d.ts +5 -3
- package/dist/sharing/index.d.ts.map +1 -1
- package/dist/sharing/index.js +6 -3
- package/dist/sharing/index.js.map +1 -1
- package/dist/sharing/metrics.d.ts +1 -1
- package/dist/sharing/metrics.d.ts.map +1 -1
- package/dist/sharing/metrics.js +1 -0
- package/dist/sharing/metrics.js.map +1 -1
- package/dist/sharing/ports.d.ts +3 -2
- package/dist/sharing/ports.d.ts.map +1 -1
- package/dist/sharing/ports.js.map +1 -1
- package/dist/sharing/sharing.module.d.ts.map +1 -1
- package/dist/sharing/sharing.module.js +3 -0
- package/dist/sharing/sharing.module.js.map +1 -1
- package/dist/sharing/sharing.options.d.ts +39 -5
- package/dist/sharing/sharing.options.d.ts.map +1 -1
- package/dist/sharing/sharing.options.js +17 -8
- package/dist/sharing/sharing.options.js.map +1 -1
- package/dist/storage/config/storage-config.service.d.ts +24 -0
- package/dist/storage/config/storage-config.service.d.ts.map +1 -1
- package/dist/storage/config/storage-config.service.js +31 -5
- package/dist/storage/config/storage-config.service.js.map +1 -1
- package/dist/storage/handlers/storage-cleanup.handler.d.ts +3 -1
- package/dist/storage/handlers/storage-cleanup.handler.d.ts.map +1 -1
- package/dist/storage/handlers/storage-cleanup.handler.js +10 -3
- package/dist/storage/handlers/storage-cleanup.handler.js.map +1 -1
- package/dist/storage/index.d.ts +5 -1
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +12 -3
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/objects/dto/get-part-urls.dto.d.ts +26 -0
- package/dist/storage/objects/dto/get-part-urls.dto.d.ts.map +1 -0
- package/dist/storage/objects/dto/get-part-urls.dto.js +25 -0
- package/dist/storage/objects/dto/get-part-urls.dto.js.map +1 -0
- package/dist/storage/objects/dto/init-upload.dto.d.ts +2 -1
- package/dist/storage/objects/dto/init-upload.dto.d.ts.map +1 -1
- package/dist/storage/objects/objects.controller.d.ts +13 -1
- package/dist/storage/objects/objects.controller.d.ts.map +1 -1
- package/dist/storage/objects/objects.controller.js +88 -1
- package/dist/storage/objects/objects.controller.js.map +1 -1
- package/dist/storage/objects/objects.service.d.ts +46 -1
- package/dist/storage/objects/objects.service.d.ts.map +1 -1
- package/dist/storage/objects/objects.service.js +277 -23
- package/dist/storage/objects/objects.service.js.map +1 -1
- package/dist/storage/objects/part-body-parser.d.ts +30 -0
- package/dist/storage/objects/part-body-parser.d.ts.map +1 -0
- package/dist/storage/objects/part-body-parser.js +45 -0
- package/dist/storage/objects/part-body-parser.js.map +1 -0
- package/dist/storage/objects/part-body.d.ts +23 -0
- package/dist/storage/objects/part-body.d.ts.map +1 -0
- package/dist/storage/objects/part-body.js +48 -0
- package/dist/storage/objects/part-body.js.map +1 -0
- package/dist/storage/processing/object-processing.service.d.ts +4 -1
- package/dist/storage/processing/object-processing.service.d.ts.map +1 -1
- package/dist/storage/processing/object-processing.service.js +11 -3
- package/dist/storage/processing/object-processing.service.js.map +1 -1
- package/dist/storage/profile-image/avatar.service.d.ts +3 -1
- package/dist/storage/profile-image/avatar.service.d.ts.map +1 -1
- package/dist/storage/profile-image/avatar.service.js +8 -3
- package/dist/storage/profile-image/avatar.service.js.map +1 -1
- package/dist/storage/profile-image/profile-image.service.d.ts +4 -1
- package/dist/storage/profile-image/profile-image.service.d.ts.map +1 -1
- package/dist/storage/profile-image/profile-image.service.js +11 -5
- package/dist/storage/profile-image/profile-image.service.js.map +1 -1
- package/dist/storage/providers/index.d.ts +3 -1
- package/dist/storage/providers/index.d.ts.map +1 -1
- package/dist/storage/providers/index.js +8 -1
- package/dist/storage/providers/index.js.map +1 -1
- package/dist/storage/providers/resolving-storage.provider.d.ts +11 -0
- package/dist/storage/providers/resolving-storage.provider.d.ts.map +1 -1
- package/dist/storage/providers/resolving-storage.provider.js +13 -0
- package/dist/storage/providers/resolving-storage.provider.js.map +1 -1
- package/dist/storage/providers/s3/s3-storage.provider.d.ts +9 -1
- package/dist/storage/providers/s3/s3-storage.provider.d.ts.map +1 -1
- package/dist/storage/providers/s3/s3-storage.provider.js +37 -0
- package/dist/storage/providers/s3/s3-storage.provider.js.map +1 -1
- package/dist/storage/providers/storage-provider-router.d.ts +64 -0
- package/dist/storage/providers/storage-provider-router.d.ts.map +1 -0
- package/dist/storage/providers/storage-provider-router.js +161 -0
- package/dist/storage/providers/storage-provider-router.js.map +1 -0
- package/dist/storage/providers/storage-provider.interface.d.ts +34 -1
- package/dist/storage/providers/storage-provider.interface.d.ts.map +1 -1
- package/dist/storage/providers/storage-provider.interface.js.map +1 -1
- package/dist/storage/providers/storage-provider.types.d.ts +86 -0
- package/dist/storage/providers/storage-provider.types.d.ts.map +1 -1
- package/dist/storage/providers/storage-provider.types.js +78 -0
- package/dist/storage/providers/storage-provider.types.js.map +1 -1
- package/dist/storage/providers/storage-providers.module.d.ts.map +1 -1
- package/dist/storage/providers/storage-providers.module.js +3 -1
- package/dist/storage/providers/storage-providers.module.js.map +1 -1
- package/dist/storage/testing/conformance.d.ts +12 -0
- package/dist/storage/testing/conformance.d.ts.map +1 -1
- package/dist/storage/testing/conformance.js +112 -0
- package/dist/storage/testing/conformance.js.map +1 -1
- package/dist/storage/testing/driver-conformance.d.ts +13 -1
- package/dist/storage/testing/driver-conformance.d.ts.map +1 -1
- package/dist/storage/testing/driver-conformance.js +134 -0
- package/dist/storage/testing/driver-conformance.js.map +1 -1
- package/dist/storage/testing/index.d.ts +1 -1
- package/dist/storage/testing/index.d.ts.map +1 -1
- package/dist/storage/testing/index.js +2 -1
- package/dist/storage/testing/index.js.map +1 -1
- package/dist/telemetry/stack/dto/telemetry-stack.dto.d.ts +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3-storage.provider.js","sourceRoot":"","sources":["../../../../src/storage/providers/s3/s3-storage.provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"s3-storage.provider.js","sourceRoot":"","sources":["../../../../src/storage/providers/s3/s3-storage.provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { ConfigService } from '@nestjs/config';
|
|
2
|
+
import { StorageConfigService } from '../config/storage-config.service';
|
|
3
|
+
import { type StorageProvider } from './storage-provider.interface';
|
|
4
|
+
/**
|
|
5
|
+
* Where an object's bytes are recorded to live: the `storage_provider` and
|
|
6
|
+
* `bucket` columns of `storage_objects`.
|
|
7
|
+
*
|
|
8
|
+
* @stability experimental
|
|
9
|
+
*/
|
|
10
|
+
export interface StorageLocation {
|
|
11
|
+
/** The storage driver id the object was written through (`s3`, `r2`, `local`, ...). */
|
|
12
|
+
provider: string;
|
|
13
|
+
/** The bucket, container or root the object was written to. Empty means "the driver's current one". */
|
|
14
|
+
bucket: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Resolves the storage provider of an object's recorded location, so downloads, deletes, existence checks, processing reads and the calls of an in-flight multipart upload keep working after the active driver changes.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* const provider = await this.router.forObject(row);
|
|
22
|
+
* const url = await provider.getSignedDownloadUrl(row.storageKey);
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @extensionPoint token
|
|
26
|
+
* @stability experimental
|
|
27
|
+
*/
|
|
28
|
+
export declare class StorageProviderRouter {
|
|
29
|
+
private readonly active;
|
|
30
|
+
private readonly storageConfig?;
|
|
31
|
+
private readonly configService?;
|
|
32
|
+
private readonly logger;
|
|
33
|
+
private clients;
|
|
34
|
+
constructor(active: StorageProvider, storageConfig?: StorageConfigService | undefined, configService?: ConfigService | undefined);
|
|
35
|
+
/**
|
|
36
|
+
* The provider for a recorded location.
|
|
37
|
+
*
|
|
38
|
+
* @param location - the `(storage_provider, bucket)` pair a row recorded, or `null`/empty for a legacy row.
|
|
39
|
+
* @returns the active provider's client for a null or active location, otherwise a client for the recorded driver.
|
|
40
|
+
* @throws StorageNotConfiguredError (503) when no provider is configured at all (the active one included).
|
|
41
|
+
*/
|
|
42
|
+
forLocation(location: StorageLocation | null): Promise<StorageProvider>;
|
|
43
|
+
/**
|
|
44
|
+
* The provider for a row.
|
|
45
|
+
*
|
|
46
|
+
* @param object - anything carrying the row's `storageProvider` and `bucket`.
|
|
47
|
+
* @returns see {@link StorageProviderRouter.forLocation}.
|
|
48
|
+
*/
|
|
49
|
+
forObject(object: {
|
|
50
|
+
storageProvider: string | null;
|
|
51
|
+
bucket: string | null;
|
|
52
|
+
}): Promise<StorageProvider>;
|
|
53
|
+
/**
|
|
54
|
+
* The row's bucket wins over the driver's current one when they differ and the
|
|
55
|
+
* driver's settings carry a `bucket`: the bytes are where the row says, whatever
|
|
56
|
+
* an administrator has typed since. A driver without a `bucket` setting (a local
|
|
57
|
+
* root) is built as configured.
|
|
58
|
+
*/
|
|
59
|
+
private withRecordedBucket;
|
|
60
|
+
private readonly warned;
|
|
61
|
+
private warnOnce;
|
|
62
|
+
private clientFor;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=storage-provider-router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-provider-router.d.ts","sourceRoot":"","sources":["../../../src/storage/providers/storage-provider-router.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAI/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAGxE,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AA2CtF;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,uFAAuF;IACvF,QAAQ,EAAE,MAAM,CAAC;IACjB,uGAAuG;IACvG,MAAM,EAAE,MAAM,CAAC;CAChB;AAwBD;;;;;;;;;;;GAWG;AACH,qBACa,qBAAqB;IAMJ,OAAO,CAAC,QAAQ,CAAC,MAAM;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IAP7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IAEjE,OAAO,CAAC,OAAO,CAAsB;gBAGQ,MAAM,EAAE,eAAe,EACrC,aAAa,CAAC,EAAE,oBAAoB,YAAA,EACpC,aAAa,CAAC,EAAE,aAAa,YAAA;IAG5D;;;;;;OAMG;IACG,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC;IAkC7E;;;;;OAKG;IACG,SAAS,CAAC,MAAM,EAAE;QAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAM5G;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAE5C,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,SAAS;CAiDlB"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var StorageProviderRouter_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.StorageProviderRouter = void 0;
|
|
17
|
+
const common_1 = require("@nestjs/common");
|
|
18
|
+
const config_1 = require("@nestjs/config");
|
|
19
|
+
const storage_config_1 = require("../config/storage-config");
|
|
20
|
+
const storage_driver_context_1 = require("../config/storage-driver-context");
|
|
21
|
+
const storage_config_service_1 = require("../config/storage-config.service");
|
|
22
|
+
const storage_driver_1 = require("../drivers/storage-driver");
|
|
23
|
+
const storage_provider_interface_1 = require("./storage-provider.interface");
|
|
24
|
+
/**
|
|
25
|
+
* How many non-active clients are kept. A rotation window over the handful of
|
|
26
|
+
* providers a deployment has ever used, not a per-tenant cache; the least
|
|
27
|
+
* recently used one is released first.
|
|
28
|
+
*/
|
|
29
|
+
const ROUTER_CACHE_LIMIT = 8;
|
|
30
|
+
function resolvesCurrent(provider) {
|
|
31
|
+
return typeof provider.resolveCurrent === 'function';
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Resolves the storage provider of an object's recorded location, so downloads, deletes, existence checks, processing reads and the calls of an in-flight multipart upload keep working after the active driver changes.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* const provider = await this.router.forObject(row);
|
|
39
|
+
* const url = await provider.getSignedDownloadUrl(row.storageKey);
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @extensionPoint token
|
|
43
|
+
* @stability experimental
|
|
44
|
+
*/
|
|
45
|
+
let StorageProviderRouter = StorageProviderRouter_1 = class StorageProviderRouter {
|
|
46
|
+
active;
|
|
47
|
+
storageConfig;
|
|
48
|
+
configService;
|
|
49
|
+
logger = new common_1.Logger(StorageProviderRouter_1.name);
|
|
50
|
+
clients = [];
|
|
51
|
+
constructor(active, storageConfig, configService) {
|
|
52
|
+
this.active = active;
|
|
53
|
+
this.storageConfig = storageConfig;
|
|
54
|
+
this.configService = configService;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* The provider for a recorded location.
|
|
58
|
+
*
|
|
59
|
+
* @param location - the `(storage_provider, bucket)` pair a row recorded, or `null`/empty for a legacy row.
|
|
60
|
+
* @returns the active provider's client for a null or active location, otherwise a client for the recorded driver.
|
|
61
|
+
* @throws StorageNotConfiguredError (503) when no provider is configured at all (the active one included).
|
|
62
|
+
*/
|
|
63
|
+
async forLocation(location) {
|
|
64
|
+
const active = this.active;
|
|
65
|
+
// An app-bound provider routes itself.
|
|
66
|
+
if (!resolvesCurrent(active) || !this.storageConfig) {
|
|
67
|
+
return active;
|
|
68
|
+
}
|
|
69
|
+
if (!location || !location.provider) {
|
|
70
|
+
return active.resolveCurrent();
|
|
71
|
+
}
|
|
72
|
+
const resolution = await this.storageConfig.resolveDriver(location.provider);
|
|
73
|
+
if (!resolution.configured) {
|
|
74
|
+
// The recorded driver cannot be built (removed, or never configured here):
|
|
75
|
+
// use the one in force, exactly as before routing existed. This is what
|
|
76
|
+
// keeps rows written before #373 working, which recorded `s3` whatever
|
|
77
|
+
// provider took the bytes. If the bytes really are elsewhere the backend's
|
|
78
|
+
// own not-found says so; a 503 here would lock those rows out for nothing.
|
|
79
|
+
this.warnOnce(location.provider, resolution.missing);
|
|
80
|
+
return active.resolveCurrent();
|
|
81
|
+
}
|
|
82
|
+
const config = this.withRecordedBucket(resolution.config, location.bucket);
|
|
83
|
+
const activeId = await this.storageConfig.activeProvider();
|
|
84
|
+
if (location.provider === activeId && config === resolution.config) {
|
|
85
|
+
return active.resolveCurrent();
|
|
86
|
+
}
|
|
87
|
+
return this.clientFor(config);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* The provider for a row.
|
|
91
|
+
*
|
|
92
|
+
* @param object - anything carrying the row's `storageProvider` and `bucket`.
|
|
93
|
+
* @returns see {@link StorageProviderRouter.forLocation}.
|
|
94
|
+
*/
|
|
95
|
+
async forObject(object) {
|
|
96
|
+
return this.forLocation(object.storageProvider ? { provider: object.storageProvider, bucket: object.bucket ?? '' } : null);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* The row's bucket wins over the driver's current one when they differ and the
|
|
100
|
+
* driver's settings carry a `bucket`: the bytes are where the row says, whatever
|
|
101
|
+
* an administrator has typed since. A driver without a `bucket` setting (a local
|
|
102
|
+
* root) is built as configured.
|
|
103
|
+
*/
|
|
104
|
+
withRecordedBucket(config, recorded) {
|
|
105
|
+
if (!recorded || typeof config.settings.bucket !== 'string' || config.settings.bucket === recorded) {
|
|
106
|
+
return config;
|
|
107
|
+
}
|
|
108
|
+
return { ...config, bucket: recorded, settings: { ...config.settings, bucket: recorded } };
|
|
109
|
+
}
|
|
110
|
+
warned = new Set();
|
|
111
|
+
warnOnce(provider, missing) {
|
|
112
|
+
if (this.warned.has(provider))
|
|
113
|
+
return;
|
|
114
|
+
this.warned.add(provider);
|
|
115
|
+
this.logger.warn(`Rows recorded on storage driver "${provider}" are served by the active provider: "${provider}" is not usable here (missing ${missing.join(', ') || 'configuration'}).`);
|
|
116
|
+
}
|
|
117
|
+
clientFor(config) {
|
|
118
|
+
const fingerprint = (0, storage_config_1.fingerprintStorageConfig)(config);
|
|
119
|
+
const index = this.clients.findIndex((entry) => entry.fingerprint === fingerprint);
|
|
120
|
+
if (index >= 0) {
|
|
121
|
+
const [hit] = this.clients.splice(index, 1);
|
|
122
|
+
this.clients.unshift(hit);
|
|
123
|
+
return hit.provider;
|
|
124
|
+
}
|
|
125
|
+
const label = (0, storage_config_1.describeStorageConfig)(config);
|
|
126
|
+
this.logger.log(`Building routed storage client: ${label}`);
|
|
127
|
+
const driver = (0, storage_driver_1.requireStorageDriver)(config.provider);
|
|
128
|
+
const provider = Promise.resolve(driver.build((0, storage_driver_context_1.storageDriverContext)({
|
|
129
|
+
settings: config.settings,
|
|
130
|
+
secret: async (name) => config.secrets[name] ?? null,
|
|
131
|
+
logger: this.logger,
|
|
132
|
+
config: this.configService ?? { get: (_key, fallback) => fallback },
|
|
133
|
+
})));
|
|
134
|
+
const entry = { fingerprint, provider, label };
|
|
135
|
+
this.clients.unshift(entry);
|
|
136
|
+
// A failed build must not be cached: the next call tries again.
|
|
137
|
+
provider.catch(() => {
|
|
138
|
+
this.clients = this.clients.filter((candidate) => candidate !== entry);
|
|
139
|
+
});
|
|
140
|
+
while (this.clients.length > ROUTER_CACHE_LIMIT) {
|
|
141
|
+
const evicted = this.clients.pop();
|
|
142
|
+
if (!evicted)
|
|
143
|
+
break;
|
|
144
|
+
this.logger.log(`Releasing routed storage client: ${evicted.label}`);
|
|
145
|
+
void evicted.provider
|
|
146
|
+
.then((built) => built.destroy?.())
|
|
147
|
+
.catch((error) => this.logger.warn(`Failed to release a routed storage client: ${error instanceof Error ? error.message : String(error)}`));
|
|
148
|
+
}
|
|
149
|
+
return provider;
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
exports.StorageProviderRouter = StorageProviderRouter;
|
|
153
|
+
exports.StorageProviderRouter = StorageProviderRouter = StorageProviderRouter_1 = __decorate([
|
|
154
|
+
(0, common_1.Injectable)(),
|
|
155
|
+
__param(0, (0, common_1.Inject)(storage_provider_interface_1.STORAGE_PROVIDER)),
|
|
156
|
+
__param(1, (0, common_1.Optional)()),
|
|
157
|
+
__param(2, (0, common_1.Optional)()),
|
|
158
|
+
__metadata("design:paramtypes", [Object, storage_config_service_1.StorageConfigService,
|
|
159
|
+
config_1.ConfigService])
|
|
160
|
+
], StorageProviderRouter);
|
|
161
|
+
//# sourceMappingURL=storage-provider-router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-provider-router.js","sourceRoot":"","sources":["../../../src/storage/providers/storage-provider-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Readable } from 'node:stream';
|
|
2
|
-
import { StorageUploadOptions, StorageUploadResult, MultipartUploadInit, UploadPart, SignedUrlOptions, SignedPutUrlOptions } from './storage-provider.types';
|
|
2
|
+
import { StorageUploadOptions, StorageUploadResult, MultipartUploadInit, UploadPart, SignedUrlOptions, SignedPutUrlOptions, StoragePartUploadMode, StoredPart, UploadedPart } from './storage-provider.types';
|
|
3
3
|
/**
|
|
4
4
|
* Injection token of the object store every storage consumer injects.
|
|
5
5
|
*
|
|
@@ -160,5 +160,38 @@ export interface StorageProvider {
|
|
|
160
160
|
* @returns Bucket name
|
|
161
161
|
*/
|
|
162
162
|
getBucket(): string;
|
|
163
|
+
/**
|
|
164
|
+
* How a client uploads part N. Absent or `'presigned'` means
|
|
165
|
+
* {@link StorageProvider.getSignedUploadUrl} (today's behaviour);
|
|
166
|
+
* `'proxied'` means the API's own part route and {@link StorageProvider.uploadPart}.
|
|
167
|
+
*/
|
|
168
|
+
readonly partUploadMode?: StoragePartUploadMode;
|
|
169
|
+
/**
|
|
170
|
+
* The parts the BACKEND holds for an in-flight upload, so `GET :id/upload/status`
|
|
171
|
+
* reflects what really arrived: a client that uploads parts straight to S3
|
|
172
|
+
* never reports each one to the API, and a crashed client would otherwise see
|
|
173
|
+
* an empty list and re-send everything. Absent means status falls back to the
|
|
174
|
+
* recorded chunk rows.
|
|
175
|
+
*
|
|
176
|
+
* @throws MultipartSessionNotFoundError when the backend does not know the upload.
|
|
177
|
+
*/
|
|
178
|
+
listUploadedParts?(key: string, uploadId: string): Promise<UploadedPart[]>;
|
|
179
|
+
/**
|
|
180
|
+
* Stores one part streamed through the API; required when `partUploadMode` is
|
|
181
|
+
* `'proxied'`. MUST NOT BUFFER `body`: write it to the backend as it arrives
|
|
182
|
+
* (the platform already bounds it to `size` bytes and errors the stream when
|
|
183
|
+
* the body is short or long, so a failed write must discard the part and
|
|
184
|
+
* keep none of it). Re-sending a part replaces it.
|
|
185
|
+
*
|
|
186
|
+
* @param key - the object key.
|
|
187
|
+
* @param uploadId - the id `initMultipartUpload` returned.
|
|
188
|
+
* @param partNumber - 1-based part number.
|
|
189
|
+
* @param body - the part's bytes, as a stream.
|
|
190
|
+
* @param size - the exact byte length the part must have.
|
|
191
|
+
* @returns the part's ETag (an MD5 digest, quoted or not).
|
|
192
|
+
* @throws PartSizeMismatchError when the stream does not carry `size` bytes.
|
|
193
|
+
* @throws MultipartSessionNotFoundError when the backend does not know the upload.
|
|
194
|
+
*/
|
|
195
|
+
uploadPart?(key: string, uploadId: string, partNumber: number, body: Readable, size: number): Promise<StoredPart>;
|
|
163
196
|
}
|
|
164
197
|
//# sourceMappingURL=storage-provider.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-provider.interface.d.ts","sourceRoot":"","sources":["../../../src/storage/providers/storage-provider.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"storage-provider.interface.d.ts","sourceRoot":"","sources":["../../../src/storage/providers/storage-provider.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,UAAU,EACV,YAAY,EACb,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,gBAAgB,EAAE,OAAO,MAAoE,CAAC;AAE3G;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;;;;;OAQG;IACH,MAAM,CACJ,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEhC;;;;;;OAMG;IACH,mBAAmB,CACjB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEhC;;;;;;;;;OASG;IACH,kBAAkB,CAChB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB;;;;;;;OAOG;IACH,uBAAuB,CACrB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,UAAU,EAAE,GAClB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEhC;;;;;OAKG;IACH,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnE;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEzC;;;;;;;OAOG;IACH,oBAAoB,CAClB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,MAAM,CAAC,CAAC;IAqDnB;;;;;;;;;;;;;;;;OAgBG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7E;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC;;;;;OAKG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAEjE;;;;;OAKG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1E;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC;;;;OAIG;IACH,SAAS,IAAI,MAAM,CAAC;IAcpB;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAEhD;;;;;;;;OAQG;IACH,iBAAiB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAE3E;;;;;;;;;;;;;;;OAeG;IACH,UAAU,CAAC,CACT,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,UAAU,CAAC,CAAC;CACxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-provider.interface.js","sourceRoot":"","sources":["../../../src/storage/providers/storage-provider.interface.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"storage-provider.interface.js","sourceRoot":"","sources":["../../../src/storage/providers/storage-provider.interface.ts"],"names":[],"mappings":";;;AAaA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACU,QAAA,gBAAgB,GAAkB,MAAM,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC"}
|
|
@@ -87,4 +87,90 @@ export interface MultipartUploadInit {
|
|
|
87
87
|
/** The object key. */
|
|
88
88
|
key: string;
|
|
89
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* One part of an in-flight multipart upload as the storage backend holds it.
|
|
92
|
+
*
|
|
93
|
+
* @stability experimental
|
|
94
|
+
*/
|
|
95
|
+
export interface UploadedPart {
|
|
96
|
+
/** The part number (1-10000). */
|
|
97
|
+
partNumber: number;
|
|
98
|
+
/** The part's size in bytes, as the backend stores it. */
|
|
99
|
+
size: number;
|
|
100
|
+
/** The part's ETag, quoted or not exactly as the backend reports it; compare with {@link normalizeEtag}. */
|
|
101
|
+
eTag: string;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* The result of storing one part through the API.
|
|
105
|
+
*
|
|
106
|
+
* @stability experimental
|
|
107
|
+
*/
|
|
108
|
+
export interface StoredPart {
|
|
109
|
+
/** The part's ETag (an MD5 digest, quoted or not). */
|
|
110
|
+
eTag: string;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* How a client gets a part to the backend (see `StorageProvider.partUploadMode`).
|
|
114
|
+
*
|
|
115
|
+
* - `presigned`: the provider signs a URL the client PUTs to directly.
|
|
116
|
+
* - `proxied`: the provider has no signed URLs; the bytes go through the API's
|
|
117
|
+
* part route into `StorageProvider.uploadPart`.
|
|
118
|
+
*
|
|
119
|
+
* @stability experimental
|
|
120
|
+
*/
|
|
121
|
+
export type StoragePartUploadMode = 'presigned' | 'proxied';
|
|
122
|
+
/**
|
|
123
|
+
* A part body did not have the size the upload requires. Throw it from
|
|
124
|
+
* `StorageProvider.uploadPart` when the stream ends short or runs long; the
|
|
125
|
+
* objects API answers 400 `PART_SIZE_MISMATCH`.
|
|
126
|
+
*
|
|
127
|
+
* @stability experimental
|
|
128
|
+
*/
|
|
129
|
+
export declare class PartSizeMismatchError extends Error {
|
|
130
|
+
readonly partNumber: number;
|
|
131
|
+
readonly expectedSize: number;
|
|
132
|
+
readonly receivedSize: number;
|
|
133
|
+
readonly exceeded: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* @param partNumber - the part.
|
|
136
|
+
* @param expectedSize - the exact byte count the part must have.
|
|
137
|
+
* @param receivedSize - the bytes seen before the mismatch was detected.
|
|
138
|
+
* @param exceeded - true when the body was cut off for running past `expectedSize`.
|
|
139
|
+
*/
|
|
140
|
+
constructor(partNumber: number, expectedSize: number, receivedSize: number, exceeded: boolean);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* The backend no longer knows the multipart session (completed, aborted or
|
|
144
|
+
* garbage-collected). Throw it from `listUploadedParts` / `uploadPart` /
|
|
145
|
+
* `completeMultipartUpload`; the objects API answers 409 `UPLOAD_SESSION_INVALID`.
|
|
146
|
+
*
|
|
147
|
+
* @stability experimental
|
|
148
|
+
*/
|
|
149
|
+
export declare class MultipartSessionNotFoundError extends Error {
|
|
150
|
+
readonly uploadId: string;
|
|
151
|
+
/** @param uploadId - the unknown session. */
|
|
152
|
+
constructor(uploadId: string);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* `completeMultipartUpload` found parts missing or whose bytes do not match the
|
|
156
|
+
* ETag the client sent. Nothing is written; the objects API answers 409
|
|
157
|
+
* `UPLOAD_PARTS_MISSING` with the numbers so the client re-sends only those.
|
|
158
|
+
*
|
|
159
|
+
* @stability experimental
|
|
160
|
+
*/
|
|
161
|
+
export declare class MultipartPartsMissingError extends Error {
|
|
162
|
+
readonly partNumbers: number[];
|
|
163
|
+
/** @param partNumbers - the missing or mismatching parts. */
|
|
164
|
+
constructor(partNumbers: number[]);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* An ETag without its surrounding quotes, so a client's `"abc"` and a backend's
|
|
168
|
+
* `abc` compare equal.
|
|
169
|
+
*
|
|
170
|
+
* @param eTag - an ETag, quoted or not.
|
|
171
|
+
* @returns the bare value.
|
|
172
|
+
*
|
|
173
|
+
* @stability experimental
|
|
174
|
+
*/
|
|
175
|
+
export declare function normalizeEtag(eTag: string): string;
|
|
90
176
|
//# sourceMappingURL=storage-provider.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-provider.types.d.ts","sourceRoot":"","sources":["../../../src/storage/providers/storage-provider.types.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,sBAAsB;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,mBAAmB;IAClC,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,GAAG,EAAE,MAAM,CAAC;CACb"}
|
|
1
|
+
{"version":3,"file":"storage-provider.types.d.ts","sourceRoot":"","sources":["../../../src/storage/providers/storage-provider.types.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,sBAAsB;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,mBAAmB;IAClC,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,4GAA4G;IAC5G,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,SAAS,CAAC;AAE5D;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAQ5C,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO;IAV5B;;;;;OAKG;gBAEQ,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,OAAO;CAS7B;AAED;;;;;;GAMG;AACH,qBAAa,6BAA8B,SAAQ,KAAK;IAE1C,QAAQ,CAAC,QAAQ,EAAE,MAAM;IADrC,6CAA6C;gBACxB,QAAQ,EAAE,MAAM;CAItC;AAED;;;;;;GAMG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IAEvC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE;IAD1C,6DAA6D;gBACxC,WAAW,EAAE,MAAM,EAAE;CAI3C;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD"}
|
|
@@ -1,3 +1,81 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MultipartPartsMissingError = exports.MultipartSessionNotFoundError = exports.PartSizeMismatchError = void 0;
|
|
4
|
+
exports.normalizeEtag = normalizeEtag;
|
|
5
|
+
/**
|
|
6
|
+
* A part body did not have the size the upload requires. Throw it from
|
|
7
|
+
* `StorageProvider.uploadPart` when the stream ends short or runs long; the
|
|
8
|
+
* objects API answers 400 `PART_SIZE_MISMATCH`.
|
|
9
|
+
*
|
|
10
|
+
* @stability experimental
|
|
11
|
+
*/
|
|
12
|
+
class PartSizeMismatchError extends Error {
|
|
13
|
+
partNumber;
|
|
14
|
+
expectedSize;
|
|
15
|
+
receivedSize;
|
|
16
|
+
exceeded;
|
|
17
|
+
/**
|
|
18
|
+
* @param partNumber - the part.
|
|
19
|
+
* @param expectedSize - the exact byte count the part must have.
|
|
20
|
+
* @param receivedSize - the bytes seen before the mismatch was detected.
|
|
21
|
+
* @param exceeded - true when the body was cut off for running past `expectedSize`.
|
|
22
|
+
*/
|
|
23
|
+
constructor(partNumber, expectedSize, receivedSize, exceeded) {
|
|
24
|
+
super(exceeded
|
|
25
|
+
? `Part ${partNumber} is larger than the expected ${expectedSize} bytes`
|
|
26
|
+
: `Part ${partNumber} has ${receivedSize} bytes, expected ${expectedSize}`);
|
|
27
|
+
this.partNumber = partNumber;
|
|
28
|
+
this.expectedSize = expectedSize;
|
|
29
|
+
this.receivedSize = receivedSize;
|
|
30
|
+
this.exceeded = exceeded;
|
|
31
|
+
this.name = 'PartSizeMismatchError';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.PartSizeMismatchError = PartSizeMismatchError;
|
|
35
|
+
/**
|
|
36
|
+
* The backend no longer knows the multipart session (completed, aborted or
|
|
37
|
+
* garbage-collected). Throw it from `listUploadedParts` / `uploadPart` /
|
|
38
|
+
* `completeMultipartUpload`; the objects API answers 409 `UPLOAD_SESSION_INVALID`.
|
|
39
|
+
*
|
|
40
|
+
* @stability experimental
|
|
41
|
+
*/
|
|
42
|
+
class MultipartSessionNotFoundError extends Error {
|
|
43
|
+
uploadId;
|
|
44
|
+
/** @param uploadId - the unknown session. */
|
|
45
|
+
constructor(uploadId) {
|
|
46
|
+
super(`Multipart upload ${uploadId} does not exist`);
|
|
47
|
+
this.uploadId = uploadId;
|
|
48
|
+
this.name = 'MultipartSessionNotFoundError';
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.MultipartSessionNotFoundError = MultipartSessionNotFoundError;
|
|
52
|
+
/**
|
|
53
|
+
* `completeMultipartUpload` found parts missing or whose bytes do not match the
|
|
54
|
+
* ETag the client sent. Nothing is written; the objects API answers 409
|
|
55
|
+
* `UPLOAD_PARTS_MISSING` with the numbers so the client re-sends only those.
|
|
56
|
+
*
|
|
57
|
+
* @stability experimental
|
|
58
|
+
*/
|
|
59
|
+
class MultipartPartsMissingError extends Error {
|
|
60
|
+
partNumbers;
|
|
61
|
+
/** @param partNumbers - the missing or mismatching parts. */
|
|
62
|
+
constructor(partNumbers) {
|
|
63
|
+
super(`Multipart upload is missing or has corrupt part(s): ${partNumbers.join(', ')}`);
|
|
64
|
+
this.partNumbers = partNumbers;
|
|
65
|
+
this.name = 'MultipartPartsMissingError';
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.MultipartPartsMissingError = MultipartPartsMissingError;
|
|
69
|
+
/**
|
|
70
|
+
* An ETag without its surrounding quotes, so a client's `"abc"` and a backend's
|
|
71
|
+
* `abc` compare equal.
|
|
72
|
+
*
|
|
73
|
+
* @param eTag - an ETag, quoted or not.
|
|
74
|
+
* @returns the bare value.
|
|
75
|
+
*
|
|
76
|
+
* @stability experimental
|
|
77
|
+
*/
|
|
78
|
+
function normalizeEtag(eTag) {
|
|
79
|
+
return eTag.replace(/^"+|"+$/g, '');
|
|
80
|
+
}
|
|
3
81
|
//# sourceMappingURL=storage-provider.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-provider.types.js","sourceRoot":"","sources":["../../../src/storage/providers/storage-provider.types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"storage-provider.types.js","sourceRoot":"","sources":["../../../src/storage/providers/storage-provider.types.ts"],"names":[],"mappings":";;;AAyMA,sCAEC;AAtED;;;;;;GAMG;AACH,MAAa,qBAAsB,SAAQ,KAAK;IAQnC;IACA;IACA;IACA;IAVX;;;;;OAKG;IACH,YACW,UAAkB,EAClB,YAAoB,EACpB,YAAoB,EACpB,QAAiB;QAE1B,KAAK,CACH,QAAQ;YACN,CAAC,CAAC,QAAQ,UAAU,gCAAgC,YAAY,QAAQ;YACxE,CAAC,CAAC,QAAQ,UAAU,QAAQ,YAAY,oBAAoB,YAAY,EAAE,CAC7E,CAAC;QATO,eAAU,GAAV,UAAU,CAAQ;QAClB,iBAAY,GAAZ,YAAY,CAAQ;QACpB,iBAAY,GAAZ,YAAY,CAAQ;QACpB,aAAQ,GAAR,QAAQ,CAAS;QAO1B,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AApBD,sDAoBC;AAED;;;;;;GAMG;AACH,MAAa,6BAA8B,SAAQ,KAAK;IAEjC;IADrB,6CAA6C;IAC7C,YAAqB,QAAgB;QACnC,KAAK,CAAC,oBAAoB,QAAQ,iBAAiB,CAAC,CAAC;QADlC,aAAQ,GAAR,QAAQ,CAAQ;QAEnC,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AAND,sEAMC;AAED;;;;;;GAMG;AACH,MAAa,0BAA2B,SAAQ,KAAK;IAE9B;IADrB,6DAA6D;IAC7D,YAAqB,WAAqB;QACxC,KAAK,CAAC,uDAAuD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QADpE,gBAAW,GAAX,WAAW,CAAU;QAExC,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAND,gEAMC;AAED;;;;;;;;GAQG;AACH,SAAgB,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-providers.module.d.ts","sourceRoot":"","sources":["../../../src/storage/providers/storage-providers.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"storage-providers.module.d.ts","sourceRoot":"","sources":["../../../src/storage/providers/storage-providers.module.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH;;;;;;;;;GASG;AACH,qBAea,sBAAsB;CAAG"}
|
|
@@ -11,6 +11,7 @@ const common_1 = require("@nestjs/common");
|
|
|
11
11
|
const index_1 = require("../../credentials/index");
|
|
12
12
|
const storage_config_service_1 = require("../config/storage-config.service");
|
|
13
13
|
const resolving_storage_provider_1 = require("./resolving-storage.provider");
|
|
14
|
+
const storage_provider_router_1 = require("./storage-provider-router");
|
|
14
15
|
const storage_provider_binding_1 = require("./storage-provider.binding");
|
|
15
16
|
const storage_provider_interface_1 = require("./storage-provider.interface");
|
|
16
17
|
/**
|
|
@@ -82,13 +83,14 @@ exports.StorageProvidersModule = StorageProvidersModule = __decorate([
|
|
|
82
83
|
providers: [
|
|
83
84
|
storage_config_service_1.StorageConfigService,
|
|
84
85
|
resolving_storage_provider_1.ResolvingStorageProvider,
|
|
86
|
+
storage_provider_router_1.StorageProviderRouter,
|
|
85
87
|
{
|
|
86
88
|
provide: storage_provider_interface_1.STORAGE_PROVIDER,
|
|
87
89
|
useFactory: (binding, resolving) => binding ?? resolving,
|
|
88
90
|
inject: [{ token: storage_provider_binding_1.STORAGE_PROVIDER_BINDING, optional: true }, resolving_storage_provider_1.ResolvingStorageProvider],
|
|
89
91
|
},
|
|
90
92
|
],
|
|
91
|
-
exports: [storage_provider_interface_1.STORAGE_PROVIDER, storage_config_service_1.StorageConfigService],
|
|
93
|
+
exports: [storage_provider_interface_1.STORAGE_PROVIDER, storage_config_service_1.StorageConfigService, storage_provider_router_1.StorageProviderRouter],
|
|
92
94
|
})
|
|
93
95
|
], StorageProvidersModule);
|
|
94
96
|
//# sourceMappingURL=storage-providers.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-providers.module.js","sourceRoot":"","sources":["../../../src/storage/providers/storage-providers.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AAExC,mDAA4D;AAC5D,6EAAwE;AACxE,6EAAwE;AACxE,yEAAsE;AACtE,6EAAsF;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"storage-providers.module.js","sourceRoot":"","sources":["../../../src/storage/providers/storage-providers.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AAExC,mDAA4D;AAC5D,6EAAwE;AACxE,6EAAwE;AACxE,uEAAkE;AAClE,yEAAsE;AACtE,6EAAsF;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH;;;;;;;;;GASG;AAgBI,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;CAAG,CAAA;AAAzB,wDAAsB;iCAAtB,sBAAsB;IAflC,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,yBAAiB,CAAC;QAC5B,SAAS,EAAE;YACT,6CAAoB;YACpB,qDAAwB;YACxB,+CAAqB;YACrB;gBACE,OAAO,EAAE,6CAAgB;gBACzB,UAAU,EAAE,CAAC,OAAoC,EAAE,SAAmC,EAAmB,EAAE,CACzG,OAAO,IAAI,SAAS;gBACtB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,mDAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,qDAAwB,CAAC;aACxF;SACF;QACD,OAAO,EAAE,CAAC,6CAAgB,EAAE,6CAAoB,EAAE,+CAAqB,CAAC;KACzE,CAAC;GACW,sBAAsB,CAAG"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ConformanceFinding, ConformanceSuite } from '../../testing/index';
|
|
2
2
|
import { type StorageKeyPrefixDef } from '../storage-key-prefix.registry';
|
|
3
|
+
import '../drivers/builtin-storage-drivers';
|
|
3
4
|
declare module '../../testing/index' {
|
|
4
5
|
interface PlatformConformanceSuiteOptions {
|
|
5
6
|
/** The storage slice's suite: its options, or `false` to opt out. Registered by importing `@marinoscar/platform-api/storage/testing`. */
|
|
@@ -44,6 +45,17 @@ export declare function checkOrgScopedKeys(defs: readonly StorageKeyPrefixDef[])
|
|
|
44
45
|
* @stability experimental
|
|
45
46
|
*/
|
|
46
47
|
export declare function checkStorageSettingsSchemas(): ConformanceFinding[];
|
|
48
|
+
/**
|
|
49
|
+
* Check 4: per-row routing. Two built-in drivers are configured (offline: a
|
|
50
|
+
* presigned URL is computed locally, nothing is fetched); the active one is
|
|
51
|
+
* flipped from A to B and back, and an object recorded on A must keep signing
|
|
52
|
+
* against A's bucket and host each time.
|
|
53
|
+
*
|
|
54
|
+
* @returns one finding per violated rule.
|
|
55
|
+
*
|
|
56
|
+
* @stability experimental
|
|
57
|
+
*/
|
|
58
|
+
export declare function checkStorageRouting(): Promise<ConformanceFinding[]>;
|
|
47
59
|
/**
|
|
48
60
|
* The `storage` conformance suite. Registered when
|
|
49
61
|
* `@marinoscar/platform-api/storage/testing` is imported.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conformance.d.ts","sourceRoot":"","sources":["../../../src/storage/testing/conformance.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"conformance.d.ts","sourceRoot":"","sources":["../../../src/storage/testing/conformance.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAmB,kBAAkB,EAAqB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACpH,OAAO,EAKL,KAAK,mBAAmB,EACzB,MAAM,gCAAgC,CAAC;AAOxC,OAAO,oCAAoC,CAAC;AAE5C,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,+BAA+B;QACvC,yIAAyI;QACzI,OAAO,CAAC,EAAE,yBAAyB,GAAG,KAAK,CAAC;KAC7C;CACF;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,iGAAiG;IACjG,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAChD;AAUD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,SAAS,mBAAmB,EAAE,EACpC,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,kBAAkB,EAAE,CAiBtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,mBAAmB,EAAE,GAAG,kBAAkB,EAAE,CAe7F;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,IAAI,kBAAkB,EAAE,CAWlE;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAyFzE;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,CAAC,yBAAyB,CAiD/E,CAAC"}
|