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

85 lines
1.8 KiB
Python
Raw Normal View History

2022-01-27 15:26:55 +00:00
import json
from lib2to3.pytree import Base
from sqlite3 import Row
from typing import Dict, Optional
from urllib.parse import ParseResult, parse_qs, urlencode, urlparse, urlunparse
2022-01-27 12:24:38 +00:00
from fastapi.param_functions import Query
from lnurl.types import LnurlPayMetadata # type: ignore
from pydantic import BaseModel
2022-01-27 15:26:55 +00:00
from starlette.requests import Request
from lnbits.lnurl import encode as lnurl_encode # type: ignore
2022-01-27 12:24:38 +00:00
class Stalls(BaseModel):
2022-01-27 16:18:12 +00:00
id: str
wallet: str
name: str
publickey: str
privatekey: str
relays: str
shippingzones: str
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(...)
publickey: str = Query(...)
privatekey: str = Query(...)
relays: str = Query(...)
shippingzones: str = Query(...)
2022-01-27 12:24:38 +00:00
2022-01-27 15:26:55 +00:00
class createProduct(BaseModel):
2022-01-27 12:24:38 +00:00
stall: str = Query(None)
product: str = Query(None)
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-01-27 15:26:55 +00:00
class Products(BaseModel):
id: str
stall: str
product: str
categories: str
description: str
image: str
price: int
quantity: int
2022-01-27 12:24:38 +00: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-01-27 12:24:38 +00:00
countries: str = Query(None)
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-01-27 12:24:38 +00:00
2022-01-28 15:11:31 +00:00
class createOrder(BaseModel):
productid: str = Query(...)
stall: str = Query(...)
product: str = Query(...)
quantity: int = Query(..., ge=1)
shippingzone: int = Query(...)
address: str = Query(...)
email: str = Query(...)
invoiceid: str = Query(...)
2022-01-27 12:24:38 +00:00
class Orders(BaseModel):
2022-01-28 15:11:31 +00:00
id: str
productid: str
stall: str
2022-02-04 13:05:48 +00:00
pubkey: str
2022-01-28 15:11:31 +00:00
product: str
quantity: int
shippingzone: int
address: str
email: str
invoiceid: str
2022-01-27 12:24:38 +00:00
paid: bool
shipped: bool