Newer
Older
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
import datetime
import uuid
from enum import Enum
from pydantic import BaseModel
from app.api.v1.endpoints.beverage.schemas import BeverageBaseSchema
from app.api.v1.endpoints.order.address.schemas import AddressCreateSchema, AddressSchema
from app.api.v1.endpoints.pizza_type.schemas import PizzaTypeBaseSchema
class OrderStatus(str, Enum):
TRANSMITTED = 'TRANSMITTED'
PREPARING = 'PREPARING'
IN_DELIVERY = 'IN_DELIVERY'
COMPLETED = 'COMPLETED'
class OrderBaseSchema(BaseModel):
class Config:
orm_mode = True
class OrderCreateSchema(OrderBaseSchema):
address: AddressCreateSchema
user_id: uuid.UUID
class OrderSchema(OrderCreateSchema):
order_status: OrderStatus
id: uuid.UUID
order_datetime: datetime.datetime
address: AddressSchema
class OrderPriceSchema(OrderBaseSchema):
price: float
class PizzaBaseSchema(BaseModel):
class Config:
orm_mode = True
class PizzaCreateSchema(PizzaBaseSchema):
pizza_type_id: uuid.UUID
class PizzaSchema(PizzaCreateSchema):
id: uuid.UUID
class PizzaWithoutPizzaTypeSchema(PizzaBaseSchema):
id: uuid.UUID
class JoinedPizzaPizzaTypeSchema(PizzaWithoutPizzaTypeSchema, PizzaTypeBaseSchema):
pass
class JoinedPizzaSpecialWishPizzaSchema(PizzaWithoutPizzaTypeSchema):
pass
class OrderBeverageQuantityBaseSchema(BaseModel):
quantity: int
class Config:
orm_mode = True
class OrderBeverageQuantityCreateSchema(OrderBeverageQuantityBaseSchema):
beverage_id: uuid.UUID
class JoinedOrderBeverageQuantitySchema(OrderBaseSchema, BeverageBaseSchema):
pass
class OrderUpdateOrderStatusSchema(OrderBaseSchema):
id: uuid.UUID
order_status: OrderStatus