aboutsummaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2026-02-09 01:38:35 +0000
committerMohamed Bassem <me@mbassem.com>2026-02-09 01:38:35 +0000
commit36309aecbaab4ec94791fd1fce91676b30e6bd7c (patch)
tree9fac5293cde0bc514276176b28e2fba83f5915a3 /packages
parenta04d3c35fc9082e529a713605a038d236bb072c7 (diff)
downloadkarakeep-36309aecbaab4ec94791fd1fce91676b30e6bd7c.tar.zst
Revert "refactor: move assetdb to shared-server"
This reverts commit a04d3c35fc9082e529a713605a038d236bb072c7.
Diffstat (limited to 'packages')
-rw-r--r--packages/api/utils/assets.ts2
-rw-r--r--packages/api/utils/upload.ts2
-rw-r--r--packages/e2e_tests/package.json1
-rw-r--r--packages/e2e_tests/tests/assetdb/assetdb-utils.ts2
-rw-r--r--packages/e2e_tests/tests/assetdb/interface-compliance.test.ts2
-rw-r--r--packages/e2e_tests/tests/assetdb/local-filesystem-store.test.ts2
-rw-r--r--packages/e2e_tests/tests/assetdb/s3-store.test.ts2
-rw-r--r--packages/shared-server/package.json8
-rw-r--r--packages/shared/assetdb.ts (renamed from packages/shared-server/assetdb.ts)34
-rw-r--r--packages/shared/package.json2
-rw-r--r--packages/trpc/models/assets.ts2
-rw-r--r--packages/trpc/models/backups.ts2
-rw-r--r--packages/trpc/models/bookmarks.ts2
-rw-r--r--packages/trpc/models/users.ts2
-rw-r--r--packages/trpc/routers/bookmarks.ts2
15 files changed, 26 insertions, 41 deletions
diff --git a/packages/api/utils/assets.ts b/packages/api/utils/assets.ts
index 2ebd691d..7936f4ba 100644
--- a/packages/api/utils/assets.ts
+++ b/packages/api/utils/assets.ts
@@ -5,7 +5,7 @@ import {
createAssetReadStream,
getAssetSize,
readAssetMetadata,
-} from "@karakeep/shared-server/assetdb";
+} from "@karakeep/shared/assetdb";
import { toWebReadableStream } from "./upload";
diff --git a/packages/api/utils/upload.ts b/packages/api/utils/upload.ts
index f532fc66..b82bc855 100644
--- a/packages/api/utils/upload.ts
+++ b/packages/api/utils/upload.ts
@@ -11,7 +11,7 @@ import {
newAssetId,
saveAssetFromFile,
SUPPORTED_UPLOAD_ASSET_TYPES,
-} from "@karakeep/shared-server/assetdb";
+} from "@karakeep/shared/assetdb";
import serverConfig from "@karakeep/shared/config";
import { AuthedContext } from "@karakeep/trpc";
diff --git a/packages/e2e_tests/package.json b/packages/e2e_tests/package.json
index b1c472f4..d93318aa 100644
--- a/packages/e2e_tests/package.json
+++ b/packages/e2e_tests/package.json
@@ -18,7 +18,6 @@
"@aws-sdk/client-s3": "^3.842.0",
"@karakeep/sdk": "workspace:*",
"@karakeep/shared": "workspace:^0.1.0",
- "@karakeep/shared-server": "workspace:^0.1.0",
"@karakeep/trpc": "workspace:^0.1.0",
"@trpc/client": "^11.9.0",
"superjson": "^2.2.1",
diff --git a/packages/e2e_tests/tests/assetdb/assetdb-utils.ts b/packages/e2e_tests/tests/assetdb/assetdb-utils.ts
index 85a3f307..a8e29ab4 100644
--- a/packages/e2e_tests/tests/assetdb/assetdb-utils.ts
+++ b/packages/e2e_tests/tests/assetdb/assetdb-utils.ts
@@ -15,7 +15,7 @@ import {
AssetStore,
LocalFileSystemAssetStore,
S3AssetStore,
-} from "@karakeep/shared-server/assetdb";
+} from "@karakeep/shared/assetdb";
export interface TestAssetData {
userId: string;
diff --git a/packages/e2e_tests/tests/assetdb/interface-compliance.test.ts b/packages/e2e_tests/tests/assetdb/interface-compliance.test.ts
index c9efaa5b..d5288c7a 100644
--- a/packages/e2e_tests/tests/assetdb/interface-compliance.test.ts
+++ b/packages/e2e_tests/tests/assetdb/interface-compliance.test.ts
@@ -1,7 +1,7 @@
import * as fs from "fs";
import { afterEach, beforeEach, describe, expect, it } from "vitest";
-import { ASSET_TYPES, AssetStore } from "@karakeep/shared-server/assetdb";
+import { ASSET_TYPES, AssetStore } from "@karakeep/shared/assetdb";
import {
assertAssetExists,
diff --git a/packages/e2e_tests/tests/assetdb/local-filesystem-store.test.ts b/packages/e2e_tests/tests/assetdb/local-filesystem-store.test.ts
index a6a7e9ca..36ff837f 100644
--- a/packages/e2e_tests/tests/assetdb/local-filesystem-store.test.ts
+++ b/packages/e2e_tests/tests/assetdb/local-filesystem-store.test.ts
@@ -2,7 +2,7 @@ import * as fs from "fs";
import * as path from "path";
import { afterEach, beforeEach, describe, expect, it } from "vitest";
-import { LocalFileSystemAssetStore } from "@karakeep/shared-server/assetdb";
+import { LocalFileSystemAssetStore } from "@karakeep/shared/assetdb";
import {
assertAssetNotExists,
diff --git a/packages/e2e_tests/tests/assetdb/s3-store.test.ts b/packages/e2e_tests/tests/assetdb/s3-store.test.ts
index 541b8791..c573750e 100644
--- a/packages/e2e_tests/tests/assetdb/s3-store.test.ts
+++ b/packages/e2e_tests/tests/assetdb/s3-store.test.ts
@@ -1,7 +1,7 @@
import { HeadObjectCommand, S3Client } from "@aws-sdk/client-s3";
import { afterEach, beforeEach, describe, expect, it } from "vitest";
-import { S3AssetStore } from "@karakeep/shared-server/assetdb";
+import { S3AssetStore } from "@karakeep/shared/assetdb";
import {
assertAssetExists,
diff --git a/packages/shared-server/package.json b/packages/shared-server/package.json
index 0afc2bf2..357248b4 100644
--- a/packages/shared-server/package.json
+++ b/packages/shared-server/package.json
@@ -5,7 +5,6 @@
"private": true,
"type": "module",
"dependencies": {
- "@aws-sdk/client-s3": "^3.842.0",
"@karakeep/db": "workspace:^0.1.0",
"@karakeep/plugins": "workspace:^0.1.0",
"@karakeep/shared": "workspace:^0.1.0",
@@ -14,9 +13,7 @@
"@opentelemetry/resources": "^2.2.0",
"@opentelemetry/sdk-trace-base": "^2.2.0",
"@opentelemetry/sdk-trace-node": "^2.2.0",
- "@opentelemetry/semantic-conventions": "^1.38.0",
- "glob": "^11.0.0",
- "zod": "^3.24.2"
+ "@opentelemetry/semantic-conventions": "^1.38.0"
},
"devDependencies": {
"@karakeep/prettier-config": "workspace:^0.1.0",
@@ -32,8 +29,7 @@
},
"main": "index.ts",
"exports": {
- ".": "./index.ts",
- "./assetdb": "./assetdb.ts"
+ ".": "./index.ts"
},
"prettier": "@karakeep/prettier-config"
}
diff --git a/packages/shared-server/assetdb.ts b/packages/shared/assetdb.ts
index bb6bb75e..2e22faf7 100644
--- a/packages/shared-server/assetdb.ts
+++ b/packages/shared/assetdb.ts
@@ -11,12 +11,12 @@ import {
PutObjectCommand,
S3Client,
} from "@aws-sdk/client-s3";
-import glob from "glob";
+import { Glob } from "glob";
import { z } from "zod";
-import serverConfig from "@karakeep/shared/config";
-import logger from "@karakeep/shared/logger";
-import { QuotaApproved } from "@karakeep/shared/storageQuota";
+import serverConfig from "./config";
+import logger from "./logger";
+import { QuotaApproved } from "./storageQuota";
const ROOT_PATH = serverConfig.assetsDir;
@@ -283,30 +283,18 @@ class LocalFileSystemAssetStore implements AssetStore {
}
async *getAllAssets() {
- const files = await new Promise<string[]>((resolve, reject) => {
- glob(
- "*/*/asset.bin",
- {
- cwd: this.rootPath,
- nodir: true,
- },
- (err, matches) => {
- if (err) {
- reject(err);
- return;
- }
- resolve(matches);
- },
- );
+ const g = new Glob(`/**/**/asset.bin`, {
+ maxDepth: 3,
+ root: this.rootPath,
+ cwd: this.rootPath,
+ absolute: false,
});
-
- for (const file of files) {
+ for await (const file of g) {
const [userId, assetId] = file.split("/").slice(0, 2);
const [size, metadata] = await Promise.all([
this.getAssetSize({ userId, assetId }),
this.readAssetMetadata({ userId, assetId }),
]);
-
yield {
userId,
assetId,
@@ -617,7 +605,7 @@ export { LocalFileSystemAssetStore, S3AssetStore };
* Example usage of S3AssetStore:
*
* import { S3Client } from "@aws-sdk/client-s3";
- * import { S3AssetStore } from "@karakeep/shared-server/assetdb";
+ * import { S3AssetStore } from "@karakeep/shared/assetdb";
*
* const s3Client = new S3Client({
* region: "us-east-1",
diff --git a/packages/shared/package.json b/packages/shared/package.json
index a0f5608e..93739354 100644
--- a/packages/shared/package.json
+++ b/packages/shared/package.json
@@ -5,6 +5,8 @@
"private": true,
"type": "module",
"dependencies": {
+ "@aws-sdk/client-s3": "^3.842.0",
+ "glob": "^11.0.0",
"html-to-text": "^9.0.5",
"js-tiktoken": "^1.0.20",
"nodemailer": "^7.0.4",
diff --git a/packages/trpc/models/assets.ts b/packages/trpc/models/assets.ts
index 63342896..f97cfffb 100644
--- a/packages/trpc/models/assets.ts
+++ b/packages/trpc/models/assets.ts
@@ -3,7 +3,7 @@ import { and, desc, eq, sql } from "drizzle-orm";
import { z } from "zod";
import { assets } from "@karakeep/db/schema";
-import { deleteAsset } from "@karakeep/shared-server/assetdb";
+import { deleteAsset } from "@karakeep/shared/assetdb";
import serverConfig from "@karakeep/shared/config";
import { createSignedToken } from "@karakeep/shared/signedTokens";
import { zAssetSignedTokenSchema } from "@karakeep/shared/types/assets";
diff --git a/packages/trpc/models/backups.ts b/packages/trpc/models/backups.ts
index 2fd17301..c7ab99ba 100644
--- a/packages/trpc/models/backups.ts
+++ b/packages/trpc/models/backups.ts
@@ -4,7 +4,7 @@ import { z } from "zod";
import { assets, backupsTable } from "@karakeep/db/schema";
import { BackupQueue } from "@karakeep/shared-server";
-import { deleteAsset } from "@karakeep/shared-server/assetdb";
+import { deleteAsset } from "@karakeep/shared/assetdb";
import { zBackupSchema } from "@karakeep/shared/types/backups";
import { AuthedContext } from "..";
diff --git a/packages/trpc/models/bookmarks.ts b/packages/trpc/models/bookmarks.ts
index e0669787..c8cd1f00 100644
--- a/packages/trpc/models/bookmarks.ts
+++ b/packages/trpc/models/bookmarks.ts
@@ -30,7 +30,7 @@ import {
tagsOnBookmarks,
} from "@karakeep/db/schema";
import { SearchIndexingQueue, triggerWebhook } from "@karakeep/shared-server";
-import { deleteAsset, readAsset } from "@karakeep/shared-server/assetdb";
+import { deleteAsset, readAsset } from "@karakeep/shared/assetdb";
import { getAlignedExpiry } from "@karakeep/shared/signedTokens";
import {
BookmarkTypes,
diff --git a/packages/trpc/models/users.ts b/packages/trpc/models/users.ts
index c799f390..3340956a 100644
--- a/packages/trpc/models/users.ts
+++ b/packages/trpc/models/users.ts
@@ -18,7 +18,7 @@ import {
users,
verificationTokens,
} from "@karakeep/db/schema";
-import { deleteAsset, deleteUserAssets } from "@karakeep/shared-server/assetdb";
+import { deleteAsset, deleteUserAssets } from "@karakeep/shared/assetdb";
import serverConfig from "@karakeep/shared/config";
import {
zResetPasswordSchema,
diff --git a/packages/trpc/routers/bookmarks.ts b/packages/trpc/routers/bookmarks.ts
index db29bf02..782566cf 100644
--- a/packages/trpc/routers/bookmarks.ts
+++ b/packages/trpc/routers/bookmarks.ts
@@ -27,7 +27,7 @@ import {
triggerSearchReindex,
triggerWebhook,
} from "@karakeep/shared-server";
-import { SUPPORTED_BOOKMARK_ASSET_TYPES } from "@karakeep/shared-server/assetdb";
+import { SUPPORTED_BOOKMARK_ASSET_TYPES } from "@karakeep/shared/assetdb";
import serverConfig from "@karakeep/shared/config";
import { InferenceClientFactory } from "@karakeep/shared/inference";
import { buildSummaryPrompt } from "@karakeep/shared/prompts.server";