diff options
| author | Mohamed Bassem (aider) <me@mbassem.com> | 2025-01-05 14:01:40 +0000 |
|---|---|---|
| committer | Mohamed Bassem <me@mbassem.com> | 2025-01-05 14:11:50 +0000 |
| commit | c98722c4781379c680d9ec9efc066e555bad318c (patch) | |
| tree | 7e4918b96613c1c6b6998450e3c580d5392de48c /packages/shared | |
| parent | 88dc6f911bdae49ca72fc82d6da9dce84853bce0 (diff) | |
| download | karakeep-c98722c4781379c680d9ec9efc066e555bad318c.tar.zst | |
refactor: Implement file streaming for asset route. Fixes #818
Diffstat (limited to 'packages/shared')
| -rw-r--r-- | packages/shared/assetdb.ts | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/packages/shared/assetdb.ts b/packages/shared/assetdb.ts index fb7d2461..2ef69279 100644 --- a/packages/shared/assetdb.ts +++ b/packages/shared/assetdb.ts @@ -123,6 +123,25 @@ export async function readAsset({ return { asset, metadata }; } +export function createAssetReadStream({ + userId, + assetId, + start, + end, +}: { + userId: string; + assetId: string; + start?: number; + end?: number; +}) { + const assetDir = getAssetDir(userId, assetId); + + return fs.createReadStream(path.join(assetDir, "asset.bin"), { + start, + end, + }); +} + export async function readAssetMetadata({ userId, assetId, |
