document-drive 1.27.0 → 1.27.2
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/dist/prisma/schema.prisma +1 -0
- package/dist/src/drive-document-model/gen/drive/creators.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/node/creators.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/schema/zod.d.ts.map +1 -1
- package/dist/src/queue/base.js +1 -1
- package/dist/src/queue/types.d.ts +2 -2
- package/dist/src/queue/types.d.ts.map +1 -1
- package/dist/src/server/base-server.d.ts +5 -4
- package/dist/src/server/base-server.d.ts.map +1 -1
- package/dist/src/server/base-server.js +33 -31
- package/dist/src/server/builder.d.ts +1 -1
- package/dist/src/server/builder.d.ts.map +1 -1
- package/dist/src/server/builder.js +3 -1
- package/dist/src/server/listener/transmitter/internal.d.ts +1 -1
- package/dist/src/server/listener/transmitter/internal.d.ts.map +1 -1
- package/dist/src/server/listener/util.d.ts.map +1 -1
- package/dist/src/server/types.d.ts.map +1 -1
- package/dist/src/storage/browser.d.ts +12 -4
- package/dist/src/storage/browser.d.ts.map +1 -1
- package/dist/src/storage/browser.js +65 -21
- package/dist/src/storage/filesystem.d.ts +7 -4
- package/dist/src/storage/filesystem.d.ts.map +1 -1
- package/dist/src/storage/filesystem.js +94 -74
- package/dist/src/storage/memory.d.ts +3 -2
- package/dist/src/storage/memory.d.ts.map +1 -1
- package/dist/src/storage/memory.js +9 -1
- package/dist/src/storage/prisma/index.d.ts.map +1 -1
- package/dist/src/storage/prisma/index.js +2 -0
- package/dist/src/storage/sequelize.d.ts +4 -3
- package/dist/src/storage/sequelize.d.ts.map +1 -1
- package/dist/src/storage/sequelize.js +4 -2
- package/dist/src/storage/types.d.ts +3 -0
- package/dist/src/storage/types.d.ts.map +1 -1
- package/dist/src/utils/logger.d.ts.map +1 -1
- package/dist/test/document-helpers/utils.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -4
- package/dist/src/storage/base.d.ts +0 -36
- package/dist/src/storage/base.d.ts.map +0 -1
- package/dist/src/storage/base.js +0 -4
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { DriveNotFoundError } from "#server/error";
|
|
2
2
|
import { mergeOperations } from "#utils/misc";
|
|
3
|
-
import { existsSync, mkdirSync, readFileSync,
|
|
3
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
4
4
|
import fs from "fs/promises";
|
|
5
5
|
import stringify from "json-stringify-deterministic";
|
|
6
6
|
import path from "path";
|
|
7
|
-
import sanitize from "sanitize-filename";
|
|
8
7
|
function ensureDir(dir) {
|
|
9
8
|
if (!existsSync(dir)) {
|
|
10
9
|
mkdirSync(dir, { recursive: true });
|
|
@@ -12,51 +11,48 @@ function ensureDir(dir) {
|
|
|
12
11
|
}
|
|
13
12
|
export class FilesystemStorage {
|
|
14
13
|
basePath;
|
|
15
|
-
drivesPath;
|
|
16
|
-
static DRIVES_DIR = "drives";
|
|
17
14
|
constructor(basePath) {
|
|
18
15
|
this.basePath = basePath;
|
|
19
16
|
ensureDir(this.basePath);
|
|
20
|
-
this.drivesPath = path.join(this.basePath, FilesystemStorage.DRIVES_DIR);
|
|
21
|
-
ensureDir(this.drivesPath);
|
|
22
17
|
}
|
|
23
|
-
_buildDocumentPath(
|
|
24
|
-
return `${
|
|
18
|
+
_buildDocumentPath(documentId) {
|
|
19
|
+
return `${this.basePath}/document-${documentId}.json`;
|
|
25
20
|
}
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
_buildDrivePath(driveId) {
|
|
22
|
+
return `${this.basePath}/drive-${driveId}.json`;
|
|
23
|
+
}
|
|
24
|
+
_buildManifestPath(driveId) {
|
|
25
|
+
return `${this.basePath}/manifest-${driveId}.json`;
|
|
26
|
+
}
|
|
27
|
+
async getDriveManifest(driveId) {
|
|
28
|
+
const manifestPath = this._buildManifestPath(driveId);
|
|
28
29
|
try {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
});
|
|
30
|
+
const content = readFileSync(manifestPath, { encoding: "utf-8" });
|
|
31
|
+
return JSON.parse(content);
|
|
32
32
|
}
|
|
33
33
|
catch (error) {
|
|
34
|
-
//
|
|
35
|
-
|
|
36
|
-
throw error;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
const documents = [];
|
|
40
|
-
for (const file of files.filter((file) => file.isFile())) {
|
|
41
|
-
try {
|
|
42
|
-
const documentId = path.parse(file.name).name;
|
|
43
|
-
// checks if file is document
|
|
44
|
-
await this.getDocument(drive, documentId);
|
|
45
|
-
documents.push(documentId);
|
|
46
|
-
}
|
|
47
|
-
catch {
|
|
48
|
-
/* Ignore invalid document*/
|
|
49
|
-
}
|
|
34
|
+
// Return empty manifest if file doesn't exist
|
|
35
|
+
return { documentIds: [] };
|
|
50
36
|
}
|
|
51
|
-
return documents;
|
|
52
37
|
}
|
|
53
|
-
|
|
54
|
-
const
|
|
38
|
+
async updateDriveManifest(driveId, manifest) {
|
|
39
|
+
const manifestPath = this._buildManifestPath(driveId);
|
|
40
|
+
writeFileSync(manifestPath, stringify(manifest), { encoding: "utf-8" });
|
|
41
|
+
}
|
|
42
|
+
async getDocuments(drive) {
|
|
43
|
+
const manifest = await this.getDriveManifest(drive);
|
|
44
|
+
return manifest.documentIds;
|
|
45
|
+
}
|
|
46
|
+
exists(documentId) {
|
|
47
|
+
const documentExists = existsSync(this._buildDocumentPath(documentId));
|
|
55
48
|
return Promise.resolve(documentExists);
|
|
56
49
|
}
|
|
50
|
+
checkDocumentExists(drive, id) {
|
|
51
|
+
return this.exists(id);
|
|
52
|
+
}
|
|
57
53
|
async getDocument(drive, id) {
|
|
58
54
|
try {
|
|
59
|
-
const content = readFileSync(this._buildDocumentPath(
|
|
55
|
+
const content = readFileSync(this._buildDocumentPath(id), {
|
|
60
56
|
encoding: "utf-8",
|
|
61
57
|
});
|
|
62
58
|
return JSON.parse(content);
|
|
@@ -66,27 +62,21 @@ export class FilesystemStorage {
|
|
|
66
62
|
}
|
|
67
63
|
}
|
|
68
64
|
async createDocument(drive, id, document) {
|
|
69
|
-
const documentPath = this._buildDocumentPath(
|
|
70
|
-
ensureDir(path.dirname(documentPath));
|
|
65
|
+
const documentPath = this._buildDocumentPath(id);
|
|
71
66
|
writeFileSync(documentPath, stringify(document), {
|
|
72
67
|
encoding: "utf-8",
|
|
73
68
|
});
|
|
69
|
+
// Update the drive manifest to include this document
|
|
70
|
+
const manifest = await this.getDriveManifest(drive);
|
|
71
|
+
if (!manifest.documentIds.includes(id)) {
|
|
72
|
+
manifest.documentIds.push(id);
|
|
73
|
+
await this.updateDriveManifest(drive, manifest);
|
|
74
|
+
}
|
|
74
75
|
return Promise.resolve();
|
|
75
76
|
}
|
|
76
77
|
async clearStorage() {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
const drives = (await fs.readdir(drivesPath, {
|
|
80
|
-
withFileTypes: true,
|
|
81
|
-
recursive: true,
|
|
82
|
-
})).filter((dirent) => !!dirent.name);
|
|
83
|
-
await Promise.all(drives.map(async (dirent) => {
|
|
84
|
-
await fs.rm(path.join(drivesPath, dirent.name), {
|
|
85
|
-
recursive: true,
|
|
86
|
-
});
|
|
87
|
-
}));
|
|
88
|
-
// delete files in basePath
|
|
89
|
-
const files = (await fs.readdir(this.basePath, { withFileTypes: true })).filter((file) => file.name !== FilesystemStorage.DRIVES_DIR && !!file.name);
|
|
78
|
+
// delete content of basePath
|
|
79
|
+
const files = (await fs.readdir(this.basePath, { withFileTypes: true })).filter((dirent) => !!dirent.name);
|
|
90
80
|
await Promise.all(files.map(async (dirent) => {
|
|
91
81
|
await fs.rm(path.join(this.basePath, dirent.name), {
|
|
92
82
|
recursive: true,
|
|
@@ -94,7 +84,27 @@ export class FilesystemStorage {
|
|
|
94
84
|
}));
|
|
95
85
|
}
|
|
96
86
|
async deleteDocument(drive, id) {
|
|
97
|
-
|
|
87
|
+
// Update the drive manifest to remove this document
|
|
88
|
+
const manifest = await this.getDriveManifest(drive);
|
|
89
|
+
const docIndex = manifest.documentIds.indexOf(id);
|
|
90
|
+
if (docIndex !== -1) {
|
|
91
|
+
manifest.documentIds.splice(docIndex, 1);
|
|
92
|
+
await this.updateDriveManifest(drive, manifest);
|
|
93
|
+
}
|
|
94
|
+
// Check if this document exists in other drive manifests
|
|
95
|
+
// Only delete the actual file if no other drive references it
|
|
96
|
+
const drives = await this.getDrives();
|
|
97
|
+
for (const driveId of drives) {
|
|
98
|
+
if (driveId === drive)
|
|
99
|
+
continue;
|
|
100
|
+
const otherManifest = await this.getDriveManifest(driveId);
|
|
101
|
+
if (otherManifest.documentIds.includes(id)) {
|
|
102
|
+
// Document still referenced by another drive, don't delete the file
|
|
103
|
+
return Promise.resolve();
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
// If we got here, no other drive references this document, so we can delete it
|
|
107
|
+
return fs.rm(this._buildDocumentPath(id));
|
|
98
108
|
}
|
|
99
109
|
async addDocumentOperations(drive, id, operations, header) {
|
|
100
110
|
const document = await this.getDocument(drive, id);
|
|
@@ -102,40 +112,36 @@ export class FilesystemStorage {
|
|
|
102
112
|
throw new Error(`Document with id ${id} not found`);
|
|
103
113
|
}
|
|
104
114
|
const mergedOperations = mergeOperations(document.operations, operations);
|
|
105
|
-
|
|
115
|
+
const documentPath = this._buildDocumentPath(id);
|
|
116
|
+
writeFileSync(documentPath, stringify({
|
|
106
117
|
...document,
|
|
107
118
|
...header,
|
|
108
119
|
operations: mergedOperations,
|
|
120
|
+
}), {
|
|
121
|
+
encoding: "utf-8",
|
|
109
122
|
});
|
|
110
123
|
}
|
|
111
124
|
async getDrives() {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
const driveId = path.parse(file.name).name;
|
|
119
|
-
// checks if file is drive
|
|
120
|
-
await this.getDrive(driveId);
|
|
121
|
-
drives.push(driveId);
|
|
122
|
-
}
|
|
123
|
-
catch {
|
|
124
|
-
/* Ignore invalid drive document found on drives dir */
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
return drives;
|
|
125
|
+
// get anything that starts with drive-
|
|
126
|
+
const files = await fs.readdir(this.basePath, { withFileTypes: true });
|
|
127
|
+
return (files
|
|
128
|
+
.filter((file) => file.name.startsWith("drive-"))
|
|
129
|
+
// remove drive- prefix and extension
|
|
130
|
+
.map((file) => file.name.replace("drive-", "").replace(".json", "")));
|
|
128
131
|
}
|
|
129
132
|
async getDrive(id) {
|
|
130
133
|
try {
|
|
131
|
-
|
|
134
|
+
const content = readFileSync(this._buildDrivePath(id), {
|
|
135
|
+
encoding: "utf-8",
|
|
136
|
+
});
|
|
137
|
+
return JSON.parse(content);
|
|
132
138
|
}
|
|
133
|
-
catch {
|
|
139
|
+
catch (error) {
|
|
134
140
|
throw new DriveNotFoundError(id);
|
|
135
141
|
}
|
|
136
142
|
}
|
|
137
143
|
async getDriveBySlug(slug) {
|
|
138
|
-
// get
|
|
144
|
+
// get oldest drives first
|
|
139
145
|
const drives = (await this.getDrives()).reverse();
|
|
140
146
|
for (const drive of drives) {
|
|
141
147
|
const { initialState: { state: { global: { slug: driveSlug }, }, }, } = await this.getDrive(drive);
|
|
@@ -145,21 +151,35 @@ export class FilesystemStorage {
|
|
|
145
151
|
}
|
|
146
152
|
throw new Error(`Drive with slug ${slug} not found`);
|
|
147
153
|
}
|
|
148
|
-
createDrive(id, drive) {
|
|
149
|
-
|
|
154
|
+
async createDrive(id, drive) {
|
|
155
|
+
const drivePath = this._buildDrivePath(id);
|
|
156
|
+
writeFileSync(drivePath, stringify(drive), {
|
|
157
|
+
encoding: "utf-8",
|
|
158
|
+
});
|
|
159
|
+
// Initialize an empty manifest for the new drive
|
|
160
|
+
await this.updateDriveManifest(id, { documentIds: [] });
|
|
150
161
|
}
|
|
151
162
|
async deleteDrive(id) {
|
|
163
|
+
// First get all documents in this drive
|
|
152
164
|
const documents = await this.getDocuments(id);
|
|
153
|
-
|
|
154
|
-
await Promise.all(documents.map((
|
|
165
|
+
// Delete each document from this drive (may not actually delete the file if shared with other drives)
|
|
166
|
+
await Promise.all(documents.map((doc) => this.deleteDocument(id, doc)));
|
|
167
|
+
// Delete the drive manifest and the drive itself
|
|
168
|
+
await fs.rm(this._buildManifestPath(id)).catch(() => {
|
|
169
|
+
/* ignore error if manifest doesn't exist */
|
|
170
|
+
});
|
|
171
|
+
await fs.rm(this._buildDrivePath(id));
|
|
155
172
|
}
|
|
156
173
|
async addDriveOperations(id, operations, header) {
|
|
157
174
|
const drive = await this.getDrive(id);
|
|
158
175
|
const mergedOperations = mergeOperations(drive.operations, operations);
|
|
159
|
-
|
|
176
|
+
const drivePath = this._buildDrivePath(id);
|
|
177
|
+
writeFileSync(drivePath, stringify({
|
|
160
178
|
...drive,
|
|
161
179
|
...header,
|
|
162
180
|
operations: mergedOperations,
|
|
181
|
+
}), {
|
|
182
|
+
encoding: "utf-8",
|
|
163
183
|
});
|
|
164
184
|
}
|
|
165
185
|
async getSynchronizationUnitsRevision(units) {
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { type DocumentDriveDocument } from "#drive-document-model/gen/types";
|
|
2
2
|
import { type SynchronizationUnitQuery } from "#server/types";
|
|
3
3
|
import { type DocumentHeader, type Operation, type OperationFromDocument, type PHDocument } from "document-model";
|
|
4
|
-
import { type IDriveStorage } from "./types.js";
|
|
5
|
-
export declare class MemoryStorage implements IDriveStorage {
|
|
4
|
+
import { type IDocumentStorage, type IDriveStorage } from "./types.js";
|
|
5
|
+
export declare class MemoryStorage implements IDriveStorage, IDocumentStorage {
|
|
6
6
|
private documents;
|
|
7
7
|
private drives;
|
|
8
8
|
private slugToDriveId;
|
|
9
9
|
constructor();
|
|
10
|
+
exists(id: string): Promise<boolean>;
|
|
10
11
|
checkDocumentExists(drive: string, id: string): Promise<boolean>;
|
|
11
12
|
getDocuments(drive: string): Promise<string[]>;
|
|
12
13
|
getDocument<TDocument extends PHDocument>(driveId: string, id: string): Promise<TDocument>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/storage/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAE7E,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,qBAAqB,EAE1B,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/storage/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAE7E,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,qBAAqB,EAE1B,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAEvE,qBAAa,aAAc,YAAW,aAAa,EAAE,gBAAgB;IACnE,OAAO,CAAC,SAAS,CAA6C;IAC9D,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,aAAa,CAA8B;;IAOnD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUpC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1D,YAAY,CAAC,KAAK,EAAE,MAAM;IAI1B,WAAW,CAAC,SAAS,SAAS,UAAU,EAC5C,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,SAAS,CAAC;IAaf,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU;IAK5D,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU;IA0B9D,qBAAqB,CACzB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,SAAS,EAAE,EACvB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;IAeV,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAOxC,SAAS;IAIT,QAAQ,CAAC,EAAE,EAAE,MAAM;IAQnB,cAAc,CAAC,IAAI,EAAE,MAAM;IAQ3B,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IASpD,kBAAkB,CACtB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,qBAAqB,CAAC,qBAAqB,CAAC,EAAE,EAC1D,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;IAcV,WAAW,CAAC,EAAE,EAAE,MAAM;IAKtB,+BAA+B,CACnC,KAAK,EAAE,wBAAwB,EAAE,GAChC,OAAO,CACR;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KAClB,EAAE,CACJ;CA2CF"}
|
|
@@ -8,8 +8,16 @@ export class MemoryStorage {
|
|
|
8
8
|
this.documents = {};
|
|
9
9
|
this.drives = {};
|
|
10
10
|
}
|
|
11
|
+
exists(id) {
|
|
12
|
+
for (const drive of Object.values(this.documents)) {
|
|
13
|
+
if (drive[id]) {
|
|
14
|
+
return Promise.resolve(true);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return Promise.resolve(false);
|
|
18
|
+
}
|
|
11
19
|
checkDocumentExists(drive, id) {
|
|
12
|
-
return
|
|
20
|
+
return this.exists(id);
|
|
13
21
|
}
|
|
14
22
|
async getDocuments(drive) {
|
|
15
23
|
return Object.keys(this.documents[drive] ?? {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/prisma/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,KAAK,EAEV,qBAAqB,EACrB,cAAc,EAGd,SAAS,EACT,qBAAqB,EAGrB,UAAU,EACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,eAAe,EAAW,MAAM,qBAAqB,CAAC;AACpE,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC3B,MAAM,yCAAyC,CAAC;AAKjD,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAExE,cAAc,cAAc,CAAC;AAE7B,KAAK,WAAW,GACZ,IAAI,CACF,YAAY,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAC/C,UAAU,GAAG,aAAa,GAAG,KAAK,GAAG,cAAc,GAAG,MAAM,GAAG,UAAU,CAC1E,GACD,oBAAoB,CAAC;AA2BzB,MAAM,MAAM,oBAAoB,GAAG;IACjC,uBAAuB,CAAC,EAAE,eAAe,CAAC;CAC3C,CAAC;AAEF,iBAAS,0BAA0B,CAAC,CAAC,SAAS,YAAY,EACxD,MAAM,EAAE,CAAC,EACT,cAAc,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;;;;;sCAIb,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;;;;;;;sCAA7B,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;;OAiB1D;AAED,KAAK,oBAAoB,GAAG,UAAU,CACpC,OAAO,0BAA0B,CAAC,YAAY,CAAC,CAChD,CAAC;AAEF,qBAAa,aAAc,YAAW,aAAa;IACjD,OAAO,CAAC,EAAE,CAAuB;IACjC,OAAO,CAAC,QAAQ,CAA+B;gBAEnC,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAQ5D,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAI9C,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBpE,kBAAkB,CACtB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,SAAS,CAAC,mBAAmB,CAAC,EAAE,EAC5C,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;IAIV,iCAAiC,CACrC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,QAAQ,EAAE,qBAAqB,KAAK,OAAO,CAAC;QACrD,UAAU,EAAE,SAAS,EAAE,CAAC;QACxB,MAAM,EAAE,cAAc,CAAC;KACxB,CAAC;IASE,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,UAAU,GACnB,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/prisma/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -95,6 +95,7 @@ export class PrismaStorage {
|
|
|
95
95
|
initialState: JSON.stringify(document.initialState),
|
|
96
96
|
lastModified: document.lastModified,
|
|
97
97
|
revision: JSON.stringify(document.revision),
|
|
98
|
+
meta: document.meta ? JSON.stringify(document.meta) : undefined,
|
|
98
99
|
id,
|
|
99
100
|
},
|
|
100
101
|
});
|
|
@@ -319,6 +320,7 @@ export class PrismaStorage {
|
|
|
319
320
|
operations: operationsByScope,
|
|
320
321
|
clipboard: [],
|
|
321
322
|
revision: JSON.parse(dbDoc.revision),
|
|
323
|
+
meta: dbDoc.meta ? JSON.parse(dbDoc.meta) : undefined,
|
|
322
324
|
attachments: {},
|
|
323
325
|
};
|
|
324
326
|
return doc;
|
|
@@ -2,8 +2,8 @@ import { type DocumentDriveAction, type DocumentDriveDocument } from "#drive-doc
|
|
|
2
2
|
import { type SynchronizationUnitQuery } from "#server/types";
|
|
3
3
|
import { type AttachmentInput, type DocumentHeader, type Operation, type PHDocument } from "document-model";
|
|
4
4
|
import { type Options, Sequelize } from "sequelize";
|
|
5
|
-
import { type IDriveStorage } from "./types.js";
|
|
6
|
-
export declare class SequelizeStorage implements IDriveStorage {
|
|
5
|
+
import { type IDocumentStorage, type IDriveStorage } from "./types.js";
|
|
6
|
+
export declare class SequelizeStorage implements IDriveStorage, IDocumentStorage {
|
|
7
7
|
private db;
|
|
8
8
|
constructor(options: Options);
|
|
9
9
|
syncModels(): Promise<Sequelize>;
|
|
@@ -13,7 +13,8 @@ export declare class SequelizeStorage implements IDriveStorage {
|
|
|
13
13
|
addDocumentOperations(drive: string, id: string, operations: Operation[], header: DocumentHeader): Promise<void>;
|
|
14
14
|
_addDocumentOperationAttachments(driveId: string, documentId: string, operation: Operation, attachments: AttachmentInput[]): Promise<import("sequelize").Model<any, any>[]>;
|
|
15
15
|
getDocuments(drive: string): Promise<string[]>;
|
|
16
|
-
|
|
16
|
+
exists(id: string): Promise<boolean>;
|
|
17
|
+
checkDocumentExists(drive: string, id: string): Promise<boolean>;
|
|
17
18
|
getDocument<TDocument extends PHDocument>(driveId: string, id: string): Promise<TDocument>;
|
|
18
19
|
deleteDocument(drive: string, id: string): Promise<void>;
|
|
19
20
|
getDrives(): Promise<string[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequelize.d.ts","sourceRoot":"","sources":["../../../src/storage/sequelize.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAG3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,
|
|
1
|
+
{"version":3,"file":"sequelize.d.ts","sourceRoot":"","sources":["../../../src/storage/sequelize.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAG3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,cAAc,EAEnB,KAAK,SAAS,EAEd,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAa,KAAK,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAEvE,qBAAa,gBAAiB,YAAW,aAAa,EAAE,gBAAgB;IACtE,OAAO,CAAC,EAAE,CAAY;gBAEV,OAAO,EAAE,OAAO;IAIrB,UAAU;IAuGX,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE,kBAAkB,CACtB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,SAAS,CAAC,mBAAmB,CAAC,EAAE,EAC5C,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;IAGV,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,UAAU,GACnB,OAAO,CAAC,IAAI,CAAC;IAiBV,qBAAqB,CACzB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,SAAS,EAAE,EACvB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;IAyEV,gCAAgC,CACpC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,eAAe,EAAE;IAuB1B,YAAY,CAAC,KAAK,EAAE,MAAM;IAoB1B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAcpC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhE,WAAW,CAAC,SAAS,SAAS,UAAU,EAC5C,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,SAAS,CAAC;IA6Ef,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAcxC,SAAS;IAIT,QAAQ,CAAC,EAAE,EAAE,MAAM;IAKnB,cAAc,CAAC,IAAI,EAAE,MAAM;IAoB3B,WAAW,CAAC,EAAE,EAAE,MAAM;IAwBtB,+BAA+B,CACnC,KAAK,EAAE,wBAAwB,EAAE,GAChC,OAAO,CACR;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KAClB,EAAE,CACJ;CA2CF"}
|
|
@@ -219,7 +219,7 @@ export class SequelizeStorage {
|
|
|
219
219
|
});
|
|
220
220
|
return ids;
|
|
221
221
|
}
|
|
222
|
-
async
|
|
222
|
+
async exists(id) {
|
|
223
223
|
const Document = this.db.models.document;
|
|
224
224
|
if (!Document) {
|
|
225
225
|
throw new Error("Document model not found");
|
|
@@ -227,11 +227,13 @@ export class SequelizeStorage {
|
|
|
227
227
|
const count = await Document.count({
|
|
228
228
|
where: {
|
|
229
229
|
id: id,
|
|
230
|
-
driveId: driveId,
|
|
231
230
|
},
|
|
232
231
|
});
|
|
233
232
|
return count > 0;
|
|
234
233
|
}
|
|
234
|
+
async checkDocumentExists(drive, id) {
|
|
235
|
+
return this.exists(id);
|
|
236
|
+
}
|
|
235
237
|
async getDocument(driveId, id) {
|
|
236
238
|
const documentFromDb = this.db.models.document;
|
|
237
239
|
if (!documentFromDb) {
|
|
@@ -4,6 +4,9 @@ import type { DocumentHeader, Operation, OperationFromDocument, OperationsFromDo
|
|
|
4
4
|
export interface IStorageDelegate {
|
|
5
5
|
getCachedOperations<TDocument extends PHDocument = PHDocument>(drive: string, id: string): Promise<OperationsFromDocument<TDocument> | undefined>;
|
|
6
6
|
}
|
|
7
|
+
export interface IDocumentStorage {
|
|
8
|
+
exists(documentId: string): Promise<boolean>;
|
|
9
|
+
}
|
|
7
10
|
export interface IStorage {
|
|
8
11
|
checkDocumentExists(drive: string, id: string): Promise<boolean>;
|
|
9
12
|
getDocuments: (drive: string) => Promise<string[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/storage/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/storage/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,KAAK,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE3E,MAAM,MAAM,OAAO,GAAG,IAAI,CACxB,OAAO,EACP,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAC5C,GAAG;IACF,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC;IACxB,YAAY,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAE7C,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAW1D,qBAAa,aAAc,YAAW,OAAO;;gBAK/B,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,kBAAkB;IAa9D,IAAI,KAAK,IAAI,QAAQ,GAAG,KAAK,CAE5B;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,EAEhC;IAED,IAAI,YAAY,IAAI,kBAAkB,GAAG,SAAS,CAEjD;IAED,IAAI,YAAY,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,EAEvD;IAoBD,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAIzB,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAQ7B,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAQ3B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAQ1B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAQ1B,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;CAW5B;AASD,eAAO,MAAM,MAAM,EAAE,OAAwB,CAAC;AAE9C,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,KAAK,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE3E,MAAM,MAAM,OAAO,GAAG,IAAI,CACxB,OAAO,EACP,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAC5C,GAAG;IACF,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC;IACxB,YAAY,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAE7C,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAW1D,qBAAa,aAAc,YAAW,OAAO;;gBAK/B,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,kBAAkB;IAa9D,IAAI,KAAK,IAAI,QAAQ,GAAG,KAAK,CAE5B;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,EAEhC;IAED,IAAI,YAAY,IAAI,kBAAkB,GAAG,SAAS,CAEjD;IAED,IAAI,YAAY,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,EAEvD;IAoBD,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAIzB,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAQ7B,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAQ3B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAQ1B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAQ1B,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;CAW5B;AASD,eAAO,MAAM,MAAM,EAAE,OAAwB,CAAC;AAE9C,eAAO,MAAM,eAAe,GAAI,SAAS,kBAAkB,SAG1D,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,QAAQ,GAAG,KAAK,SAGlD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,kBAKzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../test/document-helpers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC,GAAG;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../test/document-helpers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC,GAAG;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,OAAO,cAAc,EACrB,kBAAgB,KACf,SAoBF,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,QAAQ,cAAc,EAAE,EACxB,kBAAgB,KACf,SAAS,EAAoD,CAAC"}
|