shop_system_models 0.0.1.dev26551__py3-none-any.whl

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.
Files changed (57) hide show
  1. shop_system_models/__init__.py +5 -0
  2. shop_system_models/consts/__init__.py +0 -0
  3. shop_system_models/consts/country_codes.py +251 -0
  4. shop_system_models/consts/enums.py +56 -0
  5. shop_system_models/consts/messages/admin.py +199 -0
  6. shop_system_models/consts/messages/locales/en.json +43 -0
  7. shop_system_models/consts/messages/locales/ru.json +44 -0
  8. shop_system_models/consts/messages/mapping.py +22 -0
  9. shop_system_models/deployment_api/__init__.py +1 -0
  10. shop_system_models/deployment_api/request/authorization.py +1 -0
  11. shop_system_models/deployment_api/request/bot.py +11 -0
  12. shop_system_models/deployment_api/request/nocodb.py +14 -0
  13. shop_system_models/deployment_api/request/premium.py +15 -0
  14. shop_system_models/deployment_api/request/processes.py +14 -0
  15. shop_system_models/deployment_api/request/servers.py +0 -0
  16. shop_system_models/deployment_api/request/services.py +0 -0
  17. shop_system_models/deployment_api/shared.py +40 -0
  18. shop_system_models/deployment_api/users.py +45 -0
  19. shop_system_models/shop_api/__init__.py +6 -0
  20. shop_system_models/shop_api/bot/__init__.py +1 -0
  21. shop_system_models/shop_api/bot/request.py +49 -0
  22. shop_system_models/shop_api/bot/response.py +11 -0
  23. shop_system_models/shop_api/commands/__init__.py +1 -0
  24. shop_system_models/shop_api/commands/request.py +20 -0
  25. shop_system_models/shop_api/commands/response.py +5 -0
  26. shop_system_models/shop_api/links.py +36 -0
  27. shop_system_models/shop_api/processes/__init__.py +1 -0
  28. shop_system_models/shop_api/processes/request.py +38 -0
  29. shop_system_models/shop_api/processes/response.py +12 -0
  30. shop_system_models/shop_api/shared.py +20 -0
  31. shop_system_models/shop_api/shop/__init__.py +4 -0
  32. shop_system_models/shop_api/shop/request/__init__.py +13 -0
  33. shop_system_models/shop_api/shop/request/baskets.py +38 -0
  34. shop_system_models/shop_api/shop/request/categories.py +24 -0
  35. shop_system_models/shop_api/shop/request/coupons.py +43 -0
  36. shop_system_models/shop_api/shop/request/details.py +37 -0
  37. shop_system_models/shop_api/shop/request/orders.py +143 -0
  38. shop_system_models/shop_api/shop/request/payment_methods.py +17 -0
  39. shop_system_models/shop_api/shop/request/products.py +41 -0
  40. shop_system_models/shop_api/shop/request/review.py +12 -0
  41. shop_system_models/shop_api/shop/request/shop.py +27 -0
  42. shop_system_models/shop_api/shop/response/__init__.py +11 -0
  43. shop_system_models/shop_api/shop/response/basic.py +5 -0
  44. shop_system_models/shop_api/shop/response/baskets.py +36 -0
  45. shop_system_models/shop_api/shop/response/categories.py +31 -0
  46. shop_system_models/shop_api/shop/response/coupons.py +16 -0
  47. shop_system_models/shop_api/shop/response/extra_product_options.py +19 -0
  48. shop_system_models/shop_api/shop/response/initialization_data.py +21 -0
  49. shop_system_models/shop_api/shop/response/orders.py +22 -0
  50. shop_system_models/shop_api/shop/response/pagination.py +17 -0
  51. shop_system_models/shop_api/shop/response/payment_methods.py +12 -0
  52. shop_system_models/shop_api/shop/response/products.py +44 -0
  53. shop_system_models/shop_api/shop/response/review.py +14 -0
  54. shop_system_models/shop_api/shop/response/users.py +6 -0
  55. shop_system_models-0.0.1.dev26551.dist-info/METADATA +38 -0
  56. shop_system_models-0.0.1.dev26551.dist-info/RECORD +57 -0
  57. shop_system_models-0.0.1.dev26551.dist-info/WHEEL +4 -0
@@ -0,0 +1,17 @@
1
+ from shop_system_models.consts.enums import PaymentTypes
2
+ from pydantic import BaseModel
3
+
4
+
5
+ class Metadata(BaseModel):
6
+ key: str
7
+ value: list[str]
8
+
9
+
10
+ class PaymentMethodModel(BaseModel):
11
+ name: str
12
+ type: PaymentTypes
13
+ payment_data: str | None = None # payment_token, TON address etc....
14
+ meta: list[Metadata] | None = []
15
+
16
+ class Config:
17
+ use_enum_values = True
@@ -0,0 +1,41 @@
1
+ from datetime import datetime
2
+ from typing import Optional, List
3
+
4
+ from shop_system_models.shop_api import MetaBaseModel
5
+ from pydantic import BaseModel, field_validator
6
+ from pydantic_core.core_schema import ValidationInfo
7
+
8
+ from shop_system_models.shop_api.shared import ImageMetadata
9
+
10
+
11
+ class ExtraAttribute(BaseModel):
12
+ name: str
13
+ description: str
14
+
15
+
16
+ class SubmitProductModel(MetaBaseModel):
17
+ name: str
18
+ description: str = ""
19
+ price: float
20
+ final_price: float = 0
21
+ currency: str
22
+ preview_url: list[str] = []
23
+ stock_qty: int
24
+ orders_qty: int = 0
25
+ extra_attributes: list[ExtraAttribute] = []
26
+
27
+
28
+ class SubmitProductCategoriesModel(MetaBaseModel):
29
+ category: list[int]
30
+
31
+
32
+ class ProductModel(SubmitProductModel):
33
+ created: datetime = datetime.fromtimestamp(0)
34
+ updated: datetime = datetime.fromtimestamp(0)
35
+ images: List[ImageMetadata] = []
36
+
37
+ @field_validator("final_price", mode="before")
38
+ def set_final_price(cls, value, values: ValidationInfo):
39
+ if not value:
40
+ return values.data.get("price")
41
+ return value
@@ -0,0 +1,12 @@
1
+ from pydantic import BaseModel
2
+
3
+
4
+ class SubmitReviewModel(BaseModel):
5
+ score: int
6
+ text: str
7
+ images: list[str] | None = []
8
+ user_id: int | None = None # Анонимный отзыв, если None
9
+
10
+
11
+ class ReviewModel(SubmitReviewModel):
12
+ shop_name: str
@@ -0,0 +1,27 @@
1
+ from typing import Optional, List, Dict, Any
2
+ from pydantic import Field, validator
3
+
4
+ from shop_system_models.shop_api import MetaBaseModel
5
+
6
+
7
+ class ShopCreateRequest(MetaBaseModel):
8
+ """Request model for shop creation."""
9
+ name: str
10
+ description: Optional[str] = None
11
+ owner_id: str
12
+ categories: List[str] = Field(default_factory=list)
13
+
14
+ @validator('name')
15
+ def validate_name(cls, v):
16
+ if not v.strip():
17
+ raise ValueError('Shop name cannot be empty')
18
+ return v
19
+
20
+
21
+ class ShopUpdateRequest(MetaBaseModel):
22
+ """Request model for shop update."""
23
+ shop_id: str
24
+ name: Optional[str] = None
25
+ description: Optional[str] = None
26
+ categories: Optional[List[str]] = None
27
+ settings: Optional[Dict[str, Any]] = None
@@ -0,0 +1,11 @@
1
+ """Shop response models for API communication."""
2
+
3
+ from shop_system_models.shop_api.shop.response.orders import (
4
+ OrderResponseModel,
5
+ OrderListResponseModel,
6
+ DeliveryTypeResponseModel,
7
+ )
8
+ from shop_system_models.shop_api.shop.response.pagination import (
9
+ PaginationResponseModel,
10
+ PartialPaginationResponseModel,
11
+ )
@@ -0,0 +1,5 @@
1
+ from pydantic import BaseModel
2
+
3
+
4
+ class BasicResponseModel(BaseModel):
5
+ message: str
@@ -0,0 +1,36 @@
1
+ from enum import Enum
2
+
3
+ from shop_system_models.shop_api.shop.request.baskets import BasketModel, BasketModelV2
4
+ from shop_system_models.shop_api.shop.response.products import ProductResponseModel
5
+ from pydantic import BaseModel
6
+
7
+
8
+ class BasketResponseModel(BasketModel):
9
+ id: str | None = None
10
+
11
+
12
+ class BasketResponseModelV2(BasketModelV2):
13
+ id: str | None = None
14
+
15
+
16
+ class ProductsInBasket(ProductResponseModel):
17
+ count_in_basket: int = 1
18
+
19
+
20
+ class UserBasketResponseModel(BasketResponseModel):
21
+ products: list[ProductsInBasket] = []
22
+
23
+
24
+ class UserBasketResponseModelV2(BasketResponseModelV2):
25
+ products: list[ProductsInBasket] = []
26
+
27
+
28
+ class ManageOrderAction(Enum):
29
+ create = "create"
30
+ delete = "delete"
31
+
32
+
33
+ class ManageBasketModel(BaseModel):
34
+ message: str
35
+ product_unique_id: str | None = None
36
+ product: ProductResponseModel | None = None
@@ -0,0 +1,31 @@
1
+ from shop_system_models.shop_api.shop.request.categories import CategoryModel
2
+ from shop_system_models.shop_api.shop.response.products import (
3
+ PaginationResponseModel,
4
+ ProductListResponseModel,
5
+ ProductResponseModel,
6
+ )
7
+ from pydantic import BaseModel
8
+
9
+
10
+ class CategoryResponseModel(CategoryModel):
11
+ id: int
12
+
13
+
14
+ class SubcatsProdsResponseModel(BaseModel):
15
+ subcategories: list[CategoryResponseModel]
16
+ products: list[ProductResponseModel]
17
+
18
+
19
+ class MainCatIncredProdResponseModel(BaseModel):
20
+ categories: list[CategoryResponseModel]
21
+ products: list[ProductResponseModel]
22
+
23
+
24
+ class CategoryListResponseModel(BaseModel):
25
+ categories: list[CategoryResponseModel]
26
+ page_info: PaginationResponseModel
27
+
28
+
29
+ class CategoriesProductsResponseModel(BaseModel):
30
+ categories: CategoryListResponseModel
31
+ products: ProductListResponseModel
@@ -0,0 +1,16 @@
1
+ import datetime
2
+
3
+ from pydantic import BaseModel
4
+
5
+ from shop_system_models.shop_api.shop.request.coupons import CouponModel
6
+ from shop_system_models.shop_api.shop.response.products import PartialPaginationResponseModel
7
+
8
+
9
+ class CouponResponseModel(CouponModel):
10
+ id: str
11
+ created_at: datetime.datetime
12
+
13
+
14
+ class CouponListResponseModel(BaseModel):
15
+ coupons: list[CouponResponseModel]
16
+ page_info: PartialPaginationResponseModel
@@ -0,0 +1,19 @@
1
+ from shop_system_models.shop_api import MetaBaseModel
2
+ from pydantic import BaseModel
3
+
4
+
5
+ class ExtraOptionResponseModel(BaseModel):
6
+ id: str
7
+ name: str
8
+ description: str = ""
9
+ price: float = 0
10
+ preview_url: list[str] = []
11
+
12
+
13
+ class ExtraOptionCategoriesResponseModel(MetaBaseModel):
14
+ id: str
15
+ name: str
16
+ description: str = ""
17
+ choice_count: int = 0 # How many options user can select from this category, 0 means no limit
18
+ is_required: bool | None = False # If true, user must select at least one option from this category
19
+ options: list[ExtraOptionResponseModel] = []
@@ -0,0 +1,21 @@
1
+ from typing import Optional
2
+
3
+ from shop_system_models.shop_api.bot.response import OrderStatusResponseModel
4
+ from shop_system_models.shop_api.links import LinkBlocksModel
5
+ from shop_system_models.shop_api.shop.response.orders import DeliveryTypeResponseModel
6
+ from shop_system_models.shop_api.shop.response.payment_methods import PaymentMethodDBResponseModel
7
+ from shop_system_models.shop_api.shop.response.users import UserResponseModel
8
+ from pydantic import BaseModel
9
+
10
+
11
+ class ContentDataResponseModel(BaseModel):
12
+ blocks: LinkBlocksModel | None
13
+ delivery_types: list[DeliveryTypeResponseModel] | None
14
+ payment_methods: list[PaymentMethodDBResponseModel] | None
15
+
16
+
17
+ class InitializationDataResponseModel(ContentDataResponseModel):
18
+ web_app_url: str
19
+ user: UserResponseModel
20
+ search_enabled: Optional[bool] = False
21
+ orders_statuses: list[OrderStatusResponseModel] | None
@@ -0,0 +1,22 @@
1
+ from typing import List, Optional
2
+ from pydantic import Field
3
+
4
+ from shop_system_models.shop_api import MetaBaseModel
5
+ from shop_system_models.shop_api.shop.request.orders import OrderModel, DeliveryTypeModel
6
+ from shop_system_models.shop_api.shop.response.pagination import PaginationResponseModel
7
+
8
+
9
+ class OrderResponseModel(OrderModel):
10
+ """Response model for a single order."""
11
+ id: str
12
+
13
+
14
+ class OrderListResponseModel(MetaBaseModel):
15
+ """Response model for a list of orders."""
16
+ orders: List[OrderResponseModel]
17
+ page_info: PaginationResponseModel
18
+
19
+
20
+ class DeliveryTypeResponseModel(DeliveryTypeModel):
21
+ """Response model for a delivery type."""
22
+ id: str
@@ -0,0 +1,17 @@
1
+ from typing import Optional, List, Dict, Any
2
+ from pydantic import Field
3
+
4
+ from shop_system_models.shop_api import MetaBaseModel
5
+
6
+
7
+ class PartialPaginationResponseModel(MetaBaseModel):
8
+ """Base pagination information."""
9
+ total_rows: int
10
+ is_first_page: bool
11
+ is_last_page: bool
12
+
13
+
14
+ class PaginationResponseModel(PartialPaginationResponseModel):
15
+ """Complete pagination information with page and page size."""
16
+ page: int
17
+ page_size: int
@@ -0,0 +1,12 @@
1
+ from shop_system_models.shop_api.shop.request.payment_methods import PaymentMethodModel
2
+ from pydantic import field_validator
3
+
4
+
5
+ class PaymentMethodDBResponseModel(PaymentMethodModel):
6
+ id: str
7
+
8
+
9
+ class PaymentMethodResponseModel(PaymentMethodDBResponseModel):
10
+ @field_validator("payment_data", mode="before")
11
+ def back_zeros(cls, value):
12
+ return "********"
@@ -0,0 +1,44 @@
1
+ import enum
2
+
3
+ from shop_system_models.shop_api.shop.request.products import ProductModel, SubmitProductCategoriesModel
4
+ from shop_system_models.shop_api.shop.response.extra_product_options import (
5
+ ExtraOptionCategoriesResponseModel,
6
+ )
7
+ from pydantic import BaseModel, field_validator
8
+
9
+
10
+ class BaseProductResponseModel(ProductModel, SubmitProductCategoriesModel):
11
+ id: str
12
+
13
+
14
+ class ProductCheckoutModes(enum.Enum):
15
+ PAYMENT = "payment"
16
+ BOOKING = "booking"
17
+
18
+
19
+ class ProductResponseModel(BaseProductResponseModel):
20
+ extra_option_choice_required: bool = False
21
+ extra_option_categories: list[ExtraOptionCategoriesResponseModel] = []
22
+ related_products: list["ProductResponseModel"] | None = []
23
+ secret_urls: list[str] = []
24
+ checkout_modes: list[ProductCheckoutModes] = []
25
+
26
+ @field_validator("checkout_modes")
27
+ def convert_status(cls, value: list[ProductCheckoutModes]):
28
+ return [v.value for v in value]
29
+
30
+
31
+ class PartialPaginationResponseModel(BaseModel):
32
+ total_rows: int
33
+ is_first_page: bool
34
+ is_last_page: bool
35
+
36
+
37
+ class PaginationResponseModel(PartialPaginationResponseModel):
38
+ page: int
39
+ page_size: int
40
+
41
+
42
+ class ProductListResponseModel(BaseModel):
43
+ products: list[ProductResponseModel]
44
+ page_info: PaginationResponseModel
@@ -0,0 +1,14 @@
1
+ from shop_system_models.shop_api.shop.request.review import ReviewModel
2
+ from shop_system_models.shop_api.shop.response.products import PaginationResponseModel
3
+ from shop_system_models.shop_api.shop.response.users import UserResponseModel
4
+ from pydantic import BaseModel
5
+
6
+
7
+ class ReviewResponseModel(ReviewModel):
8
+ id: str
9
+ user: UserResponseModel | None = None
10
+
11
+
12
+ class ReviewListResponseModel(BaseModel):
13
+ reviews: list[ReviewResponseModel]
14
+ page_info: PaginationResponseModel
@@ -0,0 +1,6 @@
1
+ from shop_system_models.deployment_api.users import UserModel
2
+
3
+
4
+ class UserResponseModel(UserModel):
5
+ id: str
6
+ is_service: bool = False
@@ -0,0 +1,38 @@
1
+ Metadata-Version: 2.3
2
+ Name: shop_system_models
3
+ Version: 0.0.1.dev26551
4
+ Summary: Shared model definitions for shop system services
5
+ Author: Pavel Mulin
6
+ Author-email: pavel@tg-shops.com
7
+ Requires-Python: >=3.9
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Programming Language :: Python :: 3.9
10
+ Classifier: Programming Language :: Python :: 3.10
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Programming Language :: Python :: 3.13
14
+ Requires-Dist: pydantic (>=2.10.3)
15
+ Description-Content-Type: text/markdown
16
+
17
+ # Shop System Models
18
+
19
+ A Python package containing shared models for different services in the shop system.
20
+
21
+ ## Installation
22
+
23
+ ```bash
24
+ pip install shop_system_models
25
+ ```
26
+
27
+ Or add to your poetry project:
28
+
29
+ ```bash
30
+ poetry add shop_system_models
31
+ ```
32
+
33
+ ## Usage
34
+
35
+ ```python
36
+ from shop_system_models.shop_api import MetaBaseModel
37
+ from shop_system_models.shop_api.shop import ShopRequest, ShopResponse
38
+ ```
@@ -0,0 +1,57 @@
1
+ shop_system_models/__init__.py,sha256=wS90aFyLAJfaeZDC-GXfMhNk7seWd1j-McchNKcA7Wc,101
2
+ shop_system_models/consts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ shop_system_models/consts/country_codes.py,sha256=YklfJ4AtRe1jpmLiG2c7PEkzC8LIaHhxIDrSJ_-kNN0,6361
4
+ shop_system_models/consts/enums.py,sha256=gangFPp3nEZB7kBN5b4hrw-bje8OFjZt01_laJBRg5I,1545
5
+ shop_system_models/consts/messages/admin.py,sha256=OmHXEeZkg3vysdbNuTBb3MOwynXAHsXEPfHkwLyTelY,7439
6
+ shop_system_models/consts/messages/locales/en.json,sha256=kKA3Q1raL4aojC-m484H22esCSmjAP_eyBIPn7LapIU,5233
7
+ shop_system_models/consts/messages/locales/ru.json,sha256=2WUpor_Rui6xPXTspYXNDijoVltCgl0re2mUiWtz-o8,7049
8
+ shop_system_models/consts/messages/mapping.py,sha256=ud_qJCfWYGUNyztSWj7jjR1ZVqn4AFdO_pQzjeskv_k,952
9
+ shop_system_models/deployment_api/__init__.py,sha256=hkfYuImAeOVE7d3y9VbuMY9AY9GCaz4a5GhAig-sqBc,22
10
+ shop_system_models/deployment_api/request/authorization.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
11
+ shop_system_models/deployment_api/request/bot.py,sha256=URJzYawioh0zxEw2lpF0XprpPi2hLFoIoA3MXMadlAo,232
12
+ shop_system_models/deployment_api/request/nocodb.py,sha256=_2ri01vBKcNlSqhYZXdchmPclhNZXp1czEMuXauIQ3w,478
13
+ shop_system_models/deployment_api/request/premium.py,sha256=PrK_WBDgeBKyG-E3c71YD_OZuxBVvI0Z5l9qMglKsqQ,277
14
+ shop_system_models/deployment_api/request/processes.py,sha256=gaY1PL7kFbE6E_iDOJgEqIUXAFY01wuNBV3mbe6hVrA,316
15
+ shop_system_models/deployment_api/request/servers.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
+ shop_system_models/deployment_api/request/services.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
+ shop_system_models/deployment_api/shared.py,sha256=8xweJ8Wqe72oZTEVdClZkfXdlGRbKhCOBKXuQOqM-dk,1070
18
+ shop_system_models/deployment_api/users.py,sha256=R35Xi201PWwKUovqOC-D0GiXmB7xF6Q8eF4I41H97pM,1022
19
+ shop_system_models/shop_api/__init__.py,sha256=jzSxNJuK5ODw451Jx1BhDt_Dyh1fC1jnstICZ5dOrLo,206
20
+ shop_system_models/shop_api/bot/__init__.py,sha256=q8Pjc0PxPPMoRl9yQJWUs4egyEGsdqUC8iaLHn6LA7U,46
21
+ shop_system_models/shop_api/bot/request.py,sha256=Upe7WnwV4p7-l0e6PFJomb7FHbU8k4hlDWWhj5G6lNs,1075
22
+ shop_system_models/shop_api/bot/response.py,sha256=qgDDdj6IluMLGDyunS3k9_0RcdbhvmiQFsQBDULpgPk,291
23
+ shop_system_models/shop_api/commands/__init__.py,sha256=obcxo8mbs3cqkNZdhPOfaKUfk71eIajtc8H7XvL9yuk,50
24
+ shop_system_models/shop_api/commands/request.py,sha256=47NH7Dsle0HaQHFQCw6P5IoG-vkFTDN_CWVr_90BYf8,529
25
+ shop_system_models/shop_api/commands/response.py,sha256=g-lxfw7WCHfcga94Ydr9sa6TH3SHVEkidK2Gxxdd00s,135
26
+ shop_system_models/shop_api/links.py,sha256=yCYxngJYs_LilktrlRMBjh9Vt8WKzCcn0hO5lfFp67w,1161
27
+ shop_system_models/shop_api/processes/__init__.py,sha256=UuHs4HNOyJBMuXHLotQTkGtKb-rls5XFByWRthKZQtg,50
28
+ shop_system_models/shop_api/processes/request.py,sha256=29UNWdHo0qNa-7oXqBu4rt0Claj5Kzln2M7j6kleCvI,1285
29
+ shop_system_models/shop_api/processes/response.py,sha256=p3HiLF4kNGgkTyv7IKdlNzmlgBHtR0ntjtryiyav7No,257
30
+ shop_system_models/shop_api/shared.py,sha256=JA9JfjIcbWLk1e_uUreOfvgzKmL6vO-cSnBNHicrJ8Q,551
31
+ shop_system_models/shop_api/shop/__init__.py,sha256=KSYT7FPNyRKuxuBq2fNbrIxGosahMQGvPn8cHcFowVw,178
32
+ shop_system_models/shop_api/shop/request/__init__.py,sha256=kFEy1H52PuduvkyKZtFeL-u61eCvYg3SUnzSotYa5g8,300
33
+ shop_system_models/shop_api/shop/request/baskets.py,sha256=pQsnXoekis2_5aZYmktUa5YAp3vCAv5MNpD1wBTtDsM,1123
34
+ shop_system_models/shop_api/shop/request/categories.py,sha256=Z5BTycKC3rQfBP5GI2s3VpxaGxJ3DstfwmJpgF8EVXw,626
35
+ shop_system_models/shop_api/shop/request/coupons.py,sha256=9TigEAUKie8Rdg38llkQ6oSRl3aWzppJd1FvWEllolI,1537
36
+ shop_system_models/shop_api/shop/request/details.py,sha256=feEXf54mdeNtcQS2YSI6fv3W3cCYXaEA5PT-dLgOmL0,1043
37
+ shop_system_models/shop_api/shop/request/orders.py,sha256=2rOZrngpxT-p1M0BBbGszR7IRuRiG7wNe-ig65GwjBI,4530
38
+ shop_system_models/shop_api/shop/request/payment_methods.py,sha256=KnHM0nz9lp3J8vQ36QIra_jEiaF2uEipNnKKYKsFD6g,388
39
+ shop_system_models/shop_api/shop/request/products.py,sha256=LKIxg0OcmD-uGK9DkuCVJzOgqOv3LWmCa2W5c-uX0os,1076
40
+ shop_system_models/shop_api/shop/request/review.py,sha256=jZOaKx2cPymXnd2RjWKnKZZvSHljYDG3VdyPSWAi54o,270
41
+ shop_system_models/shop_api/shop/request/shop.py,sha256=oGr1Fn68Nx7JqNVKKYjNNGB0vfdPMkIl1rCrar9M-Ps,767
42
+ shop_system_models/shop_api/shop/response/__init__.py,sha256=5iSrs2IyHDlQtVnZHxn1FUXkJE82Zg80ECXGPvOUuwE,333
43
+ shop_system_models/shop_api/shop/response/basic.py,sha256=-RzTETvhIaOBR9TGRXGMHznlDtUKqvpBsm5JOtZ_9Nw,87
44
+ shop_system_models/shop_api/shop/response/baskets.py,sha256=Yg2Etwxu-91mpzojO_zI16A2agBD7Bm2mOay1BAH0Bw,860
45
+ shop_system_models/shop_api/shop/response/categories.py,sha256=TCOTNOkFczVjsnUQ_gdTM1JjQVlkav7xce6ZTWWqVOA,851
46
+ shop_system_models/shop_api/shop/response/coupons.py,sha256=bNh4okw0kWBBEPBUyd4h5ZqfXXcdaIUv3ZSYRdsuuYI,433
47
+ shop_system_models/shop_api/shop/response/extra_product_options.py,sha256=YaH4o7fPNwDnkyXABdFXySdx4C3udyFizzqCrvJ4t4c,599
48
+ shop_system_models/shop_api/shop/response/initialization_data.py,sha256=F29pCrajXIA-6xdYzqWudnygLGBIrk4wUUHPqbahWpE,884
49
+ shop_system_models/shop_api/shop/response/orders.py,sha256=FuBRBWTWYhFsYsMbS-PQ-DbssaMSJEzR7jmMHuTF9k4,674
50
+ shop_system_models/shop_api/shop/response/pagination.py,sha256=UrjcwPSoesZpZETori6MlNRNEupbn0OIH3NlfSK4CNE,453
51
+ shop_system_models/shop_api/shop/response/payment_methods.py,sha256=gSb5zU_8LX4x4gtqfC_it1jFxJ7i-XxNNd15ho54VhQ,371
52
+ shop_system_models/shop_api/shop/response/products.py,sha256=_r5ZZwJJe4iYht4yIu266xsm1U_zQeSFkj5P3P6Y9Oo,1275
53
+ shop_system_models/shop_api/shop/response/review.py,sha256=k5jzgS1HinyjbGfR6gnJENB5WufAedsMS77-vZm6fdw,486
54
+ shop_system_models/shop_api/shop/response/users.py,sha256=DdZOTxGxQdxEg1yZi4v4mm8V8O0pV6K7zc6DWylLrMY,141
55
+ shop_system_models-0.0.1.dev26551.dist-info/METADATA,sha256=sx9fl6kNLKgpbdxVaqsReRaAmOCjlLhEoy9hTPSs6F8,978
56
+ shop_system_models-0.0.1.dev26551.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
57
+ shop_system_models-0.0.1.dev26551.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: poetry-core 2.1.2
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any