we are so back

This commit is contained in:
2025-05-05 14:05:12 -04:00
parent 11aa4cda16
commit 5c85411c69
20 changed files with 2417 additions and 33 deletions

View File

@ -1,12 +1,12 @@
from typing import List, Optional
from pydantic import BaseModel
from datetime import datetime
from app.models.tcgplayer_products import TCGPlayerProduct
class PurchaseItem(BaseModel):
product_id: int
unit_price: float
quantity: int
is_case: bool
item_type: str
num_boxes: Optional[int] = None
# TODO: remove is_case and num_boxes, should derive from product_id
@ -30,11 +30,11 @@ class SaleTransactionCreate(BaseModel):
class TransactionItemResponse(BaseModel):
id: int
transaction_id: int
physical_item_id: int
inventory_item_id: int
unit_price: float
created_at: datetime
updated_at: datetime
deleted_at: Optional[datetime] = None
class TransactionResponse(BaseModel):
id: int
vendor_id: Optional[int] = None
@ -46,4 +46,64 @@ class TransactionResponse(BaseModel):
transaction_notes: Optional[str] = None
created_at: datetime
updated_at: datetime
transaction_items: List[TransactionItemResponse]
deleted_at: Optional[datetime] = None
transaction_items: List[TransactionItemResponse]
class GetAllTransactionsResponse(BaseModel):
total: int
transactions: List[TransactionResponse]
class SealedExpectedValueResponse(BaseModel):
id: int
tcgplayer_product_id: int
expected_value: float
class SealedExpectedValueCreate(BaseModel):
tcgplayer_product_id: int
expected_value: float
class TCGPlayerProductResponse(BaseModel):
id: int
tcgplayer_product_id: int
name: str
image_url: str
category_id: int
group_id: int
url: str
market_price: float
category_name: str
group_name: str
class InventoryItemResponse(BaseModel):
id: int
physical_item_id: int
cost_basis: float
item_type: str
listed_price: Optional[float] = None
marketplace_listing_id: Optional[int] = None
recommended_price: Optional[float] = None
parent_id: Optional[int] = None
created_at: datetime
updated_at: datetime
product: Optional[TCGPlayerProductResponse] = None
class OpenEventResponse(BaseModel):
id: int
source_item_id: int
created_at: datetime
updated_at: datetime
class OpenEventCreate(BaseModel):
inventory_item_id: int
manabox_file_upload_ids: List[int]
class OpenEventResultingItemsResponse(BaseModel):
id: int
source_item_id: int
created_at: datetime
updated_at: datetime
resulting_items: List[InventoryItemResponse]
class OpenEventsForInventoryItemResponse(BaseModel):
open_events: List[OpenEventResponse]