aboutsummaryrefslogtreecommitdiffstats
path: root/packages/workers
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-02-14 01:26:45 +0000
committerMohamedBassem <me@mbassem.com>2024-02-14 10:36:38 +0000
commit50c3c5e132643fc33d39fb9dc1fe951efe766337 (patch)
tree0af73f6b3835833792b6cac67fea01a6e943b296 /packages/workers
parent580b842f7835a3d1fa171afdc7e0b52cc3f9dfc6 (diff)
downloadkarakeep-50c3c5e132643fc33d39fb9dc1fe951efe766337.tar.zst
feature: Add ability to refresh bookmark details
Diffstat (limited to 'packages/workers')
-rw-r--r--packages/workers/crawler.ts14
-rw-r--r--packages/workers/openai.ts1
2 files changed, 14 insertions, 1 deletions
diff --git a/packages/workers/crawler.ts b/packages/workers/crawler.ts
index 45d2f530..4febc1ca 100644
--- a/packages/workers/crawler.ts
+++ b/packages/workers/crawler.ts
@@ -70,6 +70,17 @@ export class CrawlerWorker {
}
}
+async function getBookmarkUrl(bookmarkId: string) {
+ const bookmark = await prisma.bookmarkedLink.findUnique({
+ where: { id: bookmarkId },
+ });
+
+ if (!bookmark) {
+ throw new Error("The bookmark either doesn't exist or not a link");
+ }
+ return bookmark.url;
+}
+
async function crawlPage(url: string) {
if (!browser) {
throw new Error("The browser must have been initalized by this point.");
@@ -98,7 +109,8 @@ async function runCrawler(job: Job<ZCrawlLinkRequest, void>) {
return;
}
- const { url, bookmarkId } = request.data;
+ const { bookmarkId } = request.data;
+ const url = await getBookmarkUrl(bookmarkId);
logger.info(
`[Crawler][${jobId}] Will crawl "${url}" for link with id "${bookmarkId}"`,
diff --git a/packages/workers/openai.ts b/packages/workers/openai.ts
index 1adedeba..7c45b2cb 100644
--- a/packages/workers/openai.ts
+++ b/packages/workers/openai.ts
@@ -140,6 +140,7 @@ async function createTags(tags: string[], userId: string) {
async function connectTags(bookmarkId: string, tagIds: string[]) {
// TODO: Prisma doesn't support createMany in Sqlite
+ // TODO: This could fail on refetch if the tags are already there
await Promise.all(
tagIds.map((tagId) => {
return prisma.tagsOnBookmarks.create({