@vankyle/storage-azure 0.2.5 → 0.2.6
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 +56 -1
- package/dist/metadata/cosmos-metadata-store.d.ts +1 -1
- package/dist/metadata/cosmos-metadata-store.d.ts.map +1 -1
- package/dist/metadata/cosmos-metadata-store.js +2 -2
- package/dist/metadata/cosmos-metadata-store.js.map +1 -1
- package/dist/metadata/mappers/blob-doc.mapper.d.ts +32 -0
- package/dist/metadata/mappers/blob-doc.mapper.d.ts.map +1 -1
- package/dist/metadata/mappers/blob-doc.mapper.js.map +1 -1
- package/dist/metadata/mappers/file-doc.mapper.d.ts +2 -0
- package/dist/metadata/mappers/file-doc.mapper.d.ts.map +1 -1
- package/dist/metadata/mappers/file-doc.mapper.js.map +1 -1
- package/dist/metadata/mappers/upload-session-doc.mapper.d.ts +2 -0
- package/dist/metadata/mappers/upload-session-doc.mapper.d.ts.map +1 -1
- package/dist/metadata/mappers/upload-session-doc.mapper.js.map +1 -1
- package/dist/metadata/stores/cosmos-blob-store.d.ts.map +1 -1
- package/dist/metadata/stores/cosmos-blob-store.js +19 -2
- package/dist/metadata/stores/cosmos-blob-store.js.map +1 -1
- package/dist/metadata/stores/cosmos-file-store.d.ts.map +1 -1
- package/dist/metadata/stores/cosmos-file-store.js +19 -10
- package/dist/metadata/stores/cosmos-file-store.js.map +1 -1
- package/dist/metadata/stores/cosmos-upload-session-store.d.ts.map +1 -1
- package/dist/metadata/stores/cosmos-upload-session-store.js +9 -2
- package/dist/metadata/stores/cosmos-upload-session-store.js.map +1 -1
- package/dist/types/cosmos-options.d.ts +6 -0
- package/dist/types/cosmos-options.d.ts.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -66,6 +66,60 @@ Azure Blob Storage does not have a native multipart upload API. `AzureBlobStorag
|
|
|
66
66
|
|
|
67
67
|
All six entity types (`upload-session`, `uploaded-part`, `blob`, `blob-reference`, `file`, `file-version`) are stored in a **single Cosmos container**, discriminated by a `type` field.
|
|
68
68
|
|
|
69
|
+
### Container setup
|
|
70
|
+
|
|
71
|
+
The container **must** be created with partition key path **`/pk`**.
|
|
72
|
+
|
|
73
|
+
Each document type uses a synthetic `pk` value that co-locates parent and child entities in the same logical partition:
|
|
74
|
+
|
|
75
|
+
| Document type | `pk` value | Rationale |
|
|
76
|
+
|---|---|---|
|
|
77
|
+
| `file` | `id` | File is its own partition root |
|
|
78
|
+
| `file-version` | `fileId` | Versions sit with their parent file |
|
|
79
|
+
| `blob` | `id` | Blob is its own partition root |
|
|
80
|
+
| `blob-reference` | `blobId` | References sit with their parent blob |
|
|
81
|
+
| `upload-session` | `id` | Session is its own partition root |
|
|
82
|
+
| `uploaded-part` | `sessionId` | Parts sit with their parent session |
|
|
83
|
+
|
|
84
|
+
This design ensures that the most frequent queries (`listVersions`, `listParts`, `listReferences`) are single-partition operations.
|
|
85
|
+
|
|
86
|
+
#### Creating the container manually
|
|
87
|
+
|
|
88
|
+
If you need to create and pass in a `Container` object yourself:
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
import { CosmosClient } from "@azure/cosmos";
|
|
92
|
+
import { CosmosMetadataStore } from "@vankyle-hub/storage-azure";
|
|
93
|
+
|
|
94
|
+
const client = new CosmosClient(connectionString);
|
|
95
|
+
const { database } = await client.databases.createIfNotExists({ id: "my-database" });
|
|
96
|
+
const { container } = await database.containers.createIfNotExists({
|
|
97
|
+
id: "storage",
|
|
98
|
+
partitionKey: { paths: ["/pk"] },
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
const metadata = new CosmosMetadataStore(container);
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
#### Using Bicep / ARM templates
|
|
105
|
+
|
|
106
|
+
```bicep
|
|
107
|
+
resource cosmosContainer 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers@2024-05-15' = {
|
|
108
|
+
name: 'storage'
|
|
109
|
+
parent: cosmosDatabase
|
|
110
|
+
properties: {
|
|
111
|
+
resource: {
|
|
112
|
+
id: 'storage'
|
|
113
|
+
partitionKey: {
|
|
114
|
+
paths: ['/pk']
|
|
115
|
+
kind: 'Hash'
|
|
116
|
+
version: 2
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
69
123
|
### Setup
|
|
70
124
|
|
|
71
125
|
```typescript
|
|
@@ -85,7 +139,7 @@ const metadata = new CosmosMetadataStore({
|
|
|
85
139
|
});
|
|
86
140
|
```
|
|
87
141
|
|
|
88
|
-
The default container ID is `"storage"`.
|
|
142
|
+
The default container ID is `"storage"`. Pass `containerId` in options to override.
|
|
89
143
|
|
|
90
144
|
### Options reference
|
|
91
145
|
|
|
@@ -102,6 +156,7 @@ interface CosmosMetadataOptions {
|
|
|
102
156
|
/** Container ID — defaults to "storage" */
|
|
103
157
|
containerId?: string;
|
|
104
158
|
}
|
|
159
|
+
}
|
|
105
160
|
```
|
|
106
161
|
|
|
107
162
|
## Using both together
|
|
@@ -9,6 +9,6 @@ export declare class CosmosMetadataStore implements IMetadataStore {
|
|
|
9
9
|
readonly blobs: CosmosBlobStore;
|
|
10
10
|
readonly files: CosmosFileStore;
|
|
11
11
|
constructor(container: Container);
|
|
12
|
-
constructor(options: CosmosMetadataOptions
|
|
12
|
+
constructor(options: CosmosMetadataOptions);
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=cosmos-metadata-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos-metadata-store.d.ts","sourceRoot":"","sources":["../../src/metadata/cosmos-metadata-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAIhE,qBAAa,mBAAoB,YAAW,cAAc;IACxD,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;gBAEpB,SAAS,EAAE,SAAS;gBACpB,OAAO,EAAE,qBAAqB
|
|
1
|
+
{"version":3,"file":"cosmos-metadata-store.d.ts","sourceRoot":"","sources":["../../src/metadata/cosmos-metadata-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAIhE,qBAAa,mBAAoB,YAAW,cAAc;IACxD,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;gBAEpB,SAAS,EAAE,SAAS;gBACpB,OAAO,EAAE,qBAAqB;CAkC3C"}
|
|
@@ -7,7 +7,7 @@ export class CosmosMetadataStore {
|
|
|
7
7
|
uploads;
|
|
8
8
|
blobs;
|
|
9
9
|
files;
|
|
10
|
-
constructor(containerOrOptions
|
|
10
|
+
constructor(containerOrOptions) {
|
|
11
11
|
let container;
|
|
12
12
|
if ("items" in containerOrOptions) {
|
|
13
13
|
container = containerOrOptions;
|
|
@@ -29,7 +29,7 @@ export class CosmosMetadataStore {
|
|
|
29
29
|
}
|
|
30
30
|
container = client
|
|
31
31
|
.database(options.databaseId)
|
|
32
|
-
.container(containerId ?? DEFAULT_CONTAINER_ID);
|
|
32
|
+
.container(options.containerId ?? DEFAULT_CONTAINER_ID);
|
|
33
33
|
}
|
|
34
34
|
this.uploads = new CosmosUploadSessionStore(container);
|
|
35
35
|
this.blobs = new CosmosBlobStore(container);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos-metadata-store.js","sourceRoot":"","sources":["../../src/metadata/cosmos-metadata-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,eAAe,CAAC;AAG7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,oBAAoB,GAAG,SAAS,CAAC;AAEvC,MAAM,OAAO,mBAAmB;IACrB,OAAO,CAA2B;IAClC,KAAK,CAAkB;IACvB,KAAK,CAAkB;IAIhC,YACE,kBAAqD
|
|
1
|
+
{"version":3,"file":"cosmos-metadata-store.js","sourceRoot":"","sources":["../../src/metadata/cosmos-metadata-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,eAAe,CAAC;AAG7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,oBAAoB,GAAG,SAAS,CAAC;AAEvC,MAAM,OAAO,mBAAmB;IACrB,OAAO,CAA2B;IAClC,KAAK,CAAkB;IACvB,KAAK,CAAkB;IAIhC,YACE,kBAAqD;QAErD,IAAI,SAAoB,CAAC;QAEzB,IAAI,OAAO,IAAI,kBAAkB,EAAE,CAAC;YAClC,SAAS,GAAG,kBAA+B,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,kBAAkB,CAAC;YACnC,IAAI,MAAoB,CAAC;YAEzB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC7B,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAC3C,MAAM,GAAG,IAAI,YAAY,CAAC;oBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;iBACjB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;YACJ,CAAC;YAED,SAAS,GAAG,MAAM;iBACf,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;iBAC5B,SAAS,CAAC,OAAO,CAAC,WAAW,IAAI,oBAAoB,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;CACF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { JsonObject } from "@vankyle/storage-shared";
|
|
2
|
+
import type { Blob, BlobReference } from "@vankyle/storage-core";
|
|
3
|
+
export interface BlobDoc {
|
|
4
|
+
id: string;
|
|
5
|
+
pk: string;
|
|
6
|
+
type: "blob";
|
|
7
|
+
provider: string;
|
|
8
|
+
bucket: string;
|
|
9
|
+
objectKey: string;
|
|
10
|
+
size: number;
|
|
11
|
+
mimeType?: string | undefined;
|
|
12
|
+
sha256?: string | undefined;
|
|
13
|
+
etag?: string | undefined;
|
|
14
|
+
storageClass?: string | undefined;
|
|
15
|
+
status: string;
|
|
16
|
+
createdAt: string;
|
|
17
|
+
updatedAt: string;
|
|
18
|
+
deletedAt?: string | undefined;
|
|
19
|
+
metadata?: JsonObject | undefined;
|
|
20
|
+
}
|
|
21
|
+
export interface BlobReferenceDoc {
|
|
22
|
+
id: string;
|
|
23
|
+
pk: string;
|
|
24
|
+
type: "blob-reference";
|
|
25
|
+
blobId: string;
|
|
26
|
+
refType: string;
|
|
27
|
+
refId: string;
|
|
28
|
+
createdAt: string;
|
|
29
|
+
}
|
|
30
|
+
export declare function blobDocToModel(doc: BlobDoc): Blob;
|
|
31
|
+
export declare function blobReferenceDocToModel(doc: BlobReferenceDoc): BlobReference;
|
|
32
|
+
//# sourceMappingURL=blob-doc.mapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blob-doc.mapper.d.ts","sourceRoot":"","sources":["../../../src/metadata/mappers/blob-doc.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,IAAI,EAA+B,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAElG,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAiBjD;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,gBAAgB,GAAG,aAAa,CAQ5E"}
|
|
1
|
+
{"version":3,"file":"blob-doc.mapper.d.ts","sourceRoot":"","sources":["../../../src/metadata/mappers/blob-doc.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,IAAI,EAA+B,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAElG,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAiBjD;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,gBAAgB,GAAG,aAAa,CAQ5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blob-doc.mapper.js","sourceRoot":"","sources":["../../../src/metadata/mappers/blob-doc.mapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"blob-doc.mapper.js","sourceRoot":"","sources":["../../../src/metadata/mappers/blob-doc.mapper.ts"],"names":[],"mappings":"AAgCA,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,QAAQ,EAAE,GAAG,CAAC,QAA2B;QACzC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,MAAM,EAAE,GAAG,CAAC,MAAoB;QAChC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;QAClC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;QAClC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QAC9D,QAAQ,EAAE,GAAG,CAAC,QAAQ;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAqB;IAC3D,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;KACnC,CAAC;AACJ,CAAC"}
|
|
@@ -2,6 +2,7 @@ import type { JsonObject } from "@vankyle/storage-shared";
|
|
|
2
2
|
import type { File, FileVersion } from "@vankyle/storage-core";
|
|
3
3
|
export interface FileDoc {
|
|
4
4
|
id: string;
|
|
5
|
+
pk: string;
|
|
5
6
|
type: "file";
|
|
6
7
|
ownerId?: string | undefined;
|
|
7
8
|
displayName: string;
|
|
@@ -17,6 +18,7 @@ export interface FileDoc {
|
|
|
17
18
|
}
|
|
18
19
|
export interface FileVersionDoc {
|
|
19
20
|
id: string;
|
|
21
|
+
pk: string;
|
|
20
22
|
type: "file-version";
|
|
21
23
|
fileId: string;
|
|
22
24
|
blobId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-doc.mapper.d.ts","sourceRoot":"","sources":["../../../src/metadata/mappers/file-doc.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAc,MAAM,2BAA2B,CAAC;AAE/E,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACnC;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAejD;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,cAAc,GAAG,WAAW,CAatE"}
|
|
1
|
+
{"version":3,"file":"file-doc.mapper.d.ts","sourceRoot":"","sources":["../../../src/metadata/mappers/file-doc.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAc,MAAM,2BAA2B,CAAC;AAE/E,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACnC;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAejD;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,cAAc,GAAG,WAAW,CAatE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-doc.mapper.js","sourceRoot":"","sources":["../../../src/metadata/mappers/file-doc.mapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-doc.mapper.js","sourceRoot":"","sources":["../../../src/metadata/mappers/file-doc.mapper.ts"],"names":[],"mappings":"AAmCA,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;QACtC,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM,EAAE,GAAG,CAAC,MAAoB;QAChC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;QAClC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;QAClC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QAC9D,QAAQ,EAAE,GAAG,CAAC,QAAQ;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAmB;IACvD,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;QAClC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;KACvB,CAAC;AACJ,CAAC"}
|
|
@@ -2,6 +2,7 @@ import type { JsonObject } from "@vankyle/storage-shared";
|
|
|
2
2
|
import type { UploadSession, UploadedPart } from "@vankyle/storage-core";
|
|
3
3
|
export interface UploadSessionDoc {
|
|
4
4
|
id: string;
|
|
5
|
+
pk: string;
|
|
5
6
|
type: "upload-session";
|
|
6
7
|
provider: string;
|
|
7
8
|
bucket: string;
|
|
@@ -25,6 +26,7 @@ export interface UploadSessionDoc {
|
|
|
25
26
|
}
|
|
26
27
|
export interface UploadedPartDoc {
|
|
27
28
|
id: string;
|
|
29
|
+
pk: string;
|
|
28
30
|
type: "uploaded-part";
|
|
29
31
|
sessionId: string;
|
|
30
32
|
partNumber: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-session-doc.mapper.d.ts","sourceRoot":"","sources":["../../../src/metadata/mappers/upload-session-doc.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EAIb,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,mBAAmB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,gBAAgB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,gBAAgB,GAAG,aAAa,CAuB5E;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,eAAe,GAAG,YAAY,CAYzE"}
|
|
1
|
+
{"version":3,"file":"upload-session-doc.mapper.d.ts","sourceRoot":"","sources":["../../../src/metadata/mappers/upload-session-doc.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EAIb,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,mBAAmB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,gBAAgB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,gBAAgB,GAAG,aAAa,CAuB5E;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,eAAe,GAAG,YAAY,CAYzE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-session-doc.mapper.js","sourceRoot":"","sources":["../../../src/metadata/mappers/upload-session-doc.mapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"upload-session-doc.mapper.js","sourceRoot":"","sources":["../../../src/metadata/mappers/upload-session-doc.mapper.ts"],"names":[],"mappings":"AAgDA,MAAM,UAAU,uBAAuB,CAAC,GAAqB;IAC3D,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,QAAQ,EAAE,GAAG,CAAC,QAA2B;QACzC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,IAAI,EAAE,GAAG,CAAC,IAAkB;QAC5B,MAAM,EAAE,GAAG,CAAC,MAA6B;QACzC,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;QACtC,mBAAmB,EAAE,GAAG,CAAC,mBAAmB;QAC5C,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;QAClC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;QAClC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QAC9D,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QACpE,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;KAC/D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAAoB;IACzD,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;QACtC,UAAU,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;KACrC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos-blob-store.d.ts","sourceRoot":"","sources":["../../../src/metadata/stores/cosmos-blob-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,eAAe,EACf,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAStF,qBAAa,eAAgB,YAAW,UAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAE3C,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"cosmos-blob-store.d.ts","sourceRoot":"","sources":["../../../src/metadata/stores/cosmos-blob-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,eAAe,EACf,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAStF,qBAAa,eAAgB,YAAW,UAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAE3C,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBjD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAW9C,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB7D,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAe3D,iBAAiB,CACrB,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAgBtB,eAAe,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,aAAa,CAAC;IAexE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAcxD,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAgBjD"}
|
|
@@ -9,6 +9,7 @@ export class CosmosBlobStore {
|
|
|
9
9
|
const now = new Date().toISOString();
|
|
10
10
|
const doc = {
|
|
11
11
|
id: input.id,
|
|
12
|
+
pk: input.id,
|
|
12
13
|
type: "blob",
|
|
13
14
|
provider: input.provider,
|
|
14
15
|
bucket: input.bucket,
|
|
@@ -28,6 +29,7 @@ export class CosmosBlobStore {
|
|
|
28
29
|
}
|
|
29
30
|
async getBlob(id) {
|
|
30
31
|
try {
|
|
32
|
+
// blob pk = id
|
|
31
33
|
const { resource } = await this.container.item(id, id).read();
|
|
32
34
|
if (!resource || resource.type !== "blob")
|
|
33
35
|
return undefined;
|
|
@@ -38,6 +40,7 @@ export class CosmosBlobStore {
|
|
|
38
40
|
}
|
|
39
41
|
}
|
|
40
42
|
async updateBlob(id, input) {
|
|
43
|
+
// blob pk = id
|
|
41
44
|
const { resource: existing } = await this.container.item(id, id).read();
|
|
42
45
|
if (!existing) {
|
|
43
46
|
throw new Error(`Blob not found: ${id}`);
|
|
@@ -50,6 +53,7 @@ export class CosmosBlobStore {
|
|
|
50
53
|
updated.status = input.status;
|
|
51
54
|
if (input.deletedAt !== undefined)
|
|
52
55
|
updated.deletedAt = input.deletedAt.toISOString();
|
|
56
|
+
// blob pk = id
|
|
53
57
|
const { resource } = await this.container.item(id, id).replace(updated);
|
|
54
58
|
return blobDocToModel(resource);
|
|
55
59
|
}
|
|
@@ -83,6 +87,7 @@ export class CosmosBlobStore {
|
|
|
83
87
|
async createReference(input) {
|
|
84
88
|
const doc = {
|
|
85
89
|
id: input.id,
|
|
90
|
+
pk: input.blobId,
|
|
86
91
|
type: "blob-reference",
|
|
87
92
|
blobId: input.blobId,
|
|
88
93
|
refType: input.refType,
|
|
@@ -97,13 +102,25 @@ export class CosmosBlobStore {
|
|
|
97
102
|
query: "SELECT * FROM c WHERE c.type = 'blob-reference' AND c.blobId = @blobId",
|
|
98
103
|
parameters: [{ name: "@blobId", value: blobId }],
|
|
99
104
|
};
|
|
105
|
+
// blob-reference pk = blobId — single-partition query
|
|
100
106
|
const { resources } = await this.container.items
|
|
101
|
-
.query(query)
|
|
107
|
+
.query(query, { partitionKey: blobId })
|
|
102
108
|
.fetchAll();
|
|
103
109
|
return resources.map(blobReferenceDocToModel);
|
|
104
110
|
}
|
|
105
111
|
async deleteReference(id) {
|
|
106
|
-
|
|
112
|
+
// blob-reference pk = blobId — need to find the document first
|
|
113
|
+
const query = {
|
|
114
|
+
query: "SELECT * FROM c WHERE c.id = @id AND c.type = 'blob-reference'",
|
|
115
|
+
parameters: [{ name: "@id", value: id }],
|
|
116
|
+
};
|
|
117
|
+
const { resources } = await this.container.items
|
|
118
|
+
.query(query)
|
|
119
|
+
.fetchAll();
|
|
120
|
+
if (resources.length === 0)
|
|
121
|
+
return;
|
|
122
|
+
const doc = resources[0];
|
|
123
|
+
await this.container.item(doc.id, doc.pk).delete();
|
|
107
124
|
}
|
|
108
125
|
}
|
|
109
126
|
//# sourceMappingURL=cosmos-blob-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos-blob-store.js","sourceRoot":"","sources":["../../../src/metadata/stores/cosmos-blob-store.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cosmos-blob-store.js","sourceRoot":"","sources":["../../../src/metadata/stores/cosmos-blob-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos-file-store.d.ts","sourceRoot":"","sources":["../../../src/metadata/stores/cosmos-file-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,eAAe,EACf,sBAAsB,EACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AASnE,qBAAa,eAAgB,YAAW,UAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAE3C,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"cosmos-file-store.d.ts","sourceRoot":"","sources":["../../../src/metadata/stores/cosmos-file-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,eAAe,EACf,sBAAsB,EACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AASnE,qBAAa,eAAgB,YAAW,UAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAE3C,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBjD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAW9C,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B7D,aAAa,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC;IAoBlE,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAcxD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAcpD,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;CAczE"}
|
|
@@ -9,6 +9,7 @@ export class CosmosFileStore {
|
|
|
9
9
|
const now = new Date().toISOString();
|
|
10
10
|
const doc = {
|
|
11
11
|
id: input.id,
|
|
12
|
+
pk: input.id,
|
|
12
13
|
type: "file",
|
|
13
14
|
ownerId: input.ownerId,
|
|
14
15
|
displayName: input.displayName,
|
|
@@ -25,6 +26,7 @@ export class CosmosFileStore {
|
|
|
25
26
|
}
|
|
26
27
|
async getFile(id) {
|
|
27
28
|
try {
|
|
29
|
+
// file pk = id
|
|
28
30
|
const { resource } = await this.container.item(id, id).read();
|
|
29
31
|
if (!resource || resource.type !== "file")
|
|
30
32
|
return undefined;
|
|
@@ -35,6 +37,7 @@ export class CosmosFileStore {
|
|
|
35
37
|
}
|
|
36
38
|
}
|
|
37
39
|
async updateFile(id, input) {
|
|
40
|
+
// file pk = id
|
|
38
41
|
const { resource: existing } = await this.container.item(id, id).read();
|
|
39
42
|
if (!existing) {
|
|
40
43
|
throw new Error(`File not found: ${id}`);
|
|
@@ -57,12 +60,14 @@ export class CosmosFileStore {
|
|
|
57
60
|
updated.deletedAt = input.deletedAt.toISOString();
|
|
58
61
|
if (input.metadata !== undefined)
|
|
59
62
|
updated.metadata = input.metadata;
|
|
63
|
+
// file pk = id
|
|
60
64
|
const { resource } = await this.container.item(id, id).replace(updated);
|
|
61
65
|
return fileDocToModel(resource);
|
|
62
66
|
}
|
|
63
67
|
async createVersion(input) {
|
|
64
68
|
const doc = {
|
|
65
69
|
id: input.id,
|
|
70
|
+
pk: input.fileId,
|
|
66
71
|
type: "file-version",
|
|
67
72
|
fileId: input.fileId,
|
|
68
73
|
blobId: input.blobId,
|
|
@@ -78,23 +83,26 @@ export class CosmosFileStore {
|
|
|
78
83
|
return fileVersionDocToModel(resource);
|
|
79
84
|
}
|
|
80
85
|
async getVersion(id) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
|
|
86
|
+
// file-version pk = fileId, unknown here — use cross-partition query
|
|
87
|
+
const query = {
|
|
88
|
+
query: "SELECT * FROM c WHERE c.id = @id AND c.type = 'file-version'",
|
|
89
|
+
parameters: [{ name: "@id", value: id }],
|
|
90
|
+
};
|
|
91
|
+
const { resources } = await this.container.items
|
|
92
|
+
.query(query)
|
|
93
|
+
.fetchAll();
|
|
94
|
+
if (resources.length === 0)
|
|
88
95
|
return undefined;
|
|
89
|
-
|
|
96
|
+
return fileVersionDocToModel(resources[0]);
|
|
90
97
|
}
|
|
91
98
|
async listVersions(fileId) {
|
|
92
99
|
const query = {
|
|
93
100
|
query: "SELECT * FROM c WHERE c.type = 'file-version' AND c.fileId = @fileId ORDER BY c.version",
|
|
94
101
|
parameters: [{ name: "@fileId", value: fileId }],
|
|
95
102
|
};
|
|
103
|
+
// file-version pk = fileId — single-partition query
|
|
96
104
|
const { resources } = await this.container.items
|
|
97
|
-
.query(query)
|
|
105
|
+
.query(query, { partitionKey: fileId })
|
|
98
106
|
.fetchAll();
|
|
99
107
|
return resources.map(fileVersionDocToModel);
|
|
100
108
|
}
|
|
@@ -103,8 +111,9 @@ export class CosmosFileStore {
|
|
|
103
111
|
query: "SELECT TOP 1 * FROM c WHERE c.type = 'file-version' AND c.fileId = @fileId ORDER BY c.version DESC",
|
|
104
112
|
parameters: [{ name: "@fileId", value: fileId }],
|
|
105
113
|
};
|
|
114
|
+
// file-version pk = fileId — single-partition query
|
|
106
115
|
const { resources } = await this.container.items
|
|
107
|
-
.query(query)
|
|
116
|
+
.query(query, { partitionKey: fileId })
|
|
108
117
|
.fetchAll();
|
|
109
118
|
if (resources.length === 0)
|
|
110
119
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos-file-store.js","sourceRoot":"","sources":["../../../src/metadata/stores/cosmos-file-store.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cosmos-file-store.js","sourceRoot":"","sources":["../../../src/metadata/stores/cosmos-file-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos-upload-session-store.d.ts","sourceRoot":"","sources":["../../../src/metadata/stores/cosmos-upload-session-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAS7E,qBAAa,wBAAyB,YAAW,mBAAmB;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAE3C,aAAa,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"cosmos-upload-session-store.d.ts","sourceRoot":"","sources":["../../../src/metadata/stores/cosmos-upload-session-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAS7E,qBAAa,wBAAyB,YAAW,mBAAmB;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAE3C,aAAa,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,aAAa,CAAC;IA6BtE,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAW1D,aAAa,CACjB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,aAAa,CAAC;IA2BnB,OAAO,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,YAAY,CAAC;IAmB9D,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAgB9B,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAW5D"}
|
|
@@ -9,6 +9,7 @@ export class CosmosUploadSessionStore {
|
|
|
9
9
|
const now = new Date().toISOString();
|
|
10
10
|
const doc = {
|
|
11
11
|
id: input.id,
|
|
12
|
+
pk: input.id,
|
|
12
13
|
type: "upload-session",
|
|
13
14
|
provider: input.provider,
|
|
14
15
|
bucket: input.bucket,
|
|
@@ -33,6 +34,7 @@ export class CosmosUploadSessionStore {
|
|
|
33
34
|
}
|
|
34
35
|
async getSession(id) {
|
|
35
36
|
try {
|
|
37
|
+
// upload-session pk = id
|
|
36
38
|
const { resource } = await this.container.item(id, id).read();
|
|
37
39
|
if (!resource || resource.type !== "upload-session")
|
|
38
40
|
return undefined;
|
|
@@ -43,6 +45,7 @@ export class CosmosUploadSessionStore {
|
|
|
43
45
|
}
|
|
44
46
|
}
|
|
45
47
|
async updateSession(id, input) {
|
|
48
|
+
// upload-session pk = id
|
|
46
49
|
const { resource: existing } = await this.container.item(id, id).read();
|
|
47
50
|
if (!existing) {
|
|
48
51
|
throw new Error(`UploadSession not found: ${id}`);
|
|
@@ -61,12 +64,14 @@ export class CosmosUploadSessionStore {
|
|
|
61
64
|
updated.completedAt = input.completedAt.toISOString();
|
|
62
65
|
if (input.abortedAt !== undefined)
|
|
63
66
|
updated.abortedAt = input.abortedAt.toISOString();
|
|
67
|
+
// upload-session pk = id
|
|
64
68
|
const { resource } = await this.container.item(id, id).replace(updated);
|
|
65
69
|
return uploadSessionDocToModel(resource);
|
|
66
70
|
}
|
|
67
71
|
async addPart(input) {
|
|
68
72
|
const doc = {
|
|
69
73
|
id: input.id,
|
|
74
|
+
pk: input.sessionId,
|
|
70
75
|
type: "uploaded-part",
|
|
71
76
|
sessionId: input.sessionId,
|
|
72
77
|
partNumber: input.partNumber,
|
|
@@ -88,7 +93,8 @@ export class CosmosUploadSessionStore {
|
|
|
88
93
|
{ name: "@partNumber", value: partNumber },
|
|
89
94
|
],
|
|
90
95
|
};
|
|
91
|
-
|
|
96
|
+
// uploaded-part pk = sessionId — single-partition query
|
|
97
|
+
const { resources } = await this.container.items.query(query, { partitionKey: sessionId }).fetchAll();
|
|
92
98
|
if (resources.length === 0)
|
|
93
99
|
return undefined;
|
|
94
100
|
return uploadedPartDocToModel(resources[0]);
|
|
@@ -98,7 +104,8 @@ export class CosmosUploadSessionStore {
|
|
|
98
104
|
query: "SELECT * FROM c WHERE c.type = 'uploaded-part' AND c.sessionId = @sessionId ORDER BY c.partNumber",
|
|
99
105
|
parameters: [{ name: "@sessionId", value: sessionId }],
|
|
100
106
|
};
|
|
101
|
-
|
|
107
|
+
// uploaded-part pk = sessionId — single-partition query
|
|
108
|
+
const { resources } = await this.container.items.query(query, { partitionKey: sessionId }).fetchAll();
|
|
102
109
|
return resources.map(uploadedPartDocToModel);
|
|
103
110
|
}
|
|
104
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos-upload-session-store.js","sourceRoot":"","sources":["../../../src/metadata/stores/cosmos-upload-session-store.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cosmos-upload-session-store.js","sourceRoot":"","sources":["../../../src/metadata/stores/cosmos-upload-session-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,5 +3,11 @@ export interface CosmosMetadataOptions {
|
|
|
3
3
|
readonly endpoint?: string | undefined;
|
|
4
4
|
readonly key?: string | undefined;
|
|
5
5
|
readonly databaseId: string;
|
|
6
|
+
/**
|
|
7
|
+
* Container ID — defaults to `"storage"`.
|
|
8
|
+
*
|
|
9
|
+
* The container **must** be created with partition key path `/pk`.
|
|
10
|
+
*/
|
|
11
|
+
readonly containerId?: string | undefined;
|
|
6
12
|
}
|
|
7
13
|
//# sourceMappingURL=cosmos-options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos-options.d.ts","sourceRoot":"","sources":["../../src/types/cosmos-options.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"cosmos-options.d.ts","sourceRoot":"","sources":["../../src/types/cosmos-options.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vankyle/storage-azure",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.6",
|
|
4
4
|
"description": "Azure Blob Storage and Cosmos DB adapters for vankyle-storage.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"homepage": "https://github.com/Vankyle-Hub/storage-ts",
|
|
32
32
|
"packageManager": "pnpm@10.28.2",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@vankyle/storage-core": "0.2.
|
|
35
|
-
"@vankyle/storage-shared": "0.2.
|
|
34
|
+
"@vankyle/storage-core": "0.2.6",
|
|
35
|
+
"@vankyle/storage-shared": "0.2.6",
|
|
36
36
|
"@azure/storage-blob": "^12.31.0",
|
|
37
37
|
"@azure/cosmos": "^4.9.1"
|
|
38
38
|
},
|