llmproxy/backend/schemas.py
Oliver Hofmann 562f6ecd9c Init
2026-04-27 18:54:27 +02:00

60 lines
1.1 KiB
Python

from pydantic import BaseModel
from datetime import datetime
from typing import Optional
class UserBase(BaseModel):
username: str
email: str
class UserCreate(UserBase):
password: str
class User(UserBase):
id: int
is_active: bool
created_at: datetime
class Config:
from_attributes = True
class APIKeyBase(BaseModel):
name: str
class APIKeyCreate(APIKeyBase):
user_id: int
class APIKey(APIKeyBase):
id: int
key: str
user_id: int
is_active: bool
created_at: datetime
class Config:
from_attributes = True
class QuotaBase(BaseModel):
daily_tokens: Optional[int] = None
monthly_tokens: Optional[int] = None
daily_requests: Optional[int] = None
monthly_requests: Optional[int] = None
class QuotaCreate(QuotaBase):
user_id: int
class Quota(QuotaBase):
id: int
user_id: int
reset_at: Optional[datetime] = None
class Config:
from_attributes = True
class UsageStats(BaseModel):
tokens_used: int = 0
requests_count: int = 0
last_reset: Optional[datetime] = None
class Config:
from_attributes = True