Files
2025-04-24 11:44:23 +02:00

36 lines
1010 B
Python

# models.py — UploadLog table (SQLModel) and related models
from sqlmodel import SQLModel, Field, Session, select
from typing import Optional
from datetime import datetime
from database import engine
class User(SQLModel, table=True):
token_created: datetime = Field(default_factory=datetime.utcnow)
email: str = Field(primary_key=True)
username: str
token: str
confirmed: bool = False
ip: str = Field(default="")
class UserQuota(SQLModel, table=True):
uid: str = Field(primary_key=True)
storage_bytes: int = 0
class UploadLog(SQLModel, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
uid: str
ip: str
filename: Optional[str]
size_bytes: int
created_at: datetime = Field(default_factory=datetime.utcnow)
def get_user_by_uid(uid: str) -> Optional[User]:
with Session(engine) as session:
statement = select(User).where(User.username == uid)
result = session.exec(statement).first()
return result