17 lines
456 B
Python
17 lines
456 B
Python
from dataclasses import dataclass
|
|
from typing import Optional
|
|
from app.db import get_db
|
|
from flask_login import UserMixin
|
|
|
|
@dataclass
|
|
class User(UserMixin):
|
|
id: int
|
|
username: str
|
|
|
|
@staticmethod
|
|
def get(user_id: int | str) -> Optional["User"]:
|
|
db = get_db()
|
|
user = db.execute("SELECT * FROM users WHERE id = ?", (user_id,)).fetchone()
|
|
if user:
|
|
return User(user["id"], user["username"])
|
|
return None |