new init
This commit is contained in:
38
apps/backend/app/schemas/delivery.py
Normal file
38
apps/backend/app/schemas/delivery.py
Normal file
@@ -0,0 +1,38 @@
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
from datetime import date, datetime
|
||||
from typing import Optional, List
|
||||
|
||||
# Bestehendes Einzeilen-Schema bleibt
|
||||
class DeliveryBase(BaseModel):
|
||||
product_id: int
|
||||
amount: int
|
||||
price_cents: int
|
||||
delivered_at: Optional[date] = None
|
||||
supplier: Optional[str] = None
|
||||
invoice_number: Optional[str] = None
|
||||
created_by: Optional[int] = None
|
||||
note: str | None = None
|
||||
deposit_return_cents: int = 0
|
||||
model_config = ConfigDict(from_attributes=True) # statt orm_mode
|
||||
|
||||
class DeliveryCreate(DeliveryBase):
|
||||
pass
|
||||
|
||||
class DeliveryOut(DeliveryBase):
|
||||
id: int
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
# 🆕 Für die neue Seite (Header + Items + Pfand)
|
||||
class DeliveryItemIn(BaseModel):
|
||||
product_id: int
|
||||
quantity_units: int
|
||||
unit_cost_cents: int
|
||||
|
||||
class DeliveryCreateBulk(BaseModel):
|
||||
supplier: Optional[str] = None
|
||||
date: Optional[date] = None
|
||||
invoice_no: Optional[str] = None
|
||||
note: Optional[str] = None
|
||||
deposit_return_cents: int = 0 # Netto-Pfand (Cent, positiv)
|
||||
items: List[DeliveryItemIn]
|
Reference in New Issue
Block a user