@vankyle/storage-core 0.1.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.
- package/README.md +83 -0
- package/dist/application/index.d.ts +3 -0
- package/dist/application/index.d.ts.map +1 -0
- package/dist/application/index.js +3 -0
- package/dist/application/index.js.map +1 -0
- package/dist/application/policies/index.d.ts +2 -0
- package/dist/application/policies/index.d.ts.map +1 -0
- package/dist/application/policies/index.js +2 -0
- package/dist/application/policies/index.js.map +1 -0
- package/dist/application/policies/object-key-policy.d.ts +13 -0
- package/dist/application/policies/object-key-policy.d.ts.map +1 -0
- package/dist/application/policies/object-key-policy.js +24 -0
- package/dist/application/policies/object-key-policy.js.map +1 -0
- package/dist/application/policies/object-key-policy.test.d.ts +2 -0
- package/dist/application/policies/object-key-policy.test.d.ts.map +1 -0
- package/dist/application/policies/object-key-policy.test.js +53 -0
- package/dist/application/policies/object-key-policy.test.js.map +1 -0
- package/dist/application/services/default-storage-service.d.ts +39 -0
- package/dist/application/services/default-storage-service.d.ts.map +1 -0
- package/dist/application/services/default-storage-service.js +290 -0
- package/dist/application/services/default-storage-service.js.map +1 -0
- package/dist/application/services/default-storage-service.test.d.ts +2 -0
- package/dist/application/services/default-storage-service.test.d.ts.map +1 -0
- package/dist/application/services/default-storage-service.test.js +902 -0
- package/dist/application/services/default-storage-service.test.js.map +1 -0
- package/dist/application/services/index.d.ts +2 -0
- package/dist/application/services/index.d.ts.map +1 -0
- package/dist/application/services/index.js +2 -0
- package/dist/application/services/index.js.map +1 -0
- package/dist/domain/enums/blob-status.d.ts +8 -0
- package/dist/domain/enums/blob-status.d.ts.map +1 -0
- package/dist/domain/enums/blob-status.js +7 -0
- package/dist/domain/enums/blob-status.js.map +1 -0
- package/dist/domain/enums/enums.test.d.ts +2 -0
- package/dist/domain/enums/enums.test.d.ts.map +1 -0
- package/dist/domain/enums/enums.test.js +59 -0
- package/dist/domain/enums/enums.test.js.map +1 -0
- package/dist/domain/enums/file-status.d.ts +6 -0
- package/dist/domain/enums/file-status.d.ts.map +1 -0
- package/dist/domain/enums/file-status.js +5 -0
- package/dist/domain/enums/file-status.js.map +1 -0
- package/dist/domain/enums/index.d.ts +5 -0
- package/dist/domain/enums/index.d.ts.map +1 -0
- package/dist/domain/enums/index.js +5 -0
- package/dist/domain/enums/index.js.map +1 -0
- package/dist/domain/enums/storage-provider.d.ts +7 -0
- package/dist/domain/enums/storage-provider.d.ts.map +1 -0
- package/dist/domain/enums/storage-provider.js +6 -0
- package/dist/domain/enums/storage-provider.js.map +1 -0
- package/dist/domain/enums/upload-status.d.ts +13 -0
- package/dist/domain/enums/upload-status.d.ts.map +1 -0
- package/dist/domain/enums/upload-status.js +11 -0
- package/dist/domain/enums/upload-status.js.map +1 -0
- package/dist/domain/index.d.ts +4 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +4 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/models/blob-reference.d.ts +8 -0
- package/dist/domain/models/blob-reference.d.ts.map +1 -0
- package/dist/domain/models/blob-reference.js +2 -0
- package/dist/domain/models/blob-reference.js.map +1 -0
- package/dist/domain/models/blob.d.ts +20 -0
- package/dist/domain/models/blob.d.ts.map +1 -0
- package/dist/domain/models/blob.js +2 -0
- package/dist/domain/models/blob.js.map +1 -0
- package/dist/domain/models/file-version.d.ts +14 -0
- package/dist/domain/models/file-version.d.ts.map +1 -0
- package/dist/domain/models/file-version.js +2 -0
- package/dist/domain/models/file-version.js.map +1 -0
- package/dist/domain/models/file.d.ts +17 -0
- package/dist/domain/models/file.d.ts.map +1 -0
- package/dist/domain/models/file.js +2 -0
- package/dist/domain/models/file.js.map +1 -0
- package/dist/domain/models/index.d.ts +7 -0
- package/dist/domain/models/index.d.ts.map +1 -0
- package/dist/domain/models/index.js +2 -0
- package/dist/domain/models/index.js.map +1 -0
- package/dist/domain/models/upload-session.d.ts +26 -0
- package/dist/domain/models/upload-session.d.ts.map +1 -0
- package/dist/domain/models/upload-session.js +2 -0
- package/dist/domain/models/upload-session.js.map +1 -0
- package/dist/domain/models/uploaded-part.d.ts +13 -0
- package/dist/domain/models/uploaded-part.d.ts.map +1 -0
- package/dist/domain/models/uploaded-part.js +2 -0
- package/dist/domain/models/uploaded-part.js.map +1 -0
- package/dist/domain/value-objects/index.d.ts +3 -0
- package/dist/domain/value-objects/index.d.ts.map +1 -0
- package/dist/domain/value-objects/index.js +2 -0
- package/dist/domain/value-objects/index.js.map +1 -0
- package/dist/domain/value-objects/signed-access.d.ts +9 -0
- package/dist/domain/value-objects/signed-access.d.ts.map +1 -0
- package/dist/domain/value-objects/signed-access.js +2 -0
- package/dist/domain/value-objects/signed-access.js.map +1 -0
- package/dist/domain/value-objects/storage-locator.d.ts +7 -0
- package/dist/domain/value-objects/storage-locator.d.ts.map +1 -0
- package/dist/domain/value-objects/storage-locator.js +2 -0
- package/dist/domain/value-objects/storage-locator.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/ports/index.d.ts +4 -0
- package/dist/ports/index.d.ts.map +1 -0
- package/dist/ports/index.js +4 -0
- package/dist/ports/index.js.map +1 -0
- package/dist/ports/metadata/i-blob-store.d.ts +38 -0
- package/dist/ports/metadata/i-blob-store.d.ts.map +1 -0
- package/dist/ports/metadata/i-blob-store.js +2 -0
- package/dist/ports/metadata/i-blob-store.js.map +1 -0
- package/dist/ports/metadata/i-file-store.d.ts +43 -0
- package/dist/ports/metadata/i-file-store.d.ts.map +1 -0
- package/dist/ports/metadata/i-file-store.js +2 -0
- package/dist/ports/metadata/i-file-store.js.map +1 -0
- package/dist/ports/metadata/i-metadata-store.d.ts +9 -0
- package/dist/ports/metadata/i-metadata-store.d.ts.map +1 -0
- package/dist/ports/metadata/i-metadata-store.js +2 -0
- package/dist/ports/metadata/i-metadata-store.js.map +1 -0
- package/dist/ports/metadata/i-upload-session-store.d.ts +48 -0
- package/dist/ports/metadata/i-upload-session-store.d.ts.map +1 -0
- package/dist/ports/metadata/i-upload-session-store.js +2 -0
- package/dist/ports/metadata/i-upload-session-store.js.map +1 -0
- package/dist/ports/metadata/index.d.ts +5 -0
- package/dist/ports/metadata/index.d.ts.map +1 -0
- package/dist/ports/metadata/index.js +2 -0
- package/dist/ports/metadata/index.js.map +1 -0
- package/dist/ports/services/i-storage-service.d.ts +75 -0
- package/dist/ports/services/i-storage-service.d.ts.map +1 -0
- package/dist/ports/services/i-storage-service.js +2 -0
- package/dist/ports/services/i-storage-service.js.map +1 -0
- package/dist/ports/services/index.d.ts +2 -0
- package/dist/ports/services/index.d.ts.map +1 -0
- package/dist/ports/services/index.js +2 -0
- package/dist/ports/services/index.js.map +1 -0
- package/dist/ports/storage/i-storage.d.ts +19 -0
- package/dist/ports/storage/i-storage.d.ts.map +1 -0
- package/dist/ports/storage/i-storage.js +2 -0
- package/dist/ports/storage/i-storage.js.map +1 -0
- package/dist/ports/storage/index.d.ts +3 -0
- package/dist/ports/storage/index.d.ts.map +1 -0
- package/dist/ports/storage/index.js +2 -0
- package/dist/ports/storage/index.js.map +1 -0
- package/dist/ports/storage/storage.types.d.ts +112 -0
- package/dist/ports/storage/storage.types.d.ts.map +1 -0
- package/dist/ports/storage/storage.types.js +2 -0
- package/dist/ports/storage/storage.types.js.map +1 -0
- package/dist/schemas/blob-reference.schema.d.ts +10 -0
- package/dist/schemas/blob-reference.schema.d.ts.map +1 -0
- package/dist/schemas/blob-reference.schema.js +9 -0
- package/dist/schemas/blob-reference.schema.js.map +1 -0
- package/dist/schemas/blob.schema.d.ts +28 -0
- package/dist/schemas/blob.schema.d.ts.map +1 -0
- package/dist/schemas/blob.schema.js +26 -0
- package/dist/schemas/blob.schema.js.map +1 -0
- package/dist/schemas/file-version.schema.d.ts +15 -0
- package/dist/schemas/file-version.schema.d.ts.map +1 -0
- package/dist/schemas/file-version.schema.js +15 -0
- package/dist/schemas/file-version.schema.js.map +1 -0
- package/dist/schemas/file.schema.d.ts +20 -0
- package/dist/schemas/file.schema.d.ts.map +1 -0
- package/dist/schemas/file.schema.js +18 -0
- package/dist/schemas/file.schema.js.map +1 -0
- package/dist/schemas/index.d.ts +7 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +7 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/schemas.test.d.ts +2 -0
- package/dist/schemas/schemas.test.d.ts.map +1 -0
- package/dist/schemas/schemas.test.js +275 -0
- package/dist/schemas/schemas.test.js.map +1 -0
- package/dist/schemas/upload-session.schema.d.ts +37 -0
- package/dist/schemas/upload-session.schema.d.ts.map +1 -0
- package/dist/schemas/upload-session.schema.js +32 -0
- package/dist/schemas/upload-session.schema.js.map +1 -0
- package/dist/schemas/uploaded-part.schema.d.ts +14 -0
- package/dist/schemas/uploaded-part.schema.d.ts.map +1 -0
- package/dist/schemas/uploaded-part.schema.js +14 -0
- package/dist/schemas/uploaded-part.schema.js.map +1 -0
- package/dist/utils/ids.d.ts +2 -0
- package/dist/utils/ids.d.ts.map +1 -0
- package/dist/utils/ids.js +5 -0
- package/dist/utils/ids.js.map +1 -0
- package/dist/utils/ids.test.d.ts +2 -0
- package/dist/utils/ids.test.d.ts.map +1 -0
- package/dist/utils/ids.test.js +13 -0
- package/dist/utils/ids.test.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +40 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { JsonObject } from "@vankyle-hub/storage-shared";
|
|
2
|
+
import type { Blob } from "../../domain/models/blob.js";
|
|
3
|
+
import type { BlobReference } from "../../domain/models/blob-reference.js";
|
|
4
|
+
import type { BlobStatus } from "../../domain/enums/blob-status.js";
|
|
5
|
+
import type { StorageProvider } from "../../domain/enums/storage-provider.js";
|
|
6
|
+
export interface CreateBlobInput {
|
|
7
|
+
readonly id: string;
|
|
8
|
+
readonly provider: StorageProvider;
|
|
9
|
+
readonly bucket: string;
|
|
10
|
+
readonly objectKey: string;
|
|
11
|
+
readonly size: number;
|
|
12
|
+
readonly mimeType?: string | undefined;
|
|
13
|
+
readonly sha256?: string | undefined;
|
|
14
|
+
readonly etag?: string | undefined;
|
|
15
|
+
readonly storageClass?: string | undefined;
|
|
16
|
+
readonly metadata?: JsonObject | undefined;
|
|
17
|
+
}
|
|
18
|
+
export interface UpdateBlobInput {
|
|
19
|
+
readonly status?: BlobStatus | undefined;
|
|
20
|
+
readonly deletedAt?: Date | undefined;
|
|
21
|
+
}
|
|
22
|
+
export interface CreateBlobReferenceInput {
|
|
23
|
+
readonly id: string;
|
|
24
|
+
readonly blobId: string;
|
|
25
|
+
readonly refType: string;
|
|
26
|
+
readonly refId: string;
|
|
27
|
+
}
|
|
28
|
+
export interface IBlobStore {
|
|
29
|
+
createBlob(input: CreateBlobInput): Promise<Blob>;
|
|
30
|
+
getBlob(id: string): Promise<Blob | undefined>;
|
|
31
|
+
updateBlob(id: string, input: UpdateBlobInput): Promise<Blob>;
|
|
32
|
+
findBlobBySha256(sha256: string): Promise<Blob | undefined>;
|
|
33
|
+
findBlobByLocator(provider: StorageProvider, bucket: string, objectKey: string): Promise<Blob | undefined>;
|
|
34
|
+
createReference(input: CreateBlobReferenceInput): Promise<BlobReference>;
|
|
35
|
+
listReferences(blobId: string): Promise<BlobReference[]>;
|
|
36
|
+
deleteReference(id: string): Promise<void>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=i-blob-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i-blob-store.d.ts","sourceRoot":"","sources":["../../../src/ports/metadata/i-blob-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAE9E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACvC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IAC/C,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IAC5D,iBAAiB,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IAE3G,eAAe,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACzE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i-blob-store.js","sourceRoot":"","sources":["../../../src/ports/metadata/i-blob-store.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { JsonObject } from "@vankyle-hub/storage-shared";
|
|
2
|
+
import type { File } from "../../domain/models/file.js";
|
|
3
|
+
import type { FileVersion } from "../../domain/models/file-version.js";
|
|
4
|
+
import type { FileStatus } from "../../domain/enums/file-status.js";
|
|
5
|
+
export interface CreateFileInput {
|
|
6
|
+
readonly id: string;
|
|
7
|
+
readonly ownerId?: string | undefined;
|
|
8
|
+
readonly displayName: string;
|
|
9
|
+
readonly mimeType?: string | undefined;
|
|
10
|
+
readonly size?: number | undefined;
|
|
11
|
+
readonly parentId?: string | undefined;
|
|
12
|
+
readonly metadata?: JsonObject | undefined;
|
|
13
|
+
}
|
|
14
|
+
export interface UpdateFileInput {
|
|
15
|
+
readonly displayName?: string | undefined;
|
|
16
|
+
readonly currentVersionId?: string | undefined;
|
|
17
|
+
readonly size?: number | undefined;
|
|
18
|
+
readonly mimeType?: string | undefined;
|
|
19
|
+
readonly status?: FileStatus | undefined;
|
|
20
|
+
readonly deletedAt?: Date | undefined;
|
|
21
|
+
readonly metadata?: JsonObject | undefined;
|
|
22
|
+
}
|
|
23
|
+
export interface CreateFileVersionInput {
|
|
24
|
+
readonly id: string;
|
|
25
|
+
readonly fileId: string;
|
|
26
|
+
readonly blobId: string;
|
|
27
|
+
readonly version: number;
|
|
28
|
+
readonly size: number;
|
|
29
|
+
readonly mimeType?: string | undefined;
|
|
30
|
+
readonly sha256?: string | undefined;
|
|
31
|
+
readonly createdBy?: string | undefined;
|
|
32
|
+
readonly metadata?: JsonObject | undefined;
|
|
33
|
+
}
|
|
34
|
+
export interface IFileStore {
|
|
35
|
+
createFile(input: CreateFileInput): Promise<File>;
|
|
36
|
+
getFile(id: string): Promise<File | undefined>;
|
|
37
|
+
updateFile(id: string, input: UpdateFileInput): Promise<File>;
|
|
38
|
+
createVersion(input: CreateFileVersionInput): Promise<FileVersion>;
|
|
39
|
+
getVersion(id: string): Promise<FileVersion | undefined>;
|
|
40
|
+
listVersions(fileId: string): Promise<FileVersion[]>;
|
|
41
|
+
getLatestVersion(fileId: string): Promise<FileVersion | undefined>;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=i-file-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i-file-store.d.ts","sourceRoot":"","sources":["../../../src/ports/metadata/i-file-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAEpE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IAC/C,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9D,aAAa,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACnE,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IACzD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACrD,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;CACpE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i-file-store.js","sourceRoot":"","sources":["../../../src/ports/metadata/i-file-store.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IUploadSessionStore } from "./i-upload-session-store.js";
|
|
2
|
+
import type { IBlobStore } from "./i-blob-store.js";
|
|
3
|
+
import type { IFileStore } from "./i-file-store.js";
|
|
4
|
+
export interface IMetadataStore {
|
|
5
|
+
readonly uploads: IUploadSessionStore;
|
|
6
|
+
readonly blobs: IBlobStore;
|
|
7
|
+
readonly files: IFileStore;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=i-metadata-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i-metadata-store.d.ts","sourceRoot":"","sources":["../../../src/ports/metadata/i-metadata-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i-metadata-store.js","sourceRoot":"","sources":["../../../src/ports/metadata/i-metadata-store.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { JsonObject } from "@vankyle-hub/storage-shared";
|
|
2
|
+
import type { UploadSession } from "../../domain/models/upload-session.js";
|
|
3
|
+
import type { UploadedPart } from "../../domain/models/uploaded-part.js";
|
|
4
|
+
import type { UploadMode, UploadSessionStatus } from "../../domain/enums/upload-status.js";
|
|
5
|
+
import type { StorageProvider } from "../../domain/enums/storage-provider.js";
|
|
6
|
+
export interface CreateUploadSessionInput {
|
|
7
|
+
readonly id: string;
|
|
8
|
+
readonly provider: StorageProvider;
|
|
9
|
+
readonly bucket: string;
|
|
10
|
+
readonly objectKey: string;
|
|
11
|
+
readonly mode: UploadMode;
|
|
12
|
+
readonly fileName?: string | undefined;
|
|
13
|
+
readonly mimeType?: string | undefined;
|
|
14
|
+
readonly expectedSize?: number | undefined;
|
|
15
|
+
readonly expectedSha256?: string | undefined;
|
|
16
|
+
readonly providerUploadId?: string | undefined;
|
|
17
|
+
readonly providerSessionData?: JsonObject | undefined;
|
|
18
|
+
readonly createdBy?: string | undefined;
|
|
19
|
+
readonly ownerId?: string | undefined;
|
|
20
|
+
readonly metadata?: JsonObject | undefined;
|
|
21
|
+
readonly expiresAt?: Date | undefined;
|
|
22
|
+
}
|
|
23
|
+
export interface UpdateUploadSessionInput {
|
|
24
|
+
readonly status?: UploadSessionStatus | undefined;
|
|
25
|
+
readonly providerUploadId?: string | undefined;
|
|
26
|
+
readonly providerSessionData?: JsonObject | undefined;
|
|
27
|
+
readonly completedAt?: Date | undefined;
|
|
28
|
+
readonly abortedAt?: Date | undefined;
|
|
29
|
+
}
|
|
30
|
+
export interface CreateUploadedPartInput {
|
|
31
|
+
readonly id: string;
|
|
32
|
+
readonly sessionId: string;
|
|
33
|
+
readonly partNumber: number;
|
|
34
|
+
readonly size: number;
|
|
35
|
+
readonly etag?: string | undefined;
|
|
36
|
+
readonly checksumSha256?: string | undefined;
|
|
37
|
+
readonly providerPartId?: string | undefined;
|
|
38
|
+
readonly providerPartData?: JsonObject | undefined;
|
|
39
|
+
}
|
|
40
|
+
export interface IUploadSessionStore {
|
|
41
|
+
createSession(input: CreateUploadSessionInput): Promise<UploadSession>;
|
|
42
|
+
getSession(id: string): Promise<UploadSession | undefined>;
|
|
43
|
+
updateSession(id: string, input: UpdateUploadSessionInput): Promise<UploadSession>;
|
|
44
|
+
addPart(input: CreateUploadedPartInput): Promise<UploadedPart>;
|
|
45
|
+
getPart(sessionId: string, partNumber: number): Promise<UploadedPart | undefined>;
|
|
46
|
+
listParts(sessionId: string): Promise<UploadedPart[]>;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=i-upload-session-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i-upload-session-store.d.ts","sourceRoot":"","sources":["../../../src/ports/metadata/i-upload-session-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i-upload-session-store.js","sourceRoot":"","sources":["../../../src/ports/metadata/i-upload-session-store.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export type { IMetadataStore } from "./i-metadata-store.js";
|
|
2
|
+
export type { IUploadSessionStore, CreateUploadSessionInput, UpdateUploadSessionInput, CreateUploadedPartInput, } from "./i-upload-session-store.js";
|
|
3
|
+
export type { IBlobStore, CreateBlobInput, UpdateBlobInput, CreateBlobReferenceInput, } from "./i-blob-store.js";
|
|
4
|
+
export type { IFileStore, CreateFileInput, UpdateFileInput, CreateFileVersionInput, } from "./i-file-store.js";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/metadata/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,UAAU,EACV,eAAe,EACf,eAAe,EACf,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,UAAU,EACV,eAAe,EACf,eAAe,EACf,sBAAsB,GACvB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/metadata/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { JsonObject } from "@vankyle-hub/storage-shared";
|
|
2
|
+
import type { UploadSession } from "../../domain/models/upload-session.js";
|
|
3
|
+
import type { UploadedPart } from "../../domain/models/uploaded-part.js";
|
|
4
|
+
import type { Blob } from "../../domain/models/blob.js";
|
|
5
|
+
import type { File } from "../../domain/models/file.js";
|
|
6
|
+
import type { FileVersion } from "../../domain/models/file-version.js";
|
|
7
|
+
import type { SignedAccess } from "../../domain/value-objects/signed-access.js";
|
|
8
|
+
import type { UploadMode } from "../../domain/enums/upload-status.js";
|
|
9
|
+
export interface CreateUploadSessionRequest {
|
|
10
|
+
readonly fileName?: string | undefined;
|
|
11
|
+
readonly mimeType?: string | undefined;
|
|
12
|
+
readonly mode?: UploadMode | undefined;
|
|
13
|
+
readonly expectedSize?: number | undefined;
|
|
14
|
+
readonly expectedSha256?: string | undefined;
|
|
15
|
+
readonly ownerId?: string | undefined;
|
|
16
|
+
readonly createdBy?: string | undefined;
|
|
17
|
+
readonly metadata?: JsonObject | undefined;
|
|
18
|
+
readonly expiresInSeconds?: number | undefined;
|
|
19
|
+
}
|
|
20
|
+
export interface CreateUploadSessionResponse {
|
|
21
|
+
readonly session: UploadSession;
|
|
22
|
+
readonly uploadUrl?: SignedAccess | undefined;
|
|
23
|
+
}
|
|
24
|
+
export interface GetUploadPartUrlRequest {
|
|
25
|
+
readonly sessionId: string;
|
|
26
|
+
readonly partNumber: number;
|
|
27
|
+
}
|
|
28
|
+
export interface UploadPartRequest {
|
|
29
|
+
readonly sessionId: string;
|
|
30
|
+
readonly partNumber: number;
|
|
31
|
+
readonly body: Uint8Array | ReadableStream<Uint8Array>;
|
|
32
|
+
readonly contentLength?: number | undefined;
|
|
33
|
+
}
|
|
34
|
+
export interface RegisterPartRequest {
|
|
35
|
+
readonly sessionId: string;
|
|
36
|
+
readonly partNumber: number;
|
|
37
|
+
readonly size: number;
|
|
38
|
+
readonly etag?: string | undefined;
|
|
39
|
+
readonly checksumSha256?: string | undefined;
|
|
40
|
+
}
|
|
41
|
+
export interface CompleteUploadSessionRequest {
|
|
42
|
+
readonly sessionId: string;
|
|
43
|
+
readonly createFile?: {
|
|
44
|
+
readonly displayName: string;
|
|
45
|
+
readonly ownerId?: string | undefined;
|
|
46
|
+
readonly parentId?: string | undefined;
|
|
47
|
+
readonly metadata?: JsonObject | undefined;
|
|
48
|
+
} | undefined;
|
|
49
|
+
}
|
|
50
|
+
export interface CompleteUploadSessionResponse {
|
|
51
|
+
readonly blob: Blob;
|
|
52
|
+
readonly file?: File | undefined;
|
|
53
|
+
readonly fileVersion?: FileVersion | undefined;
|
|
54
|
+
}
|
|
55
|
+
export interface GetReadUrlRequest {
|
|
56
|
+
readonly fileId: string;
|
|
57
|
+
readonly versionId?: string | undefined;
|
|
58
|
+
readonly expiresInSeconds?: number | undefined;
|
|
59
|
+
}
|
|
60
|
+
export interface DeleteFileRequest {
|
|
61
|
+
readonly fileId: string;
|
|
62
|
+
}
|
|
63
|
+
export interface IStorageService {
|
|
64
|
+
createUploadSession(request: CreateUploadSessionRequest): Promise<CreateUploadSessionResponse>;
|
|
65
|
+
getUploadPartUrl(request: GetUploadPartUrlRequest): Promise<SignedAccess>;
|
|
66
|
+
uploadPart(request: UploadPartRequest): Promise<UploadedPart>;
|
|
67
|
+
registerPart(request: RegisterPartRequest): Promise<UploadedPart>;
|
|
68
|
+
completeUploadSession(request: CompleteUploadSessionRequest): Promise<CompleteUploadSessionResponse>;
|
|
69
|
+
abortUploadSession(sessionId: string): Promise<void>;
|
|
70
|
+
getReadUrl(request: GetReadUrlRequest): Promise<SignedAccess>;
|
|
71
|
+
getFile(fileId: string): Promise<File | undefined>;
|
|
72
|
+
getBlob(blobId: string): Promise<Blob | undefined>;
|
|
73
|
+
deleteFile(request: DeleteFileRequest): Promise<void>;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=i-storage-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i-storage-service.d.ts","sourceRoot":"","sources":["../../../src/ports/services/i-storage-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i-storage-service.js","sourceRoot":"","sources":["../../../src/ports/services/i-storage-service.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export type { IStorageService, CreateUploadSessionRequest, CreateUploadSessionResponse, GetUploadPartUrlRequest, UploadPartRequest, RegisterPartRequest, CompleteUploadSessionRequest, CompleteUploadSessionResponse, GetReadUrlRequest, DeleteFileRequest, } from "./i-storage-service.js";
|
|
2
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/services/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,eAAe,EACf,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,4BAA4B,EAC5B,6BAA6B,EAC7B,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/services/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { StorageProvider } from "../../domain/enums/storage-provider.js";
|
|
2
|
+
import type { SignedAccess } from "../../domain/value-objects/signed-access.js";
|
|
3
|
+
import type { StorageCapabilities, PutObjectInput, PutObjectResult, GetObjectInput, GetObjectResult, HeadObjectInput, HeadObjectResult, DeleteObjectInput, InitUploadSessionInput, InitUploadSessionResult, UploadPartInput, UploadPartResult, CompleteUploadSessionInput, CompleteUploadSessionResult, AbortUploadSessionInput, CreateReadUrlInput, CreatePutUrlInput, CreateUploadPartUrlInput } from "./storage.types.js";
|
|
4
|
+
export interface IStorage {
|
|
5
|
+
readonly provider: StorageProvider;
|
|
6
|
+
readonly capabilities: StorageCapabilities;
|
|
7
|
+
putObject(input: PutObjectInput): Promise<PutObjectResult>;
|
|
8
|
+
getObject(input: GetObjectInput): Promise<GetObjectResult>;
|
|
9
|
+
headObject(input: HeadObjectInput): Promise<HeadObjectResult>;
|
|
10
|
+
deleteObject(input: DeleteObjectInput): Promise<void>;
|
|
11
|
+
initUploadSession(input: InitUploadSessionInput): Promise<InitUploadSessionResult>;
|
|
12
|
+
uploadPart(input: UploadPartInput): Promise<UploadPartResult>;
|
|
13
|
+
completeUploadSession(input: CompleteUploadSessionInput): Promise<CompleteUploadSessionResult>;
|
|
14
|
+
abortUploadSession(input: AbortUploadSessionInput): Promise<void>;
|
|
15
|
+
createReadUrl?(input: CreateReadUrlInput): Promise<SignedAccess>;
|
|
16
|
+
createPutUrl?(input: CreatePutUrlInput): Promise<SignedAccess>;
|
|
17
|
+
createUploadPartUrl?(input: CreateUploadPartUrlInput): Promise<SignedAccess>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=i-storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i-storage.d.ts","sourceRoot":"","sources":["../../../src/ports/storage/i-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAE3C,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3D,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3D,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9D,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACnF,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9D,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC/F,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE,aAAa,CAAC,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACjE,YAAY,CAAC,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/D,mBAAmB,CAAC,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC9E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i-storage.js","sourceRoot":"","sources":["../../../src/ports/storage/i-storage.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export type { IStorage } from "./i-storage.js";
|
|
2
|
+
export type { StorageCapabilities, PutObjectInput, PutObjectResult, GetObjectInput, GetObjectResult, HeadObjectInput, HeadObjectResult, DeleteObjectInput, InitUploadSessionInput, InitUploadSessionResult, UploadPartInput, UploadPartResult, CompleteUploadSessionInput, CompleteUploadSessionResult, AbortUploadSessionInput, CreateReadUrlInput, CreatePutUrlInput, CreateUploadPartUrlInput, } from "./storage.types.js";
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/storage/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/storage/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import type { JsonObject } from "@vankyle-hub/storage-shared";
|
|
2
|
+
import type { UploadedPart } from "../../domain/models/uploaded-part.js";
|
|
3
|
+
export interface StorageCapabilities {
|
|
4
|
+
readonly multipartUpload: boolean;
|
|
5
|
+
readonly signedReadUrl: boolean;
|
|
6
|
+
readonly signedPutUrl: boolean;
|
|
7
|
+
readonly signedPartUrl: boolean;
|
|
8
|
+
readonly serverSideCopy?: boolean | undefined;
|
|
9
|
+
}
|
|
10
|
+
export interface PutObjectInput {
|
|
11
|
+
readonly bucket: string;
|
|
12
|
+
readonly objectKey: string;
|
|
13
|
+
readonly body: Uint8Array | ReadableStream<Uint8Array>;
|
|
14
|
+
readonly contentType?: string | undefined;
|
|
15
|
+
readonly contentLength?: number | undefined;
|
|
16
|
+
readonly sha256?: string | undefined;
|
|
17
|
+
readonly metadata?: Record<string, string> | undefined;
|
|
18
|
+
}
|
|
19
|
+
export interface PutObjectResult {
|
|
20
|
+
readonly etag?: string | undefined;
|
|
21
|
+
readonly versionId?: string | undefined;
|
|
22
|
+
}
|
|
23
|
+
export interface GetObjectInput {
|
|
24
|
+
readonly bucket: string;
|
|
25
|
+
readonly objectKey: string;
|
|
26
|
+
readonly range?: {
|
|
27
|
+
start: number;
|
|
28
|
+
end?: number | undefined;
|
|
29
|
+
} | undefined;
|
|
30
|
+
}
|
|
31
|
+
export interface GetObjectResult {
|
|
32
|
+
readonly body: ReadableStream<Uint8Array>;
|
|
33
|
+
readonly contentType?: string | undefined;
|
|
34
|
+
readonly contentLength?: number | undefined;
|
|
35
|
+
readonly etag?: string | undefined;
|
|
36
|
+
readonly metadata?: Record<string, string> | undefined;
|
|
37
|
+
}
|
|
38
|
+
export interface HeadObjectInput {
|
|
39
|
+
readonly bucket: string;
|
|
40
|
+
readonly objectKey: string;
|
|
41
|
+
}
|
|
42
|
+
export interface HeadObjectResult {
|
|
43
|
+
readonly contentType?: string | undefined;
|
|
44
|
+
readonly contentLength?: number | undefined;
|
|
45
|
+
readonly etag?: string | undefined;
|
|
46
|
+
readonly lastModified?: Date | undefined;
|
|
47
|
+
readonly metadata?: Record<string, string> | undefined;
|
|
48
|
+
}
|
|
49
|
+
export interface DeleteObjectInput {
|
|
50
|
+
readonly bucket: string;
|
|
51
|
+
readonly objectKey: string;
|
|
52
|
+
}
|
|
53
|
+
export interface InitUploadSessionInput {
|
|
54
|
+
readonly bucket: string;
|
|
55
|
+
readonly objectKey: string;
|
|
56
|
+
readonly contentType?: string | undefined;
|
|
57
|
+
readonly metadata?: Record<string, string> | undefined;
|
|
58
|
+
}
|
|
59
|
+
export interface InitUploadSessionResult {
|
|
60
|
+
readonly providerUploadId: string;
|
|
61
|
+
readonly providerSessionData?: JsonObject | undefined;
|
|
62
|
+
}
|
|
63
|
+
export interface UploadPartInput {
|
|
64
|
+
readonly bucket: string;
|
|
65
|
+
readonly objectKey: string;
|
|
66
|
+
readonly providerUploadId: string;
|
|
67
|
+
readonly partNumber: number;
|
|
68
|
+
readonly body: Uint8Array | ReadableStream<Uint8Array>;
|
|
69
|
+
readonly contentLength?: number | undefined;
|
|
70
|
+
}
|
|
71
|
+
export interface UploadPartResult {
|
|
72
|
+
readonly etag: string;
|
|
73
|
+
readonly partNumber: number;
|
|
74
|
+
readonly size?: number | undefined;
|
|
75
|
+
readonly checksumSha256?: string | undefined;
|
|
76
|
+
}
|
|
77
|
+
export interface CompleteUploadSessionInput {
|
|
78
|
+
readonly bucket: string;
|
|
79
|
+
readonly objectKey: string;
|
|
80
|
+
readonly providerUploadId: string;
|
|
81
|
+
readonly parts: readonly Pick<UploadedPart, "partNumber" | "etag">[];
|
|
82
|
+
}
|
|
83
|
+
export interface CompleteUploadSessionResult {
|
|
84
|
+
readonly etag?: string | undefined;
|
|
85
|
+
readonly versionId?: string | undefined;
|
|
86
|
+
}
|
|
87
|
+
export interface AbortUploadSessionInput {
|
|
88
|
+
readonly bucket: string;
|
|
89
|
+
readonly objectKey: string;
|
|
90
|
+
readonly providerUploadId: string;
|
|
91
|
+
}
|
|
92
|
+
export interface CreateReadUrlInput {
|
|
93
|
+
readonly bucket: string;
|
|
94
|
+
readonly objectKey: string;
|
|
95
|
+
readonly expiresInSeconds?: number | undefined;
|
|
96
|
+
readonly responseContentType?: string | undefined;
|
|
97
|
+
readonly responseContentDisposition?: string | undefined;
|
|
98
|
+
}
|
|
99
|
+
export interface CreatePutUrlInput {
|
|
100
|
+
readonly bucket: string;
|
|
101
|
+
readonly objectKey: string;
|
|
102
|
+
readonly contentType?: string | undefined;
|
|
103
|
+
readonly expiresInSeconds?: number | undefined;
|
|
104
|
+
}
|
|
105
|
+
export interface CreateUploadPartUrlInput {
|
|
106
|
+
readonly bucket: string;
|
|
107
|
+
readonly objectKey: string;
|
|
108
|
+
readonly providerUploadId: string;
|
|
109
|
+
readonly partNumber: number;
|
|
110
|
+
readonly expiresInSeconds?: number | undefined;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=storage.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.types.d.ts","sourceRoot":"","sources":["../../../src/ports/storage/storage.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.types.js","sourceRoot":"","sources":["../../../src/ports/storage/storage.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const blobReferenceSchema: z.ZodObject<{
|
|
3
|
+
id: z.ZodString;
|
|
4
|
+
blobId: z.ZodString;
|
|
5
|
+
refType: z.ZodString;
|
|
6
|
+
refId: z.ZodString;
|
|
7
|
+
createdAt: z.ZodCoercedDate<unknown>;
|
|
8
|
+
}, z.core.$strip>;
|
|
9
|
+
export type BlobReferenceInput = z.input<typeof blobReferenceSchema>;
|
|
10
|
+
//# sourceMappingURL=blob-reference.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blob-reference.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/blob-reference.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;iBAM9B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blob-reference.schema.js","sourceRoot":"","sources":["../../src/schemas/blob-reference.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;CAC3B,CAAC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const blobSchema: z.ZodObject<{
|
|
3
|
+
id: z.ZodString;
|
|
4
|
+
provider: z.ZodEnum<{
|
|
5
|
+
s3: "s3";
|
|
6
|
+
"azure-blob": "azure-blob";
|
|
7
|
+
"r2-binding": "r2-binding";
|
|
8
|
+
}>;
|
|
9
|
+
bucket: z.ZodString;
|
|
10
|
+
objectKey: z.ZodString;
|
|
11
|
+
size: z.ZodNumber;
|
|
12
|
+
mimeType: z.ZodOptional<z.ZodString>;
|
|
13
|
+
sha256: z.ZodOptional<z.ZodString>;
|
|
14
|
+
etag: z.ZodOptional<z.ZodString>;
|
|
15
|
+
storageClass: z.ZodOptional<z.ZodString>;
|
|
16
|
+
status: z.ZodEnum<{
|
|
17
|
+
active: "active";
|
|
18
|
+
orphaned: "orphaned";
|
|
19
|
+
"pending-deletion": "pending-deletion";
|
|
20
|
+
deleted: "deleted";
|
|
21
|
+
}>;
|
|
22
|
+
createdAt: z.ZodCoercedDate<unknown>;
|
|
23
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
24
|
+
deletedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
|
|
25
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
export type BlobInput = z.input<typeof blobSchema>;
|
|
28
|
+
//# sourceMappingURL=blob.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blob.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/blob.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;iBAoBrB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
|