lnbits-legend/lnbits/extensions/diagonalley/models.py

110 lines
2 KiB
Python
Raw Normal View History

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
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
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]
2022-09-12 16:58:56 +01:00
2022-09-12 17:01:41 +01:00
2022-09-12 16:58:56 +01:00
class CreateMarketStalls(BaseModel):
stallid: str