From e6486465decd612f7e437abe904960a47ff359ce Mon Sep 17 00:00:00 2001
From: kamtschatka <simon.schatka@gmx.at>
Date: Mon, 1 Jul 2024 13:03:53 +0200
Subject: refactor: added the bookmark type to the database (#256)

* refactoring asset types
Extracted out functions to silently delete assets and to update them after crawling
Generalized the mapping of assets to bookmark fields to make extending them easier

* Added the bookmark type to the database
Introduced an enum to have better type safety
cleaned up the code and based some code on the type directly

* add BookmarkType.UNKNWON

* lint and remove unused function

---------

Co-authored-by: MohamedBassem <me@mbassem.com>
---
 packages/db/drizzle/0025_aspiring_skaar.sql | 11 +++++++++++
 1 file changed, 11 insertions(+)
 create mode 100644 packages/db/drizzle/0025_aspiring_skaar.sql

(limited to 'packages/db/drizzle/0025_aspiring_skaar.sql')

diff --git a/packages/db/drizzle/0025_aspiring_skaar.sql b/packages/db/drizzle/0025_aspiring_skaar.sql
new file mode 100644
index 00000000..a8f12eec
--- /dev/null
+++ b/packages/db/drizzle/0025_aspiring_skaar.sql
@@ -0,0 +1,11 @@
+ALTER TABLE bookmarks ADD `type` text NOT NULL DEFAULT "text";--> statement-breakpoint
+-- Fill in the bookmark type
+UPDATE bookmarks
+SET type = CASE
+   WHEN EXISTS (SELECT 1 FROM bookmarkLinks WHERE bookmarkLinks.id = bookmarks.id)
+       THEN 'link'
+   WHEN EXISTS (SELECT 1 FROM bookmarkTexts WHERE bookmarkTexts.id = bookmarks.id)
+       THEN 'text'
+   WHEN EXISTS (SELECT 1 FROM bookmarkAssets WHERE bookmarkAssets.id = bookmarks.id)
+       THEN 'asset'
+END;
\ No newline at end of file
-- 
cgit v1.2.3-70-g09d2

