2022-07-27 15:28:58 +01:00
|
|
|
from typing import List, Optional
|
2022-01-27 15:26:55 +00:00
|
|
|
|
2022-01-27 12:24:38 +00:00
|
|
|
from fastapi.param_functions import Query
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
|
|
|
|
|
|
class Stalls(BaseModel):
|
2022-01-27 16:18:12 +00:00
|
|
|
id: str
|
|
|
|
wallet: str
|
|
|
|
name: str
|
2022-07-12 11:02:12 +01:00
|
|
|
publickey: Optional[str]
|
|
|
|
privatekey: Optional[str]
|
|
|
|
relays: Optional[str]
|
2022-01-27 16:18:12 +00:00
|
|
|
shippingzones: str
|
2022-01-27 12:24:38 +00:00
|
|
|
|
2022-07-12 15:25:25 +01:00
|
|
|
|
2022-01-27 12:24:38 +00:00
|
|
|
class createStalls(BaseModel):
|
2022-01-27 16:18:12 +00:00
|
|
|
wallet: str = Query(...)
|
|
|
|
name: str = Query(...)
|
2022-07-12 11:02:12 +01:00
|
|
|
publickey: str = Query(None)
|
|
|
|
privatekey: str = Query(None)
|
|
|
|
relays: str = Query(None)
|
2022-01-27 16:18:12 +00:00
|
|
|
shippingzones: str = Query(...)
|
2022-01-27 12:24:38 +00:00
|
|
|
|
2022-07-12 15:25:25 +01:00
|
|
|
|
2022-01-27 15:26:55 +00:00
|
|
|
class createProduct(BaseModel):
|
2022-07-12 17:22:03 +01:00
|
|
|
stall: str = Query(...)
|
2022-07-15 10:22:13 +01:00
|
|
|
product: str = Query(...)
|
2022-01-27 12:24:38 +00:00
|
|
|
categories: str = Query(None)
|
|
|
|
description: str = Query(None)
|
|
|
|
image: str = Query(None)
|
2022-01-27 15:26:55 +00:00
|
|
|
price: int = Query(0, ge=0)
|
|
|
|
quantity: int = Query(0, ge=0)
|
2022-01-27 12:24:38 +00:00
|
|
|
|
2022-07-12 15:25:25 +01:00
|
|
|
|
2022-01-27 15:26:55 +00:00
|
|
|
class Products(BaseModel):
|
|
|
|
id: str
|
|
|
|
stall: str
|
|
|
|
product: str
|
2022-07-15 10:22:13 +01:00
|
|
|
categories: Optional[str]
|
|
|
|
description: Optional[str]
|
|
|
|
image: Optional[str]
|
2022-01-27 15:26:55 +00:00
|
|
|
price: int
|
|
|
|
quantity: int
|
2022-01-27 12:24:38 +00:00
|
|
|
|
2022-07-12 15:25:25 +01:00
|
|
|
|
2022-01-27 15:26:55 +00:00
|
|
|
class createZones(BaseModel):
|
2022-02-04 13:05:48 +00:00
|
|
|
cost: int = Query(0, ge=0)
|
2022-07-12 11:02:12 +01:00
|
|
|
countries: str = Query(...)
|
2022-01-27 12:24:38 +00:00
|
|
|
|
2022-07-12 15:25:25 +01:00
|
|
|
|
2022-01-27 15:26:55 +00:00
|
|
|
class Zones(BaseModel):
|
|
|
|
id: str
|
2022-02-04 13:05:48 +00:00
|
|
|
user: str
|
|
|
|
cost: int
|
2022-01-27 15:26:55 +00:00
|
|
|
countries: str
|
|
|
|
|
2022-08-16 12:19:31 +01:00
|
|
|
|
2022-08-16 12:08:27 +01:00
|
|
|
class OrderDetail(BaseModel):
|
|
|
|
id: str
|
|
|
|
order_id: str
|
|
|
|
product_id: str
|
|
|
|
quantity: int
|
2022-01-27 12:24:38 +00:00
|
|
|
|
2022-08-16 12:19:31 +01:00
|
|
|
|
2022-08-16 12:08:27 +01:00
|
|
|
class createOrderDetails(BaseModel):
|
|
|
|
product_id: str = Query(...)
|
2022-01-28 15:11:31 +00:00
|
|
|
quantity: int = Query(..., ge=1)
|
2022-08-16 12:08:27 +01:00
|
|
|
|
|
|
|
|
|
|
|
class createOrder(BaseModel):
|
|
|
|
wallet: str = Query(...)
|
|
|
|
pubkey: str = Query(None)
|
2022-08-18 10:49:04 +01:00
|
|
|
shippingzone: str = Query(...)
|
2022-01-28 15:11:31 +00:00
|
|
|
address: str = Query(...)
|
|
|
|
email: str = Query(...)
|
2022-08-16 12:08:27 +01:00
|
|
|
total: int = Query(...)
|
|
|
|
products: List[createOrderDetails]
|
2022-01-28 15:11:31 +00:00
|
|
|
|
2022-07-12 15:25:25 +01:00
|
|
|
|
2022-01-27 12:24:38 +00:00
|
|
|
class Orders(BaseModel):
|
2022-01-28 15:11:31 +00:00
|
|
|
id: str
|
2022-08-18 16:18:07 +01:00
|
|
|
wallet: str
|
|
|
|
username: Optional[str]
|
|
|
|
pubkey: Optional[str]
|
2022-08-18 10:49:04 +01:00
|
|
|
shippingzone: str
|
2022-01-28 15:11:31 +00:00
|
|
|
address: str
|
|
|
|
email: str
|
2022-08-18 16:18:07 +01:00
|
|
|
total: int
|
2022-01-28 15:11:31 +00:00
|
|
|
invoiceid: str
|
2022-01-27 12:24:38 +00:00
|
|
|
paid: bool
|
|
|
|
shipped: bool
|
2022-07-12 11:02:12 +01:00
|
|
|
time: int
|
2022-07-27 15:28:58 +01:00
|
|
|
|
2022-08-16 12:19:31 +01:00
|
|
|
|
2022-07-27 15:28:58 +01:00
|
|
|
class CreateMarket(BaseModel):
|
|
|
|
usr: str = Query(...)
|
|
|
|
name: str = Query(None)
|
|
|
|
stalls: List[str] = Query(...)
|
|
|
|
|
2022-08-16 12:19:31 +01:00
|
|
|
|
2022-07-27 15:28:58 +01:00
|
|
|
class Market(BaseModel):
|
|
|
|
id: str
|
|
|
|
usr: str
|
|
|
|
name: Optional[str]
|