i think most of this works lole

This commit is contained in:
2025-04-24 23:34:13 -04:00
parent 210a033695
commit 56ba750aad
50 changed files with 154001 additions and 2606 deletions

View File

@@ -0,0 +1,49 @@
from typing import List, Optional
from pydantic import BaseModel
from datetime import datetime
class PurchaseItem(BaseModel):
product_id: int
unit_price: float
quantity: int
is_case: bool
num_boxes: Optional[int] = None
# TODO: remove is_case and num_boxes, should derive from product_id
class SaleItem(BaseModel):
inventory_item_id: int
unit_price: float
class PurchaseTransactionCreate(BaseModel):
vendor_id: int
transaction_date: datetime
items: List[PurchaseItem]
transaction_notes: Optional[str] = None
class SaleTransactionCreate(BaseModel):
customer_id: int
marketplace_id: Optional[int] = None
transaction_date: datetime
items: List[SaleItem]
transaction_notes: Optional[str] = None
class TransactionItemResponse(BaseModel):
id: int
transaction_id: int
physical_item_id: int
unit_price: float
created_at: datetime
updated_at: datetime
class TransactionResponse(BaseModel):
id: int
vendor_id: Optional[int] = None
customer_id: Optional[int] = None
marketplace_id: Optional[int] = None
transaction_type: str
transaction_date: datetime
transaction_total_amount: float
transaction_notes: Optional[str] = None
created_at: datetime
updated_at: datetime
transaction_items: List[TransactionItemResponse]