@proteinjs/db-file 1.8.3 → 1.9.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/CHANGELOG.md +38 -0
- package/dist/generated/index.d.ts.map +1 -1
- package/dist/generated/index.js +3 -1
- package/dist/generated/index.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/src/DbFileStorageDriver.d.ts +7 -0
- package/dist/src/DbFileStorageDriver.d.ts.map +1 -1
- package/dist/src/DbFileStorageDriver.js +69 -41
- package/dist/src/DbFileStorageDriver.js.map +1 -1
- package/dist/src/FileCopyForOthers.d.ts +52 -0
- package/dist/src/FileCopyForOthers.d.ts.map +1 -0
- package/dist/src/FileCopyForOthers.js +62 -0
- package/dist/src/FileCopyForOthers.js.map +1 -0
- package/dist/src/FileStorage.d.ts +145 -11
- package/dist/src/FileStorage.d.ts.map +1 -1
- package/dist/src/FileStorage.js +537 -41
- package/dist/src/FileStorage.js.map +1 -1
- package/dist/src/FileStorageDriver.d.ts +11 -0
- package/dist/src/FileStorageDriver.d.ts.map +1 -1
- package/dist/src/FileStorageError.d.ts +62 -0
- package/dist/src/FileStorageError.d.ts.map +1 -0
- package/dist/src/FileStorageError.js +118 -0
- package/dist/src/FileStorageError.js.map +1 -0
- package/dist/src/FileVariantMaker.d.ts +61 -0
- package/dist/src/FileVariantMaker.d.ts.map +1 -0
- package/dist/src/FileVariantMaker.js +62 -0
- package/dist/src/FileVariantMaker.js.map +1 -0
- package/dist/src/routes/FileResponder.d.ts +41 -0
- package/dist/src/routes/FileResponder.d.ts.map +1 -0
- package/dist/src/routes/FileResponder.js +135 -0
- package/dist/src/routes/FileResponder.js.map +1 -0
- package/dist/src/routes/getFile.d.ts +5 -13
- package/dist/src/routes/getFile.d.ts.map +1 -1
- package/dist/src/routes/getFile.js +20 -56
- package/dist/src/routes/getFile.js.map +1 -1
- package/dist/src/routes/getFileVariant.d.ts +20 -0
- package/dist/src/routes/getFileVariant.d.ts.map +1 -0
- package/dist/src/routes/getFileVariant.js +112 -0
- package/dist/src/routes/getFileVariant.js.map +1 -0
- package/dist/src/routes/getFileVariantRoute.d.ts +7 -0
- package/dist/src/routes/getFileVariantRoute.d.ts.map +1 -0
- package/dist/src/routes/getFileVariantRoute.js +9 -0
- package/dist/src/routes/getFileVariantRoute.js.map +1 -0
- package/dist/src/tables/FileTable.d.ts +55 -2
- package/dist/src/tables/FileTable.d.ts.map +1 -1
- package/dist/src/tables/FileTable.js +8 -0
- package/dist/src/tables/FileTable.js.map +1 -1
- package/dist/test/DbFileStorageDriverMissingBytes.test.d.ts +2 -0
- package/dist/test/DbFileStorageDriverMissingBytes.test.d.ts.map +1 -0
- package/dist/test/DbFileStorageDriverMissingBytes.test.js +184 -0
- package/dist/test/DbFileStorageDriverMissingBytes.test.js.map +1 -0
- package/dist/test/FileByteAccess.test.js +6 -3
- package/dist/test/FileByteAccess.test.js.map +1 -1
- package/dist/test/FileCopyForOthers.test.d.ts +2 -0
- package/dist/test/FileCopyForOthers.test.d.ts.map +1 -0
- package/dist/test/FileCopyForOthers.test.js +1143 -0
- package/dist/test/FileCopyForOthers.test.js.map +1 -0
- package/dist/test/FileMediaMetadata.test.js +60 -5
- package/dist/test/FileMediaMetadata.test.js.map +1 -1
- package/dist/test/FileStorageError.test.d.ts +2 -0
- package/dist/test/FileStorageError.test.d.ts.map +1 -0
- package/dist/test/FileStorageError.test.js +68 -0
- package/dist/test/FileStorageError.test.js.map +1 -0
- package/dist/test/FileTestEnvironment.d.ts.map +1 -1
- package/dist/test/FileTestEnvironment.js +3 -0
- package/dist/test/FileTestEnvironment.js.map +1 -1
- package/dist/test/FileVariants.test.d.ts +2 -0
- package/dist/test/FileVariants.test.d.ts.map +1 -0
- package/dist/test/FileVariants.test.js +1008 -0
- package/dist/test/FileVariants.test.js.map +1 -0
- package/dist/test/GetFileRoute.test.js +29 -0
- package/dist/test/GetFileRoute.test.js.map +1 -1
- package/generated/index.ts +3 -1
- package/index.ts +4 -0
- package/package.json +5 -5
- package/src/DbFileStorageDriver.ts +32 -21
- package/src/FileCopyForOthers.ts +71 -0
- package/src/FileStorage.ts +351 -18
- package/src/FileStorageDriver.ts +12 -0
- package/src/FileStorageError.ts +123 -0
- package/src/FileVariantMaker.ts +84 -0
- package/src/routes/FileResponder.ts +85 -0
- package/src/routes/getFile.ts +9 -44
- package/src/routes/getFileVariant.ts +53 -0
- package/src/routes/getFileVariantRoute.ts +7 -0
- package/src/tables/FileTable.ts +57 -1
- package/test/DbFileStorageDriverMissingBytes.test.ts +85 -0
- package/test/FileByteAccess.test.ts +7 -1
- package/test/FileCopyForOthers.test.ts +702 -0
- package/test/FileMediaMetadata.test.ts +44 -0
- package/test/FileStorageError.test.ts +79 -0
- package/test/FileTestEnvironment.ts +3 -0
- package/test/FileVariants.test.ts +604 -0
- package/test/GetFileRoute.test.ts +19 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileVariants.test.js","sourceRoot":"","sources":["../../test/FileVariants.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,6 +63,7 @@ var http = __importStar(require("http"));
|
|
|
63
63
|
var reflection_1 = require("@proteinjs/reflection");
|
|
64
64
|
var user_1 = require("@proteinjs/user");
|
|
65
65
|
var FileStorage_1 = require("../src/FileStorage");
|
|
66
|
+
var DbFileStorageDriver_1 = require("../src/DbFileStorageDriver");
|
|
66
67
|
var getFile_1 = require("../src/routes/getFile");
|
|
67
68
|
var FileTestEnvironment_1 = require("./FileTestEnvironment");
|
|
68
69
|
/** Every byte value once — a payload that corrupts under any text/base64 mix-up. */
|
|
@@ -451,6 +452,34 @@ describe('GET /file/:id — proxy serving (driver without signed URLs)', functio
|
|
|
451
452
|
});
|
|
452
453
|
}); });
|
|
453
454
|
});
|
|
455
|
+
it('404s when the row is there and its bytes are not — the driver’s not-found, never a 500', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
456
|
+
var file, response;
|
|
457
|
+
return __generator(this, function (_a) {
|
|
458
|
+
switch (_a.label) {
|
|
459
|
+
case 0:
|
|
460
|
+
testEnv.setDriver(new DbFileStorageDriver_1.DbFileStorageDriver());
|
|
461
|
+
_a.label = 1;
|
|
462
|
+
case 1:
|
|
463
|
+
_a.trys.push([1, , 5, 6]);
|
|
464
|
+
return [4 /*yield*/, new FileStorage_1.FileStorage().createFile({ name: 'lost.png', type: 'image/png', size: rawBytes.length }, rawBytes.toString('base64'))];
|
|
465
|
+
case 2:
|
|
466
|
+
file = _a.sent();
|
|
467
|
+
return [4 /*yield*/, FileStorage_1.FileStorage.getDriver().deleteFile(file.id)];
|
|
468
|
+
case 3:
|
|
469
|
+
_a.sent();
|
|
470
|
+
return [4 /*yield*/, invokeRoute(file.id)];
|
|
471
|
+
case 4:
|
|
472
|
+
response = _a.sent();
|
|
473
|
+
expect(response.statusCode).toEqual(404);
|
|
474
|
+
expect(response.body).toEqual('File not found');
|
|
475
|
+
return [3 /*break*/, 6];
|
|
476
|
+
case 5:
|
|
477
|
+
testEnv.setDriver(driver);
|
|
478
|
+
return [7 /*endfinally*/];
|
|
479
|
+
case 6: return [2 /*return*/];
|
|
480
|
+
}
|
|
481
|
+
});
|
|
482
|
+
}); });
|
|
454
483
|
});
|
|
455
484
|
describe('GET /file/:id — signed-URL serving (302 redirect)', function () {
|
|
456
485
|
var driver = new TestSignedUrlFileStorageDriver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetFileRoute.test.js","sourceRoot":"","sources":["../../test/GetFileRoute.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GetFileRoute.test.js","sourceRoot":"","sources":["../../test/GetFileRoute.test.ts"],"names":[],"mappings":"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"}
|
package/generated/index.ts
CHANGED
|
@@ -9,13 +9,14 @@ import '@proteinjs/user';
|
|
|
9
9
|
/** Generate Source Graph */
|
|
10
10
|
|
|
11
11
|
const sourceGraph =
|
|
12
|
-
'{"options":{"directed":true,"multigraph":false,"compound":false},"nodes":[{"v":"@proteinjs/db-file/FileReachabilityResolver","value":{"packageName":"@proteinjs/db-file","name":"FileReachabilityResolver","filePath":"src/FileReachabilityResolver.ts","qualifiedName":"@proteinjs/db-file/FileReachabilityResolver","properties":[],"methods":[{"name":"canReadViaReference","returnType":{"packageName":"","name":"Promise<boolean>","filePath":null,"qualifiedName":"/Promise<boolean>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"fileId","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/reflection","name":"Loadable","filePath":null,"qualifiedName":"@proteinjs/reflection/Loadable","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"@proteinjs/reflection/Loadable"},{"v":"@proteinjs/db-file/DefaultFileStorageDriverFactory","value":{"packageName":"@proteinjs/db-file","name":"DefaultFileStorageDriverFactory","filePath":"src/FileStorage.ts","qualifiedName":"@proteinjs/db-file/DefaultFileStorageDriverFactory","properties":[],"methods":[{"name":"getDriver","returnType":{"packageName":"@proteinjs/db-file","name":"FileStorageDriver","filePath":null,"qualifiedName":"@proteinjs/db-file/FileStorageDriver","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[]}],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/reflection","name":"Loadable","filePath":null,"qualifiedName":"@proteinjs/reflection/Loadable","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"@proteinjs/db-file/FileStorage","value":{"packageName":"@proteinjs/db-file","name":"FileStorage","filePath":"src/FileStorage.ts","qualifiedName":"@proteinjs/db-file/FileStorage","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"driver","type":{"packageName":"@proteinjs/db-file","name":"FileStorageDriver","filePath":null,"qualifiedName":"@proteinjs/db-file/FileStorageDriver","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":true,"visibility":"private"},{"name":"serviceMetadata","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"getDriver","returnType":{"packageName":"@proteinjs/db-file","name":"FileStorageDriver","filePath":null,"qualifiedName":"@proteinjs/db-file/FileStorageDriver","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":true,"visibility":"public","parameters":[]},{"name":"createFile","returnType":{"packageName":"","name":"Promise<File>","filePath":null,"qualifiedName":"/Promise<File>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"fileMetaData","type":{"packageName":"","name":"Omit<File, keyof ScopedRecord>","filePath":null,"qualifiedName":"/Omit<File, keyof ScopedRecord>","typeParameters":null,"directParents":null}},{"name":"fileData","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]},{"name":"getFile","returnType":{"packageName":"","name":"Promise<File>","filePath":null,"qualifiedName":"/Promise<File>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"fileId","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]},{"name":"getFileData","returnType":{"packageName":"","name":"Promise<string>","filePath":null,"qualifiedName":"/Promise<string>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"fileId","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]},{"name":"getSignedUrl","returnType":{"packageName":"","name":"Promise<string | undefined>","filePath":null,"qualifiedName":"/Promise<string | undefined>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"fileId","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}},{"name":"options","type":{"packageName":"@proteinjs/db-file","name":"{ ttlMs?: number }","filePath":null,"qualifiedName":"@proteinjs/db-file/{ ttlMs?: number }","typeParameters":null,"directParents":null}}]},{"name":"updateFileData","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"fileId","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}},{"name":"data","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]},{"name":"updateFile","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"file","type":{"packageName":"","name":"Omit<File, keyof ScopedRecord>","filePath":null,"qualifiedName":"/Omit<File, keyof ScopedRecord>","typeParameters":null,"directParents":null}}]},{"name":"deleteFile","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"fileId","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/db-file","name":"FileStorageService","filePath":null,"qualifiedName":"@proteinjs/db-file/FileStorageService","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db-file/FileStorageService","value":{"packageName":"@proteinjs/db-file","name":"FileStorageService","filePath":"src/services/FileStorageService.ts","qualifiedName":"@proteinjs/db-file/FileStorageService","properties":[],"methods":[{"name":"createFile","returnType":{"packageName":"","name":"Promise<File>","filePath":null,"qualifiedName":"/Promise<File>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"fileMetaData","type":{"packageName":"","name":"Omit<File, keyof ScopedRecord>","filePath":null,"qualifiedName":"/Omit<File, keyof ScopedRecord>","typeParameters":null,"directParents":null}},{"name":"fileData","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]},{"name":"getFile","returnType":{"packageName":"","name":"Promise<File>","filePath":null,"qualifiedName":"/Promise<File>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"fileId","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]},{"name":"getFileData","returnType":{"packageName":"","name":"Promise<string>","filePath":null,"qualifiedName":"/Promise<string>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"fileId","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]},{"name":"updateFileData","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"fileId","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}},{"name":"data","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]},{"name":"updateFile","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"file","type":{"packageName":"","name":"Omit<File, keyof ScopedRecord>","filePath":null,"qualifiedName":"/Omit<File, keyof ScopedRecord>","typeParameters":null,"directParents":null}}]},{"name":"deleteFile","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"fileId","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/service","name":"Service","filePath":null,"qualifiedName":"@proteinjs/service/Service","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"@proteinjs/db-file/FileStorageTableWatcher","value":{"packageName":"@proteinjs/db-file","name":"FileStorageTableWatcher","filePath":"src/FileStorageTableWatcher.ts","qualifiedName":"@proteinjs/db-file/FileStorageTableWatcher","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"logger","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"}],"methods":[{"name":"name","returnType":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"table","returnType":{"packageName":"","name":"Table<File>","filePath":null,"qualifiedName":"/Table<File>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"beforeDelete","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"recordsToDelete","type":{"packageName":"","name":"T[]","filePath":null,"qualifiedName":"/T[]","typeParameters":null,"directParents":null}},{"name":"initialQb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}},{"name":"deleteQb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/db","name":"TableWatcher","filePath":null,"qualifiedName":"@proteinjs/db/TableWatcher","properties":[],"methods":[],"typeParameters":["@proteinjs/db-file/File"],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/TableWatcher"},{"v":"@proteinjs/db-file/getFile","value":{"packageName":"@proteinjs/db-file","name":"getFile","filePath":"src/routes/getFile.ts","qualifiedName":"@proteinjs/db-file/getFile","type":{"packageName":"@proteinjs/server-api","name":"Route","filePath":null,"qualifiedName":"@proteinjs/server-api/Route","typeParameters":[],"directParents":[{"packageName":"@proteinjs/server-api","name":"Route","filePath":null,"qualifiedName":"@proteinjs/server-api/Route","typeParameters":[],"directParents":null}]},"isExported":true,"isConst":true,"sourceType":0}},{"v":"@proteinjs/server-api/Route"},{"v":"@proteinjs/db-file/FileData","value":{"packageName":"@proteinjs/db-file","name":"FileData","filePath":"src/tables/FileDataTable.ts","qualifiedName":"@proteinjs/db-file/FileData","properties":[{"name":"file","type":{"packageName":"","name":"Reference<File>","filePath":null,"qualifiedName":"/Reference<File>","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"order","type":{"packageName":"","name":"number","filePath":null,"qualifiedName":"/number","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"data","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/user","name":"ScopedRecord","filePath":null,"qualifiedName":"@proteinjs/user/ScopedRecord","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"@proteinjs/user/ScopedRecord"},{"v":"@proteinjs/db-file/FileDataTable","value":{"packageName":"@proteinjs/db-file","name":"FileDataTable","filePath":"src/tables/FileDataTable.ts","qualifiedName":"@proteinjs/db-file/FileDataTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"auth","type":{"packageName":"","name":"Table<FileData>[\'auth\']","filePath":null,"qualifiedName":"/Table<FileData>[\'auth\']","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db-file/FileData"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/Table"},{"v":"@proteinjs/db-file/File","value":{"packageName":"@proteinjs/db-file","name":"File","filePath":"src/tables/FileTable.ts","qualifiedName":"@proteinjs/db-file/File","properties":[{"name":"name","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"type","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"size","type":{"packageName":"","name":"number","filePath":null,"qualifiedName":"/number","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"preview","type":{"packageName":"","name":"Reference<File>","filePath":null,"qualifiedName":"/Reference<File>","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"width","type":{"packageName":"","name":"number","filePath":null,"qualifiedName":"/number","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"height","type":{"packageName":"","name":"number","filePath":null,"qualifiedName":"/number","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"durationMs","type":{"packageName":"","name":"number","filePath":null,"qualifiedName":"/number","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"sourceUrl","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"sourcePageUrl","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"retrievedAt","type":{"packageName":"","name":"Date","filePath":null,"qualifiedName":"/Date","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"license","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"licenseUrl","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"attribution","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"contentHash","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/user","name":"ScopedRecord","filePath":null,"qualifiedName":"@proteinjs/user/ScopedRecord","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"@proteinjs/db-file/FileTable","value":{"packageName":"@proteinjs/db-file","name":"FileTable","filePath":"src/tables/FileTable.ts","qualifiedName":"@proteinjs/db-file/FileTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"auth","type":{"packageName":"","name":"Table<File>[\'auth\']","filePath":null,"qualifiedName":"/Table<File>[\'auth\']","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"indexes","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db-file/File"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/service/Service"}],"edges":[{"v":"@proteinjs/db-file/FileReachabilityResolver","w":"@proteinjs/reflection/Loadable","value":"extends interface"},{"v":"@proteinjs/db-file/DefaultFileStorageDriverFactory","w":"@proteinjs/reflection/Loadable","value":"extends interface"},{"v":"@proteinjs/db-file/FileStorage","w":"@proteinjs/db-file/FileStorageService","value":"implements interface"},{"v":"@proteinjs/db-file/FileStorageTableWatcher","w":"@proteinjs/db/TableWatcher","value":"implements interface"},{"v":"@proteinjs/db-file/getFile","w":"@proteinjs/server-api/Route","value":"has type"},{"v":"@proteinjs/db-file/FileData","w":"@proteinjs/user/ScopedRecord","value":"extends interface"},{"v":"@proteinjs/db-file/FileDataTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db-file/File","w":"@proteinjs/user/ScopedRecord","value":"extends interface"},{"v":"@proteinjs/db-file/FileTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db-file/FileStorageService","w":"@proteinjs/service/Service","value":"extends interface"}]}';
|
|
12
|
+
'{"options":{"directed":true,"multigraph":false,"compound":false},"nodes":[{"v":"@proteinjs/db-file/FileCopyForOthers","value":{"packageName":"@proteinjs/db-file","name":"FileCopyForOthers","filePath":"src/FileCopyForOthers.ts","qualifiedName":"@proteinjs/db-file/FileCopyForOthers","properties":[],"methods":[{"name":"appliesTo","returnType":{"packageName":"","name":"boolean","filePath":null,"qualifiedName":"/boolean","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"file","type":{"packageName":"@proteinjs/db-file","name":"File","filePath":null,"qualifiedName":"@proteinjs/db-file/File","typeParameters":null,"directParents":null}}]},{"name":"make","returnType":{"packageName":"","name":"Promise<Buffer>","filePath":null,"qualifiedName":"/Promise<Buffer>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"file","type":{"packageName":"@proteinjs/db-file","name":"File","filePath":null,"qualifiedName":"@proteinjs/db-file/File","typeParameters":null,"directParents":null}},{"name":"bytes","type":{"packageName":"","name":"Buffer","filePath":null,"qualifiedName":"/Buffer","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/reflection","name":"Loadable","filePath":null,"qualifiedName":"@proteinjs/reflection/Loadable","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"@proteinjs/reflection/Loadable"},{"v":"/Error"},{"v":"@proteinjs/db-file/FileReachabilityResolver","value":{"packageName":"@proteinjs/db-file","name":"FileReachabilityResolver","filePath":"src/FileReachabilityResolver.ts","qualifiedName":"@proteinjs/db-file/FileReachabilityResolver","properties":[],"methods":[{"name":"canReadViaReference","returnType":{"packageName":"","name":"Promise<boolean>","filePath":null,"qualifiedName":"/Promise<boolean>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"fileId","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/reflection","name":"Loadable","filePath":null,"qualifiedName":"@proteinjs/reflection/Loadable","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"@proteinjs/db-file/DefaultFileStorageDriverFactory","value":{"packageName":"@proteinjs/db-file","name":"DefaultFileStorageDriverFactory","filePath":"src/FileStorage.ts","qualifiedName":"@proteinjs/db-file/DefaultFileStorageDriverFactory","properties":[],"methods":[{"name":"getDriver","returnType":{"packageName":"@proteinjs/db-file","name":"FileStorageDriver","filePath":null,"qualifiedName":"@proteinjs/db-file/FileStorageDriver","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[]}],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/reflection","name":"Loadable","filePath":null,"qualifiedName":"@proteinjs/reflection/Loadable","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"@proteinjs/db-file/FileStorage","value":{"packageName":"@proteinjs/db-file","name":"FileStorage","filePath":"src/FileStorage.ts","qualifiedName":"@proteinjs/db-file/FileStorage","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"driver","type":{"packageName":"@proteinjs/db-file","name":"FileStorageDriver","filePath":null,"qualifiedName":"@proteinjs/db-file/FileStorageDriver","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":true,"visibility":"private"},{"name":"derivations","type":null,"isOptional":false,"isAbstract":false,"isStatic":true,"visibility":"private"},{"name":"serviceMetadata","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"logger","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"}],"methods":[{"name":"getDriver","returnType":{"packageName":"@proteinjs/db-file","name":"FileStorageDriver","filePath":null,"qualifiedName":"@proteinjs/db-file/FileStorageDriver","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":true,"visibility":"public","parameters":[]},{"name":"createFile","returnType":{"packageName":"","name":"Promise<File>","filePath":null,"qualifiedName":"/Promise<File>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"fileMetaData","type":{"packageName":"","name":"Omit<File, keyof ScopedRecord>","filePath":null,"qualifiedName":"/Omit<File, keyof ScopedRecord>","typeParameters":null,"directParents":null}},{"name":"fileData","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]},{"name":"getFile","returnType":{"packageName":"","name":"Promise<File>","filePath":null,"qualifiedName":"/Promise<File>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"fileId","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]},{"name":"getVariant","returnType":{"packageName":"","name":"Promise<File | undefined>","filePath":null,"qualifiedName":"/Promise<File | undefined>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"fileId","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}},{"name":"kind","type":{"packageName":"@proteinjs/db-file","name":"FileVariantKind","filePath":null,"qualifiedName":"@proteinjs/db-file/FileVariantKind","typeParameters":null,"directParents":null}}]},{"name":"deriveVariants","returnType":{"packageName":"","name":"Promise<{ file: File; variants: Partial<Record<FileVariantKind, File>> }>","filePath":null,"qualifiedName":"/Promise<{ file: File; variants: Partial<Record<FileVariantKind, File>> }>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"file","type":{"packageName":"@proteinjs/db-file","name":"File","filePath":null,"qualifiedName":"@proteinjs/db-file/File","typeParameters":null,"directParents":null}},{"name":"bytes","type":{"packageName":"","name":"Buffer","filePath":null,"qualifiedName":"/Buffer","typeParameters":null,"directParents":null}}]},{"name":"getFileData","returnType":{"packageName":"","name":"Promise<string>","filePath":null,"qualifiedName":"/Promise<string>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"fileId","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]},{"name":"getAuthorizedFileData","returnType":{"packageName":"","name":"Promise<string>","filePath":null,"qualifiedName":"/Promise<string>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"file","type":{"packageName":"@proteinjs/db-file","name":"File","filePath":null,"qualifiedName":"@proteinjs/db-file/File","typeParameters":null,"directParents":null}}]},{"name":"getSignedUrl","returnType":{"packageName":"","name":"Promise<string | undefined>","filePath":null,"qualifiedName":"/Promise<string | undefined>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"fileId","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}},{"name":"options","type":{"packageName":"@proteinjs/db-file","name":"{ ttlMs?: number }","filePath":null,"qualifiedName":"@proteinjs/db-file/{ ttlMs?: number }","typeParameters":null,"directParents":null}}]},{"name":"updateFileData","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"fileId","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}},{"name":"data","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]},{"name":"updateFile","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"file","type":{"packageName":"","name":"Omit<File, keyof ScopedRecord>","filePath":null,"qualifiedName":"/Omit<File, keyof ScopedRecord>","typeParameters":null,"directParents":null}}]},{"name":"deleteFile","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"fileId","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]},{"name":"servedFileId","returnType":{"packageName":"","name":"Promise<string>","filePath":null,"qualifiedName":"/Promise<string>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"file","type":{"packageName":"@proteinjs/db-file","name":"File","filePath":null,"qualifiedName":"@proteinjs/db-file/File","typeParameters":null,"directParents":null}}]},{"name":"ownedByCaller","returnType":{"packageName":"","name":"boolean","filePath":null,"qualifiedName":"/boolean","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"file","type":{"packageName":"@proteinjs/db-file","name":"File","filePath":null,"qualifiedName":"@proteinjs/db-file/File","typeParameters":null,"directParents":null}}]},{"name":"makeCopyForOthers","returnType":{"packageName":"","name":"Promise<string>","filePath":null,"qualifiedName":"/Promise<string>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"file","type":{"packageName":"@proteinjs/db-file","name":"File","filePath":null,"qualifiedName":"@proteinjs/db-file/File","typeParameters":null,"directParents":null}}]},{"name":"deriveOnce","returnType":{"packageName":"","name":"Promise<string | undefined>","filePath":null,"qualifiedName":"/Promise<string | undefined>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"file","type":{"packageName":"@proteinjs/db-file","name":"File","filePath":null,"qualifiedName":"@proteinjs/db-file/File","typeParameters":null,"directParents":null}},{"name":"kind","type":{"packageName":"@proteinjs/db-file","name":"FileVariantKind","filePath":null,"qualifiedName":"@proteinjs/db-file/FileVariantKind","typeParameters":null,"directParents":null}}]},{"name":"makeVariant","returnType":{"packageName":"","name":"Promise<string>","filePath":null,"qualifiedName":"/Promise<string>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"file","type":{"packageName":"@proteinjs/db-file","name":"File","filePath":null,"qualifiedName":"@proteinjs/db-file/File","typeParameters":null,"directParents":null}},{"name":"kind","type":{"packageName":"@proteinjs/db-file","name":"FileVariantKind","filePath":null,"qualifiedName":"@proteinjs/db-file/FileVariantKind","typeParameters":null,"directParents":null}},{"name":"bytes","type":{"packageName":"","name":"Buffer","filePath":null,"qualifiedName":"/Buffer","typeParameters":null,"directParents":null}}]},{"name":"dropDerivedFiles","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"file","type":{"packageName":"@proteinjs/db-file","name":"File","filePath":null,"qualifiedName":"@proteinjs/db-file/File","typeParameters":null,"directParents":null}}]},{"name":"notFound","returnType":{"packageName":"@proteinjs/service","name":"ServiceRefusal","filePath":null,"qualifiedName":"@proteinjs/service/ServiceRefusal","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":true,"visibility":"private","parameters":[]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/db-file","name":"FileStorageService","filePath":null,"qualifiedName":"@proteinjs/db-file/FileStorageService","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db-file/FileStorageService","value":{"packageName":"@proteinjs/db-file","name":"FileStorageService","filePath":"src/services/FileStorageService.ts","qualifiedName":"@proteinjs/db-file/FileStorageService","properties":[],"methods":[{"name":"createFile","returnType":{"packageName":"","name":"Promise<File>","filePath":null,"qualifiedName":"/Promise<File>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"fileMetaData","type":{"packageName":"","name":"Omit<File, keyof ScopedRecord>","filePath":null,"qualifiedName":"/Omit<File, keyof ScopedRecord>","typeParameters":null,"directParents":null}},{"name":"fileData","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]},{"name":"getFile","returnType":{"packageName":"","name":"Promise<File>","filePath":null,"qualifiedName":"/Promise<File>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"fileId","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]},{"name":"getFileData","returnType":{"packageName":"","name":"Promise<string>","filePath":null,"qualifiedName":"/Promise<string>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"fileId","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]},{"name":"updateFileData","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"fileId","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}},{"name":"data","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]},{"name":"updateFile","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"file","type":{"packageName":"","name":"Omit<File, keyof ScopedRecord>","filePath":null,"qualifiedName":"/Omit<File, keyof ScopedRecord>","typeParameters":null,"directParents":null}}]},{"name":"deleteFile","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"fileId","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/service","name":"Service","filePath":null,"qualifiedName":"@proteinjs/service/Service","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"/\'not-found\' | \'precondition-failed\' | \'forbidden\' | \'unavailable\' | \'unknown\'"},{"v":"@proteinjs/db-file/FileStorageTableWatcher","value":{"packageName":"@proteinjs/db-file","name":"FileStorageTableWatcher","filePath":"src/FileStorageTableWatcher.ts","qualifiedName":"@proteinjs/db-file/FileStorageTableWatcher","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"logger","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"}],"methods":[{"name":"name","returnType":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"table","returnType":{"packageName":"","name":"Table<File>","filePath":null,"qualifiedName":"/Table<File>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"beforeDelete","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"recordsToDelete","type":{"packageName":"","name":"T[]","filePath":null,"qualifiedName":"/T[]","typeParameters":null,"directParents":null}},{"name":"initialQb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}},{"name":"deleteQb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/db","name":"TableWatcher","filePath":null,"qualifiedName":"@proteinjs/db/TableWatcher","properties":[],"methods":[],"typeParameters":["@proteinjs/db-file/File"],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/TableWatcher"},{"v":"/\'preview\' | \'stage\'"},{"v":"/readonly FileVariantKind[]"},{"v":"@proteinjs/db-file/FileVariantMaker","value":{"packageName":"@proteinjs/db-file","name":"FileVariantMaker","filePath":"src/FileVariantMaker.ts","qualifiedName":"@proteinjs/db-file/FileVariantMaker","properties":[],"methods":[{"name":"appliesTo","returnType":{"packageName":"","name":"boolean","filePath":null,"qualifiedName":"/boolean","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"file","type":{"packageName":"@proteinjs/db-file","name":"File","filePath":null,"qualifiedName":"@proteinjs/db-file/File","typeParameters":null,"directParents":null}},{"name":"kind","type":{"packageName":"@proteinjs/db-file","name":"FileVariantKind","filePath":null,"qualifiedName":"@proteinjs/db-file/FileVariantKind","typeParameters":null,"directParents":null}}]},{"name":"make","returnType":{"packageName":"","name":"Promise<FileVariant>","filePath":null,"qualifiedName":"/Promise<FileVariant>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"file","type":{"packageName":"@proteinjs/db-file","name":"File","filePath":null,"qualifiedName":"@proteinjs/db-file/File","typeParameters":null,"directParents":null}},{"name":"bytes","type":{"packageName":"","name":"Buffer","filePath":null,"qualifiedName":"/Buffer","typeParameters":null,"directParents":null}},{"name":"kind","type":{"packageName":"@proteinjs/db-file","name":"FileVariantKind","filePath":null,"qualifiedName":"@proteinjs/db-file/FileVariantKind","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/reflection","name":"Loadable","filePath":null,"qualifiedName":"@proteinjs/reflection/Loadable","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"@proteinjs/db-file/getFile","value":{"packageName":"@proteinjs/db-file","name":"getFile","filePath":"src/routes/getFile.ts","qualifiedName":"@proteinjs/db-file/getFile","type":{"packageName":"@proteinjs/server-api","name":"Route","filePath":null,"qualifiedName":"@proteinjs/server-api/Route","typeParameters":[],"directParents":[{"packageName":"@proteinjs/server-api","name":"Route","filePath":null,"qualifiedName":"@proteinjs/server-api/Route","typeParameters":[],"directParents":null}]},"isExported":true,"isConst":true,"sourceType":0}},{"v":"@proteinjs/server-api/Route"},{"v":"@proteinjs/db-file/getFileVariant","value":{"packageName":"@proteinjs/db-file","name":"getFileVariant","filePath":"src/routes/getFileVariant.ts","qualifiedName":"@proteinjs/db-file/getFileVariant","type":{"packageName":"@proteinjs/server-api","name":"Route","filePath":null,"qualifiedName":"@proteinjs/server-api/Route","typeParameters":[],"directParents":[{"packageName":"@proteinjs/server-api","name":"Route","filePath":null,"qualifiedName":"@proteinjs/server-api/Route","typeParameters":[],"directParents":null}]},"isExported":true,"isConst":true,"sourceType":0}},{"v":"@proteinjs/db-file/FileData","value":{"packageName":"@proteinjs/db-file","name":"FileData","filePath":"src/tables/FileDataTable.ts","qualifiedName":"@proteinjs/db-file/FileData","properties":[{"name":"file","type":{"packageName":"","name":"Reference<File>","filePath":null,"qualifiedName":"/Reference<File>","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"order","type":{"packageName":"","name":"number","filePath":null,"qualifiedName":"/number","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"data","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/user","name":"ScopedRecord","filePath":null,"qualifiedName":"@proteinjs/user/ScopedRecord","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"@proteinjs/user/ScopedRecord"},{"v":"@proteinjs/db-file/FileDataTable","value":{"packageName":"@proteinjs/db-file","name":"FileDataTable","filePath":"src/tables/FileDataTable.ts","qualifiedName":"@proteinjs/db-file/FileDataTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"auth","type":{"packageName":"","name":"Table<FileData>[\'auth\']","filePath":null,"qualifiedName":"/Table<FileData>[\'auth\']","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db-file/FileData"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/Table"},{"v":"@proteinjs/db-file/File","value":{"packageName":"@proteinjs/db-file","name":"File","filePath":"src/tables/FileTable.ts","qualifiedName":"@proteinjs/db-file/File","properties":[{"name":"name","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"type","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"size","type":{"packageName":"","name":"number","filePath":null,"qualifiedName":"/number","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"preview","type":{"packageName":"","name":"Reference<File> | null","filePath":null,"qualifiedName":"/Reference<File> | null","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"stage","type":{"packageName":"","name":"Reference<File> | null","filePath":null,"qualifiedName":"/Reference<File> | null","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"variantOf","type":{"packageName":"","name":"Reference<File> | null","filePath":null,"qualifiedName":"/Reference<File> | null","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"copyForOthers","type":{"packageName":"","name":"Reference<File> | null","filePath":null,"qualifiedName":"/Reference<File> | null","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"width","type":{"packageName":"","name":"number","filePath":null,"qualifiedName":"/number","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"height","type":{"packageName":"","name":"number","filePath":null,"qualifiedName":"/number","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"durationMs","type":{"packageName":"","name":"number","filePath":null,"qualifiedName":"/number","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"sourceUrl","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"sourcePageUrl","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"retrievedAt","type":{"packageName":"","name":"Date","filePath":null,"qualifiedName":"/Date","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"license","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"licenseUrl","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"attribution","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"contentHash","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"origin","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"originModel","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/user","name":"ScopedRecord","filePath":null,"qualifiedName":"@proteinjs/user/ScopedRecord","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"@proteinjs/db-file/FileTable","value":{"packageName":"@proteinjs/db-file","name":"FileTable","filePath":"src/tables/FileTable.ts","qualifiedName":"@proteinjs/db-file/FileTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"auth","type":{"packageName":"","name":"Table<File>[\'auth\']","filePath":null,"qualifiedName":"/Table<File>[\'auth\']","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"indexes","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db-file/File"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/service/Service"}],"edges":[{"v":"@proteinjs/db-file/FileCopyForOthers","w":"@proteinjs/reflection/Loadable","value":"extends interface"},{"v":"@proteinjs/db-file/FileReachabilityResolver","w":"@proteinjs/reflection/Loadable","value":"extends interface"},{"v":"@proteinjs/db-file/DefaultFileStorageDriverFactory","w":"@proteinjs/reflection/Loadable","value":"extends interface"},{"v":"@proteinjs/db-file/FileStorage","w":"@proteinjs/db-file/FileStorageService","value":"implements interface"},{"v":"@proteinjs/db-file/FileStorageTableWatcher","w":"@proteinjs/db/TableWatcher","value":"implements interface"},{"v":"@proteinjs/db-file/FileVariantMaker","w":"@proteinjs/reflection/Loadable","value":"extends interface"},{"v":"@proteinjs/db-file/getFile","w":"@proteinjs/server-api/Route","value":"has type"},{"v":"@proteinjs/db-file/getFileVariant","w":"@proteinjs/server-api/Route","value":"has type"},{"v":"@proteinjs/db-file/FileData","w":"@proteinjs/user/ScopedRecord","value":"extends interface"},{"v":"@proteinjs/db-file/FileDataTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db-file/File","w":"@proteinjs/user/ScopedRecord","value":"extends interface"},{"v":"@proteinjs/db-file/FileTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db-file/FileStorageService","w":"@proteinjs/service/Service","value":"extends interface"}]}';
|
|
13
13
|
|
|
14
14
|
/** Generate Source Links */
|
|
15
15
|
|
|
16
16
|
import { FileStorage } from '../src/FileStorage';
|
|
17
17
|
import { FileStorageTableWatcher } from '../src/FileStorageTableWatcher';
|
|
18
18
|
import { getFile } from '../src/routes/getFile';
|
|
19
|
+
import { getFileVariant } from '../src/routes/getFileVariant';
|
|
19
20
|
import { FileDataTable } from '../src/tables/FileDataTable';
|
|
20
21
|
import { FileTable } from '../src/tables/FileTable';
|
|
21
22
|
|
|
@@ -23,6 +24,7 @@ const sourceLinks = {
|
|
|
23
24
|
'@proteinjs/db-file/FileStorage': FileStorage,
|
|
24
25
|
'@proteinjs/db-file/FileStorageTableWatcher': FileStorageTableWatcher,
|
|
25
26
|
'@proteinjs/db-file/getFile': getFile,
|
|
27
|
+
'@proteinjs/db-file/getFileVariant': getFileVariant,
|
|
26
28
|
'@proteinjs/db-file/FileDataTable': FileDataTable,
|
|
27
29
|
'@proteinjs/db-file/FileTable': FileTable,
|
|
28
30
|
};
|
package/index.ts
CHANGED
|
@@ -9,8 +9,12 @@ export * from './src/tables/FileDataTable';
|
|
|
9
9
|
export * from './src/services/FileStorageService';
|
|
10
10
|
|
|
11
11
|
export * from './src/routes/getFileRoute';
|
|
12
|
+
export * from './src/routes/getFileVariantRoute';
|
|
12
13
|
|
|
13
14
|
export * from './src/FileReachabilityResolver';
|
|
15
|
+
export * from './src/FileCopyForOthers';
|
|
16
|
+
export * from './src/FileVariantMaker';
|
|
14
17
|
export * from './src/FileStorageDriver';
|
|
18
|
+
export * from './src/FileStorageError';
|
|
15
19
|
export * from './src/DbFileStorageDriver';
|
|
16
20
|
export * from './src/FileStorageTableWatcher';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@proteinjs/db-file",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "File storage in the db",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -22,16 +22,16 @@
|
|
|
22
22
|
"watch": "reflection-watch"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@proteinjs/db": "^1.
|
|
25
|
+
"@proteinjs/db": "^1.49.0",
|
|
26
26
|
"@proteinjs/logger": "^1.0.21",
|
|
27
27
|
"@proteinjs/reflection": "^1.2.0",
|
|
28
28
|
"@proteinjs/server-api": "^3.0.11",
|
|
29
|
-
"@proteinjs/service": "^1.
|
|
29
|
+
"@proteinjs/service": "^1.6.0",
|
|
30
30
|
"@proteinjs/user": "^1.7.1",
|
|
31
31
|
"moment": "2.29.4"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@proteinjs/db-driver-spanner": "^1.
|
|
34
|
+
"@proteinjs/db-driver-spanner": "^1.32.1",
|
|
35
35
|
"@proteinjs/reflection-build": "^2.0.1",
|
|
36
36
|
"@types/jest": "29.5.5",
|
|
37
37
|
"@types/node": "14.0.27",
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
},
|
|
47
47
|
"main": "./dist/generated/index.js",
|
|
48
48
|
"types": "./dist/generated/index.d.ts",
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "5ef7c5a2f3eb6ef3b774aa93cc74cc1754cfa011"
|
|
50
50
|
}
|
|
@@ -3,6 +3,7 @@ import { QueryBuilderFactory, Reference } from '@proteinjs/db';
|
|
|
3
3
|
import { File } from './tables/FileTable';
|
|
4
4
|
import { tables } from './tables/tables';
|
|
5
5
|
import { FileStorageDriver } from './FileStorageDriver';
|
|
6
|
+
import { FileStorageError } from './FileStorageError';
|
|
6
7
|
|
|
7
8
|
export class DbFileStorageDriver implements FileStorageDriver {
|
|
8
9
|
private chunkSize = 1048576; // Max length of data written to `FileData.data` (1mb)
|
|
@@ -17,16 +18,7 @@ export class DbFileStorageDriver implements FileStorageDriver {
|
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
async createFile(file: File, fileData: string): Promise<void> {
|
|
20
|
-
|
|
21
|
-
const chunks = this.splitIntoChunks(fileData);
|
|
22
|
-
for (let index = 0; index < chunks.length; index++) {
|
|
23
|
-
const chunk = chunks[index];
|
|
24
|
-
await db.insert(tables.FileData, {
|
|
25
|
-
file: new Reference(tables.FileData.name, file.id),
|
|
26
|
-
order: index,
|
|
27
|
-
data: chunk,
|
|
28
|
-
});
|
|
29
|
-
}
|
|
21
|
+
await this.insertChunks(file.id, fileData);
|
|
30
22
|
}
|
|
31
23
|
|
|
32
24
|
async getFileData(fileId: string): Promise<string> {
|
|
@@ -41,6 +33,12 @@ export class DbFileStorageDriver implements FileStorageDriver {
|
|
|
41
33
|
.getQueryBuilder(tables.FileData, { file: fileId })
|
|
42
34
|
.sort([{ field: 'order', desc: false }]);
|
|
43
35
|
const fileDataRecords = await db.query(tables.FileData, qb);
|
|
36
|
+
if (fileDataRecords.length === 0 && !(await this.isLegacyEmptyFile(fileId))) {
|
|
37
|
+
// The driver contract's one answer for bytes that are not there — the same code the
|
|
38
|
+
// object-store drivers report for a missing object, so callers branch on one thing.
|
|
39
|
+
throw new FileStorageError('not-found', `getFileData failed for file ${fileId}`);
|
|
40
|
+
}
|
|
41
|
+
|
|
44
42
|
return fileDataRecords.map((record) => record.data).join('');
|
|
45
43
|
}
|
|
46
44
|
|
|
@@ -51,16 +49,7 @@ export class DbFileStorageDriver implements FileStorageDriver {
|
|
|
51
49
|
const deleteQuery = new QueryBuilderFactory().getQueryBuilder(tables.FileData, { file: fileId });
|
|
52
50
|
await db.delete(tables.FileData, deleteQuery);
|
|
53
51
|
|
|
54
|
-
|
|
55
|
-
const chunks = this.splitIntoChunks(data);
|
|
56
|
-
for (let index = 0; index < chunks.length; index++) {
|
|
57
|
-
const chunk = chunks[index];
|
|
58
|
-
await db.insert(tables.FileData, {
|
|
59
|
-
file: new Reference(tables.FileData.name, fileId),
|
|
60
|
-
order: index,
|
|
61
|
-
data: chunk,
|
|
62
|
-
});
|
|
63
|
-
}
|
|
52
|
+
await this.insertChunks(fileId, data);
|
|
64
53
|
}
|
|
65
54
|
|
|
66
55
|
async deleteFile(fileId: string): Promise<void> {
|
|
@@ -73,11 +62,33 @@ export class DbFileStorageDriver implements FileStorageDriver {
|
|
|
73
62
|
await db.delete(tables.FileData, deleteQuery);
|
|
74
63
|
}
|
|
75
64
|
|
|
65
|
+
private async insertChunks(fileId: string, data: string): Promise<void> {
|
|
66
|
+
const db = getScopedDb();
|
|
67
|
+
const chunks = this.splitIntoChunks(data);
|
|
68
|
+
for (let index = 0; index < chunks.length; index++) {
|
|
69
|
+
await db.insert(tables.FileData, {
|
|
70
|
+
file: new Reference(tables.FileData.name, fileId),
|
|
71
|
+
order: index,
|
|
72
|
+
data: chunks[index],
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* An EMPTY file is stored as one empty chunk, so stored-but-empty and not-stored never look
|
|
79
|
+
* alike. Files written before that rule have no chunk row at all when they are empty; the file
|
|
80
|
+
* row settles those — a row that states zero bytes is an empty file, anything else is missing.
|
|
81
|
+
*/
|
|
82
|
+
private async isLegacyEmptyFile(fileId: string): Promise<boolean> {
|
|
83
|
+
const file = await getScopedDbAsSystem().get(tables.File, { id: fileId });
|
|
84
|
+
return !!file && file.size === 0;
|
|
85
|
+
}
|
|
86
|
+
|
|
76
87
|
private splitIntoChunks(data: string): string[] {
|
|
77
88
|
const chunks = [];
|
|
78
89
|
for (let i = 0; i < data.length; i += this.chunkSize) {
|
|
79
90
|
chunks.push(data.substring(i, i + this.chunkSize));
|
|
80
91
|
}
|
|
81
|
-
return chunks;
|
|
92
|
+
return chunks.length > 0 ? chunks : [''];
|
|
82
93
|
}
|
|
83
94
|
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Loadable, SourceRepository } from '@proteinjs/reflection';
|
|
2
|
+
import { File } from './tables/FileTable';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* What a file becomes when it is served to someone who is not its owner.
|
|
6
|
+
*
|
|
7
|
+
* A file's bytes are the owner's, kept exactly as they arrived. When a read resolves through the
|
|
8
|
+
* shared-content leg instead of the owner's own scope (`FileStorage.getFile`: a share recipient
|
|
9
|
+
* reading a file a shared row references), `FileStorage` serves a COPY made by the one registered
|
|
10
|
+
* maker — the package that knows the file's format decides what leaves in it (a picture's
|
|
11
|
+
* location, say, does not). The copy is made once per file, stored as its own `File` in the
|
|
12
|
+
* owner's scope and named on the original's row (`File.copyForOthers`), so every later read by
|
|
13
|
+
* anyone but the owner serves the same bytes without remaking them; it is dropped when the
|
|
14
|
+
* original's bytes change and deleted with the original.
|
|
15
|
+
*
|
|
16
|
+
* Dependency direction is the {@link FileReachabilityResolver} pattern: the seam lives here in
|
|
17
|
+
* db-file, the one implementation lives in the package that knows media, discovered through the
|
|
18
|
+
* SourceRepository. With no maker registered, everyone is served the original.
|
|
19
|
+
*/
|
|
20
|
+
export interface FileCopyForOthers extends Loadable {
|
|
21
|
+
/**
|
|
22
|
+
* Whether this file is served to others through a copy at all — decided from the row alone,
|
|
23
|
+
* never from its bytes (a plain document serves as itself and costs no read). True means
|
|
24
|
+
* {@link make} is called once, with the original's bytes, and its answer is what others get.
|
|
25
|
+
*/
|
|
26
|
+
appliesTo(file: File): boolean;
|
|
27
|
+
/** The bytes served to anyone but the owner, made from the original's. Throws when no copy can be made — the read then fails rather than serving the original. */
|
|
28
|
+
make(file: File, bytes: Buffer): Promise<Buffer>;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export const getFileCopyForOthers = (): FileCopyForOthers | undefined =>
|
|
32
|
+
SourceRepository.get().object<FileCopyForOthers>('@proteinjs/db-file/FileCopyForOthers');
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* What a non-owner's read becomes when the registered maker could not make a copy: the file is
|
|
36
|
+
* served to no one but its owner. The seam's own cause, thrown by `FileStorage` in place of
|
|
37
|
+
* whatever the maker threw (the maker's own one-line reason kept as `reason`) and answered by
|
|
38
|
+
* `FileStorage` itself, once for every door — the browser service, `GET /file/:id`, a server-side
|
|
39
|
+
* reader — as a 404 `ServiceRefusal` saying only `File not found`, so a door never meets it: a
|
|
40
|
+
* deliberate refusal every door tells from a failure the same way. Its message and `reason` stay
|
|
41
|
+
* on the server (`FileStorage` logs them at WARN); a caller reads the words a missing file gets.
|
|
42
|
+
* Read by shape ({@link FileCopyRefused.is}), so it holds across duplicate copies of this package.
|
|
43
|
+
*/
|
|
44
|
+
export class FileCopyRefused extends Error {
|
|
45
|
+
private static readonly NAME = 'FileCopyRefused';
|
|
46
|
+
/** Free text that reaches a message is one line and bounded. */
|
|
47
|
+
private static readonly MAX_REASON_CHARS = 300;
|
|
48
|
+
readonly fileId: string;
|
|
49
|
+
readonly reason: string;
|
|
50
|
+
|
|
51
|
+
constructor(fileId: string, cause: unknown) {
|
|
52
|
+
const reason = FileCopyRefused.plain(cause);
|
|
53
|
+
super(`File ${fileId} is not available to anyone but its owner${reason ? `: ${reason}` : ''}`);
|
|
54
|
+
this.name = FileCopyRefused.NAME;
|
|
55
|
+
Object.setPrototypeOf(this, FileCopyRefused.prototype);
|
|
56
|
+
this.fileId = fileId;
|
|
57
|
+
this.reason = reason;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
static is(error: unknown): error is FileCopyRefused {
|
|
61
|
+
return (error as { name?: unknown } | null | undefined)?.name === FileCopyRefused.NAME;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
private static plain(cause: unknown): string {
|
|
65
|
+
const message = cause instanceof Error ? cause.message : typeof cause === 'string' ? cause : '';
|
|
66
|
+
const line = message.replace(/\s+/g, ' ').trim();
|
|
67
|
+
return line.length > FileCopyRefused.MAX_REASON_CHARS
|
|
68
|
+
? `${line.slice(0, FileCopyRefused.MAX_REASON_CHARS)}…`
|
|
69
|
+
: line;
|
|
70
|
+
}
|
|
71
|
+
}
|