ensure new users get a default collection on signup and any missing users get them too

This commit is contained in:
2026-06-07 13:09:17 +03:00
parent 84dbaa2cd8
commit 7b16ac91ed
2 changed files with 27 additions and 4 deletions

View File

@@ -506,10 +506,24 @@ class BookmarkCollections(Model):
@classmethod
def create_default(cls, user_id):
q = """INSERT INTO bookmark_collections (user_id, name, is_default, sort_order)
VALUES (?, "Bookmarks", 1, 0) RETURNING id
"""
res = db.fetch_one(q, user_id)
return cls.create({
'user_id': user_id,
'name': 'Bookmarks',
'is_default': True,
'sort_order': 0,
})
@staticmethod
def get_users_without_default():
q = """
SELECT users.id FROM users
WHERE NOT EXISTS (
SELECT 1 FROM bookmark_collections bc
WHERE bc.user_id = users.id
AND bc.is_default = 1
)
"""
return [row['id'] for row in db.query(q)]
@classmethod
def get_for_user(cls, user_id):