Backend enhancements: auth, channels, restaurants, daemon improvements
- Add admin auth dependency and role checks - Expand channel and restaurant API routes - Improve YouTube transcript fetching - Enhance daemon worker with better error handling and scheduling Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -67,6 +67,9 @@ def find_or_create_user(
|
||||
"email": email, "nickname": nickname,
|
||||
"avatar_url": avatar_url, "id": row[0],
|
||||
})
|
||||
# Fetch is_admin
|
||||
cur.execute("SELECT is_admin FROM tasteby_users WHERE id = :id", {"id": row[0]})
|
||||
is_admin = bool(cur.fetchone()[0])
|
||||
return {
|
||||
"id": row[0],
|
||||
"provider": row[1],
|
||||
@@ -74,6 +77,7 @@ def find_or_create_user(
|
||||
"email": email or row[3],
|
||||
"nickname": nickname or row[4],
|
||||
"avatar_url": avatar_url or row[5],
|
||||
"is_admin": is_admin,
|
||||
}
|
||||
|
||||
# Create new user
|
||||
@@ -99,6 +103,7 @@ def find_or_create_user(
|
||||
"email": email,
|
||||
"nickname": nickname,
|
||||
"avatar_url": avatar_url,
|
||||
"is_admin": False,
|
||||
}
|
||||
|
||||
|
||||
@@ -108,6 +113,7 @@ def create_jwt(user: dict) -> str:
|
||||
"sub": user["id"],
|
||||
"email": user.get("email"),
|
||||
"nickname": user.get("nickname"),
|
||||
"is_admin": user.get("is_admin", False),
|
||||
"exp": datetime.now(timezone.utc) + timedelta(days=JWT_EXPIRE_DAYS),
|
||||
"iat": datetime.now(timezone.utc),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user