from flask_login import UserMixin class User(UserMixin): def __init__(self, id, email, username, role, message_count, daily_limit): self.id = id self.email = email self.username = username self.role = role self.message_count = message_count self.daily_limit = daily_limit @staticmethod def get(user_id, supabase): response = supabase.table("profiles").select("*").eq("id", user_id).execute() if response.data: u = response.data[0] return User(u['id'], u['email'], u['username'], u['role'], u['message_count'], u['daily_limit']) return None