This commit is contained in:
2025-09-28 19:13:01 +02:00
parent 49edf780b5
commit 541ecb48f2
67 changed files with 5176 additions and 5008 deletions

View File

@@ -0,0 +1,32 @@
from pydantic import BaseModel
from typing import Optional
from datetime import datetime
from enum import Enum
class TopupStatus(str, Enum):
pending = "pending"
confirmed = "confirmed"
rejected = "rejected"
# Für Ausgaben und Admin-Create weiterhin kompatibel:
class TopupBase(BaseModel):
user_id: Optional[int] = None # <- optional gemacht
amount_cents: int
paypal_email: Optional[str] = None
note: Optional[str] = None
class TopupCreate(TopupBase):
# user_id kann für Admin-Aufrufe gesetzt werden, für User-Create weggelassen
pass
class TopupStatusUpdate(BaseModel):
status: TopupStatus
class TopupOut(TopupBase):
id: int
status: TopupStatus
created_at: datetime
confirmed_at: Optional[datetime] = None
class Config:
from_attributes = True # pydantic v2 (ersetzt orm_mode)