This repository has been archived by the owner on Jul 9, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmodels.py
135 lines (100 loc) · 2.51 KB
/
models.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
from typing import List, Optional
from fastapi.param_functions import Query
from pydantic import BaseModel
class MarketSettings(BaseModel):
user: str
currency: str
fiat_base_multiplier: int
class SetSettings(BaseModel):
currency: str
fiat_base_multiplier: int = Query(100, ge=1)
class Stalls(BaseModel):
id: str
wallet: str
name: str
currency: str
publickey: Optional[str]
relays: Optional[str]
shippingzones: str
class createStalls(BaseModel):
wallet: str = Query(...)
name: str = Query(...)
currency: str = Query("sat")
publickey: str = Query(None)
relays: str = Query(None)
shippingzones: str = Query(...)
class createProduct(BaseModel):
stall: str = Query(...)
product: str = Query(...)
categories: str = Query(None)
description: str = Query(None)
image: str = Query(None)
price: float = Query(0, ge=0)
quantity: int = Query(0, ge=0)
class Products(BaseModel):
id: str
stall: str
product: str
categories: Optional[str]
description: Optional[str]
image: Optional[str]
price: float
quantity: int
class createZones(BaseModel):
cost: float = Query(0, ge=0)
countries: str = Query(...)
class Zones(BaseModel):
id: str
user: str
cost: float
countries: str
class OrderDetail(BaseModel):
id: str
order_id: str
product_id: str
quantity: int
class createOrderDetails(BaseModel):
product_id: str = Query(...)
quantity: int = Query(..., ge=1)
class createOrder(BaseModel):
wallet: str = Query(...)
username: str = Query(None)
pubkey: str = Query(None)
shippingzone: str = Query(...)
address: str = Query(...)
email: str = Query(...)
total: int = Query(...)
products: List[createOrderDetails]
class Orders(BaseModel):
id: str
wallet: str
username: Optional[str]
pubkey: Optional[str]
shippingzone: str
address: str
email: str
total: int
invoiceid: str
paid: bool
shipped: bool
time: int
class CreateMarket(BaseModel):
usr: str = Query(...)
name: str = Query(None)
stalls: List[str] = Query(...)
class Market(BaseModel):
id: str
usr: str
name: Optional[str]
class CreateMarketStalls(BaseModel):
stallid: str
class ChatMessage(BaseModel):
id: str
msg: str
pubkey: str
id_conversation: str
timestamp: int
class CreateChatMessage(BaseModel):
msg: str = Query(..., min_length=1)
pubkey: str = Query(...)
room_name: str = Query(...)