shop_system_models 1.0.0.dev27178__tar.gz → 1.0.0.dev27183__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/PKG-INFO +1 -1
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/pyproject.toml +1 -1
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/request/details.py +10 -0
- shop_system_models-1.0.0.dev27183/shop_system_models/shop_api/shop/request/orders.py +171 -0
- shop_system_models-1.0.0.dev27178/shop_system_models/shop_api/shop/request/orders.py +0 -150
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/README.md +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/__init__.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/__init__.pyi +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/consts/__init__.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/consts/__init__.pyi +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/consts/country_codes.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/consts/country_codes.pyi +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/consts/enums.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/consts/enums.pyi +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/consts/languages.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/consts/languages.pyi +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/consts/messages/admin.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/consts/messages/locales/en.json +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/consts/messages/locales/ru.json +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/consts/messages/mapping.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/__init__.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/__init__.pyi +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/request/authorization.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/request/bot.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/request/nocodb.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/request/premium.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/request/processes.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/request/services.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/request/shop_categories.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/request/shop_content/blocks.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/request/shop_content/delivery_types.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/request/shop_content/payment_methods.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/request/shop_templates.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/request/shops.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/request/tasks.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/request/users.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/request/web_app_url.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/response/general.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/response/permissions.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/response/premium.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/response/shops.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/response/simple_responses.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/response/web_app_url.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/shared.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/shared.pyi +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/users.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/deployment_api/users.pyi +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/py.typed +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/__init__.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/__init__.pyi +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/bot/__init__.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/bot/request.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/bot/response.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/commands/__init__.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/commands/request.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/commands/response.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/links.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/processes/__init__.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/processes/request.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/processes/response.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shared.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/__init__.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/request/__init__.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/request/baskets.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/request/categories.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/request/coupons.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/request/payment_methods.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/request/products.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/request/review.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/request/shop.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/response/__init__.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/response/basic.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/response/baskets.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/response/categories.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/response/coupons.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/response/extra_product_options.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/response/initialization_data.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/response/orders.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/response/payment_methods.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/response/products.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/response/review.py +0 -0
- {shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/shop_api/shop/response/users.py +0 -0
@@ -5,6 +5,16 @@ from pydantic import BaseModel, Field
|
|
5
5
|
|
6
6
|
|
7
7
|
|
8
|
+
class NocoDBConfig(BaseModel):
|
9
|
+
nocodb_project_id: Optional[str] = None
|
10
|
+
nocodb_categories_table: Optional[str] = None
|
11
|
+
nocodb_products_table: Optional[str] = None
|
12
|
+
nocodb_orders_table: Optional[str] = None
|
13
|
+
nocodb_status_table: Optional[str] = None
|
14
|
+
nocodb_bot_commands_table: Optional[str] = None
|
15
|
+
nocodb_options_table: Optional[str] = ""
|
16
|
+
nocodb_options_category_table: Optional[str] = ""
|
17
|
+
|
8
18
|
|
9
19
|
class ShopDetailsModel(BaseModel):
|
10
20
|
shop_id: str
|
@@ -0,0 +1,171 @@
|
|
1
|
+
from datetime import datetime
|
2
|
+
from typing import Optional, List, Dict, Any, Union
|
3
|
+
from pydantic import Field, field_validator, BaseModel
|
4
|
+
|
5
|
+
from shop_system_models.shop_api.shop.response.baskets import UserBasketResponseModelV2
|
6
|
+
from pydantic_core.core_schema import ValidationInfo
|
7
|
+
from shop_system_models.consts.country_codes import ISO3166
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
class ExtraFieldPayload(BaseModel):
|
12
|
+
name: str
|
13
|
+
value: str
|
14
|
+
|
15
|
+
|
16
|
+
class OrderDeliveryTypeModel(BaseModel):
|
17
|
+
name: str
|
18
|
+
address: str | None = ""
|
19
|
+
amount: float | None = 0.0
|
20
|
+
extra_fields_payload: list[ExtraFieldPayload] | None = []
|
21
|
+
|
22
|
+
|
23
|
+
class Coordinates(BaseModel):
|
24
|
+
latitude: float | None = None
|
25
|
+
longitude: float | None = None
|
26
|
+
|
27
|
+
|
28
|
+
class AddressModel(BaseModel):
|
29
|
+
coordinates: Coordinates | None = None
|
30
|
+
address: str | None = None
|
31
|
+
|
32
|
+
|
33
|
+
class ExtraField(BaseModel):
|
34
|
+
name: str
|
35
|
+
description: str
|
36
|
+
is_required: bool | None
|
37
|
+
|
38
|
+
|
39
|
+
class DeliveryTypeModel(BaseModel):
|
40
|
+
name: str
|
41
|
+
amount: float = 0.0
|
42
|
+
is_address_required: bool | None = False
|
43
|
+
address_hint: str | None = ""
|
44
|
+
extra_fields: list[ExtraField] = []
|
45
|
+
is_timepicker_required: bool = False
|
46
|
+
details: str | None = ""
|
47
|
+
country: str | None = ""
|
48
|
+
country_code: str | None = "" # ISO format, ex.: RU, KZ, BY...
|
49
|
+
city: str | None = ""
|
50
|
+
delivery_location: Coordinates | None = None
|
51
|
+
delivery_radius: int | None = None
|
52
|
+
delivery_min_hour: int | None = None
|
53
|
+
delivery_max_hour: int | None = None
|
54
|
+
delivery_minutes_interval: int | None = None
|
55
|
+
delivery_min_day: int | None = None
|
56
|
+
delivery_max_day: int | None = None
|
57
|
+
|
58
|
+
@field_validator("country_code", mode="before")
|
59
|
+
def set_country_code(cls, value, values: ValidationInfo):
|
60
|
+
country_code_upper = value.upper()
|
61
|
+
if ISO3166.get(country_code_upper):
|
62
|
+
return country_code_upper
|
63
|
+
return "RU"
|
64
|
+
|
65
|
+
|
66
|
+
def format_order_number(order_count: int) -> str:
|
67
|
+
return f"#{order_count:04}"
|
68
|
+
|
69
|
+
|
70
|
+
"""
|
71
|
+
{
|
72
|
+
"user_id": 123,
|
73
|
+
"basket_id": None,
|
74
|
+
"basket": None,
|
75
|
+
"status": "booking_request",
|
76
|
+
"delivery": None,
|
77
|
+
"delivery_date_from": None,
|
78
|
+
"user_contact_number": None,
|
79
|
+
"client_coordinates": None,
|
80
|
+
"comment": "",# НАДО
|
81
|
+
"payment_type_id": # НАДО
|
82
|
+
"preview_url": ''
|
83
|
+
"booking_details": {
|
84
|
+
"booking_id": "123123",
|
85
|
+
"from_date": datetime.now(),
|
86
|
+
"till_date": datetime.now(),
|
87
|
+
"item_id": "123123",
|
88
|
+
}
|
89
|
+
}"""
|
90
|
+
|
91
|
+
|
92
|
+
class BookingOrderModel(BaseModel):
|
93
|
+
booking_id: str
|
94
|
+
from_date: datetime
|
95
|
+
till_date: datetime
|
96
|
+
item_id: str
|
97
|
+
|
98
|
+
|
99
|
+
class CreateOrderModel(BaseModel):
|
100
|
+
delivery: OrderDeliveryTypeModel | None = None
|
101
|
+
delivery_date_from: datetime = Field(default_factory=datetime.now)
|
102
|
+
comment: str | None = None
|
103
|
+
user_contact_number: str | None = None
|
104
|
+
payment_type_id: str | None = None
|
105
|
+
booking_details: BookingOrderModel | None = None
|
106
|
+
preview_url: str | None = ""
|
107
|
+
|
108
|
+
|
109
|
+
class OrderPaymentDetails(BaseModel):
|
110
|
+
title: str
|
111
|
+
description: str
|
112
|
+
expires_at: datetime
|
113
|
+
link: str
|
114
|
+
|
115
|
+
|
116
|
+
class OrderModel(CreateOrderModel):
|
117
|
+
basket: UserBasketResponseModelV2
|
118
|
+
user_id: str | None = None
|
119
|
+
basket_id: str | None = None
|
120
|
+
status: str | None = None
|
121
|
+
client_coordinates: AddressModel | None = None
|
122
|
+
created: datetime = datetime.now()
|
123
|
+
updated: datetime = datetime.now()
|
124
|
+
order_number: str = "#0001"
|
125
|
+
process_key: int | None = None
|
126
|
+
coupon: str | None = None
|
127
|
+
admin_message_id: str | None = None
|
128
|
+
|
129
|
+
payment_data: OrderPaymentDetails | None = None
|
130
|
+
|
131
|
+
|
132
|
+
class LabeledPrice(BaseModel):
|
133
|
+
label: str
|
134
|
+
amount: int
|
135
|
+
|
136
|
+
|
137
|
+
class InvoiceBaseModel(BaseModel):
|
138
|
+
chat_id: int
|
139
|
+
order_id: str
|
140
|
+
order_number: str # order_number
|
141
|
+
payload: str # <basket_id>_<order_id>_<order_number> from OrderResponseModel --> its subscription key
|
142
|
+
amount: float
|
143
|
+
currency: str # fiat
|
144
|
+
payment_address: str
|
145
|
+
payment_timeout: int | None = None
|
146
|
+
|
147
|
+
|
148
|
+
class InvoiceTGMessageModel(InvoiceBaseModel):
|
149
|
+
description: str # order_products
|
150
|
+
provider_data: str | None = None
|
151
|
+
prices: list[LabeledPrice] # label and amount in coins!
|
152
|
+
need_name: bool | None = False
|
153
|
+
need_phone_number: bool | None = False
|
154
|
+
need_email: bool | None = False
|
155
|
+
send_phone_number_to_provider: bool | None = False
|
156
|
+
send_email_to_provider: bool | None = False
|
157
|
+
is_flexible: bool | None = False
|
158
|
+
reply_markup: bool | None = None
|
159
|
+
|
160
|
+
|
161
|
+
class InvoiceWithPaymentLinkMessageModel(InvoiceBaseModel):
|
162
|
+
payment_link: str
|
163
|
+
|
164
|
+
|
165
|
+
class InvoiceTONMessageModel(InvoiceBaseModel):
|
166
|
+
approved_addresses: list[str] = []
|
167
|
+
ton_amount: float
|
168
|
+
|
169
|
+
|
170
|
+
class PaidContentMessage(BaseModel):
|
171
|
+
message: str
|
@@ -1,150 +0,0 @@
|
|
1
|
-
from datetime import datetime
|
2
|
-
from typing import Optional, List, Dict, Any, Union
|
3
|
-
from pydantic import Field, field_validator, BaseModel
|
4
|
-
|
5
|
-
from shop_system_models.shop_api import MetaBaseModel
|
6
|
-
from shop_system_models.shop_api.shop.response.baskets import UserBasketResponseModelV2
|
7
|
-
from shop_system_models.shop_api.shop.response.products import ProductResponseModel
|
8
|
-
|
9
|
-
|
10
|
-
class ExtraFieldPayload(MetaBaseModel):
|
11
|
-
"""Model for extra field data in orders."""
|
12
|
-
name: str
|
13
|
-
value: str
|
14
|
-
|
15
|
-
|
16
|
-
class OrderDeliveryTypeModel(BaseModel):
|
17
|
-
"""Model for order delivery details."""
|
18
|
-
name: str
|
19
|
-
address: Optional[str] = ""
|
20
|
-
amount: Optional[float] = 0.0
|
21
|
-
extra_fields_payload: Optional[List[ExtraFieldPayload]] = Field(default_factory=lambda: [])
|
22
|
-
|
23
|
-
|
24
|
-
class Coordinates(MetaBaseModel):
|
25
|
-
"""Geographic coordinates."""
|
26
|
-
latitude: Optional[float] = None
|
27
|
-
longitude: Optional[float] = None
|
28
|
-
|
29
|
-
|
30
|
-
class AddressModel(MetaBaseModel):
|
31
|
-
"""Address model with optional coordinates."""
|
32
|
-
coordinates: Optional[Coordinates] = None
|
33
|
-
address: Optional[str] = None
|
34
|
-
|
35
|
-
|
36
|
-
class ExtraField(MetaBaseModel):
|
37
|
-
"""Model for defining extra fields."""
|
38
|
-
name: str
|
39
|
-
description: str
|
40
|
-
is_required: Optional[bool] = None
|
41
|
-
|
42
|
-
|
43
|
-
class DeliveryTypeModel(MetaBaseModel):
|
44
|
-
"""Delivery type configuration model."""
|
45
|
-
name: str
|
46
|
-
amount: float = 0.0
|
47
|
-
is_address_required: Optional[bool] = False
|
48
|
-
address_hint: Optional[str] = ""
|
49
|
-
extra_fields: List[ExtraField] = Field(default_factory=list)
|
50
|
-
is_timepicker_required: bool = False
|
51
|
-
details: Optional[str] = None
|
52
|
-
country: Optional[str] = None
|
53
|
-
country_code: Optional[str] = None # ISO format, ex.: RU, KZ, BY...
|
54
|
-
city: Optional[str] = None
|
55
|
-
delivery_location: Optional[Coordinates] = None
|
56
|
-
delivery_radius: Optional[int] = None
|
57
|
-
delivery_min_hour: Optional[int] = None
|
58
|
-
delivery_max_hour: Optional[int] = None
|
59
|
-
delivery_minutes_interval: Optional[int] = None
|
60
|
-
delivery_min_day: Optional[int] = None
|
61
|
-
delivery_max_day: Optional[int] = None
|
62
|
-
|
63
|
-
|
64
|
-
class BookingOrderModel(MetaBaseModel):
|
65
|
-
"""Details for a booking order."""
|
66
|
-
booking_id: str
|
67
|
-
from_date: datetime
|
68
|
-
till_date: datetime
|
69
|
-
item_id: str
|
70
|
-
|
71
|
-
|
72
|
-
class CreateOrderModel(MetaBaseModel):
|
73
|
-
"""Model for creating a new order."""
|
74
|
-
delivery: Optional[OrderDeliveryTypeModel] = None
|
75
|
-
delivery_date_from: datetime = Field(default_factory=datetime.now)
|
76
|
-
comment: Optional[str] = None
|
77
|
-
user_contact_number: Optional[str] = None
|
78
|
-
payment_type_id: Optional[str] = None
|
79
|
-
booking_details: Optional[BookingOrderModel] = None
|
80
|
-
preview_url: Optional[str] = ""
|
81
|
-
|
82
|
-
|
83
|
-
class ProductsInBasket(ProductResponseModel):
|
84
|
-
count_in_basket: int = 1
|
85
|
-
|
86
|
-
class OrderPaymentDetails(BaseModel):
|
87
|
-
title: str
|
88
|
-
description: str
|
89
|
-
expires_at: datetime
|
90
|
-
link: str
|
91
|
-
|
92
|
-
|
93
|
-
# This depends on UserBasketResponseModelV2 which we'll define in a separate file
|
94
|
-
# For now, we'll create a placeholder class that can be updated later
|
95
|
-
class OrderModel(CreateOrderModel):
|
96
|
-
"""Complete order model."""
|
97
|
-
basket: UserBasketResponseModelV2 # This will be implemented in basket models
|
98
|
-
user_id: Optional[str] = None
|
99
|
-
basket_id: Optional[str] = None
|
100
|
-
status: Optional[str] = None
|
101
|
-
client_coordinates: Optional[AddressModel] = None
|
102
|
-
created: datetime = Field(default_factory=datetime.now)
|
103
|
-
updated: datetime = Field(default_factory=datetime.now)
|
104
|
-
order_number: str = "#0001"
|
105
|
-
process_key: Optional[int] = None
|
106
|
-
coupon: Optional[str] = None
|
107
|
-
admin_message_id: str | None = None
|
108
|
-
payment_data: OrderPaymentDetails | None = None
|
109
|
-
|
110
|
-
|
111
|
-
class LabeledPrice(BaseModel):
|
112
|
-
label: str
|
113
|
-
amount: int
|
114
|
-
|
115
|
-
|
116
|
-
class InvoiceBaseModel(BaseModel):
|
117
|
-
chat_id: int
|
118
|
-
order_id: str
|
119
|
-
order_number: str # order_number
|
120
|
-
payload: str # <basket_id>_<order_id>_<order_number> from OrderResponseModel --> its subscription key
|
121
|
-
amount: float
|
122
|
-
currency: str # fiat
|
123
|
-
payment_address: str
|
124
|
-
payment_timeout: int | None = None
|
125
|
-
|
126
|
-
|
127
|
-
class InvoiceTGMessageModel(InvoiceBaseModel):
|
128
|
-
description: str # order_products
|
129
|
-
provider_data: str | None = None
|
130
|
-
prices: list[LabeledPrice] # label and amount in coins!
|
131
|
-
need_name: bool | None = False
|
132
|
-
need_phone_number: bool | None = False
|
133
|
-
need_email: bool | None = False
|
134
|
-
send_phone_number_to_provider: bool | None = False
|
135
|
-
send_email_to_provider: bool | None = False
|
136
|
-
is_flexible: bool | None = False
|
137
|
-
reply_markup: bool | None = None
|
138
|
-
|
139
|
-
|
140
|
-
class InvoiceWithPaymentLinkMessageModel(InvoiceBaseModel):
|
141
|
-
payment_link: str
|
142
|
-
|
143
|
-
|
144
|
-
class InvoiceTONMessageModel(InvoiceBaseModel):
|
145
|
-
approved_addresses: list[str] = []
|
146
|
-
ton_amount: float
|
147
|
-
|
148
|
-
|
149
|
-
class PaidContentMessage(BaseModel):
|
150
|
-
message: str
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{shop_system_models-1.0.0.dev27178 → shop_system_models-1.0.0.dev27183}/shop_system_models/py.typed
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|