Renaming models/api/ folder to models/schemas/

This commit is contained in:
2025-09-21 21:02:05 +02:00
parent ed775b9822
commit 2db03b20c5
32 changed files with 63 additions and 181 deletions

46
models/schemas/stock.py Normal file
View File

@@ -0,0 +1,46 @@
import re
from datetime import datetime
from typing import List, Optional
from pydantic import BaseModel, ConfigDict, EmailStr, Field, field_validator
# Stock Models
class StockBase(BaseModel):
gtin: str = Field(..., min_length=1, description="GTIN is required")
location: str = Field(..., min_length=1, description="Location is required")
class StockCreate(StockBase):
quantity: int = Field(ge=0, description="Quantity must be non-negative")
class StockAdd(StockBase):
quantity: int = Field(gt=0, description="Quantity to add must be positive")
class StockUpdate(BaseModel):
quantity: int = Field(ge=0, description="Quantity must be non-negative")
class StockResponse(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: int
gtin: str
location: str
quantity: int
created_at: datetime
updated_at: datetime
class StockLocationResponse(BaseModel):
location: str
quantity: int
class StockSummaryResponse(BaseModel):
gtin: str
total_quantity: int
locations: List[StockLocationResponse]
product_title: Optional[str] = None