statuspro-openapi-client 0.1.0__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 (74) hide show
  1. statuspro_openapi_client-0.1.0.dist-info/METADATA +337 -0
  2. statuspro_openapi_client-0.1.0.dist-info/RECORD +74 -0
  3. statuspro_openapi_client-0.1.0.dist-info/WHEEL +4 -0
  4. statuspro_openapi_client-0.1.0.dist-info/entry_points.txt +3 -0
  5. statuspro_openapi_client-0.1.0.dist-info/licenses/LICENSE +21 -0
  6. statuspro_public_api_client/__init__.py +36 -0
  7. statuspro_public_api_client/_logging.py +33 -0
  8. statuspro_public_api_client/api/__init__.py +1 -0
  9. statuspro_public_api_client/api/orders/__init__.py +1 -0
  10. statuspro_public_api_client/api/orders/add_order_comment.py +215 -0
  11. statuspro_public_api_client/api/orders/bulk_update_order_status.py +194 -0
  12. statuspro_public_api_client/api/orders/get_order.py +188 -0
  13. statuspro_public_api_client/api/orders/get_viable_statuses.py +193 -0
  14. statuspro_public_api_client/api/orders/list_orders.py +366 -0
  15. statuspro_public_api_client/api/orders/lookup_order.py +208 -0
  16. statuspro_public_api_client/api/orders/set_order_due_date.py +215 -0
  17. statuspro_public_api_client/api/orders/update_order_status.py +215 -0
  18. statuspro_public_api_client/api/statuses/__init__.py +1 -0
  19. statuspro_public_api_client/api/statuses/get_statuses.py +161 -0
  20. statuspro_public_api_client/api_wrapper/__init__.py +15 -0
  21. statuspro_public_api_client/api_wrapper/_namespace.py +40 -0
  22. statuspro_public_api_client/api_wrapper/_registry.py +43 -0
  23. statuspro_public_api_client/api_wrapper/_resource.py +116 -0
  24. statuspro_public_api_client/client.py +267 -0
  25. statuspro_public_api_client/client_types.py +54 -0
  26. statuspro_public_api_client/domain/__init__.py +33 -0
  27. statuspro_public_api_client/domain/base.py +117 -0
  28. statuspro_public_api_client/domain/converters.py +71 -0
  29. statuspro_public_api_client/domain/order.py +87 -0
  30. statuspro_public_api_client/domain/status.py +30 -0
  31. statuspro_public_api_client/errors.py +16 -0
  32. statuspro_public_api_client/helpers/__init__.py +21 -0
  33. statuspro_public_api_client/helpers/base.py +26 -0
  34. statuspro_public_api_client/helpers/orders.py +78 -0
  35. statuspro_public_api_client/helpers/statuses.py +37 -0
  36. statuspro_public_api_client/log_setup.py +99 -0
  37. statuspro_public_api_client/models/__init__.py +53 -0
  38. statuspro_public_api_client/models/add_order_comment_request.py +68 -0
  39. statuspro_public_api_client/models/bulk_status_update_request.py +124 -0
  40. statuspro_public_api_client/models/bulk_status_update_response.py +72 -0
  41. statuspro_public_api_client/models/customer.py +74 -0
  42. statuspro_public_api_client/models/error_response.py +58 -0
  43. statuspro_public_api_client/models/history_item.py +171 -0
  44. statuspro_public_api_client/models/list_orders_financial_status_item.py +15 -0
  45. statuspro_public_api_client/models/list_orders_fulfillment_status_item.py +11 -0
  46. statuspro_public_api_client/models/locale_translation.py +66 -0
  47. statuspro_public_api_client/models/mail_log.py +82 -0
  48. statuspro_public_api_client/models/message_response.py +58 -0
  49. statuspro_public_api_client/models/order_list_item.py +180 -0
  50. statuspro_public_api_client/models/order_list_meta.py +120 -0
  51. statuspro_public_api_client/models/order_list_response.py +81 -0
  52. statuspro_public_api_client/models/order_response.py +220 -0
  53. statuspro_public_api_client/models/progress_timeline_item.py +93 -0
  54. statuspro_public_api_client/models/set_due_date_request.py +95 -0
  55. statuspro_public_api_client/models/status.py +190 -0
  56. statuspro_public_api_client/models/status_definition.py +82 -0
  57. statuspro_public_api_client/models/status_translations.py +62 -0
  58. statuspro_public_api_client/models/update_order_status_request.py +92 -0
  59. statuspro_public_api_client/models/validation_error_response.py +81 -0
  60. statuspro_public_api_client/models/validation_error_response_errors.py +54 -0
  61. statuspro_public_api_client/models/viable_status.py +82 -0
  62. statuspro_public_api_client/models_pydantic/__init__.py +122 -0
  63. statuspro_public_api_client/models_pydantic/_auto_registry.py +115 -0
  64. statuspro_public_api_client/models_pydantic/_base.py +349 -0
  65. statuspro_public_api_client/models_pydantic/_generated/__init__.py +53 -0
  66. statuspro_public_api_client/models_pydantic/_generated/errors.py +24 -0
  67. statuspro_public_api_client/models_pydantic/_generated/orders.py +136 -0
  68. statuspro_public_api_client/models_pydantic/_generated/statuses.py +25 -0
  69. statuspro_public_api_client/models_pydantic/_registry.py +171 -0
  70. statuspro_public_api_client/models_pydantic/converters.py +184 -0
  71. statuspro_public_api_client/py.typed +1 -0
  72. statuspro_public_api_client/statuspro-openapi.yaml +859 -0
  73. statuspro_public_api_client/statuspro_client.py +1156 -0
  74. statuspro_public_api_client/utils.py +290 -0
@@ -0,0 +1,62 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import TYPE_CHECKING, Any, TypeVar
5
+
6
+ from attrs import (
7
+ define as _attrs_define,
8
+ field as _attrs_field,
9
+ )
10
+
11
+ if TYPE_CHECKING:
12
+ from ..models.locale_translation import LocaleTranslation
13
+
14
+
15
+ T = TypeVar("T", bound="StatusTranslations")
16
+
17
+
18
+ @_attrs_define
19
+ class StatusTranslations:
20
+ additional_properties: dict[str, LocaleTranslation] = _attrs_field(
21
+ init=False, factory=dict
22
+ )
23
+
24
+ def to_dict(self) -> dict[str, Any]:
25
+
26
+ field_dict: dict[str, Any] = {}
27
+ for prop_name, prop in self.additional_properties.items():
28
+ field_dict[prop_name] = prop.to_dict()
29
+
30
+ return field_dict
31
+
32
+ @classmethod
33
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
34
+ from ..models.locale_translation import LocaleTranslation
35
+
36
+ d = dict(src_dict)
37
+ status_translations = cls()
38
+
39
+ additional_properties = {}
40
+ for prop_name, prop_dict in d.items():
41
+ additional_property = LocaleTranslation.from_dict(prop_dict)
42
+
43
+ additional_properties[prop_name] = additional_property
44
+
45
+ status_translations.additional_properties = additional_properties
46
+ return status_translations
47
+
48
+ @property
49
+ def additional_keys(self) -> list[str]:
50
+ return list(self.additional_properties.keys())
51
+
52
+ def __getitem__(self, key: str) -> LocaleTranslation:
53
+ return self.additional_properties[key]
54
+
55
+ def __setitem__(self, key: str, value: LocaleTranslation) -> None:
56
+ self.additional_properties[key] = value
57
+
58
+ def __delitem__(self, key: str) -> None:
59
+ del self.additional_properties[key]
60
+
61
+ def __contains__(self, key: str) -> bool:
62
+ return key in self.additional_properties
@@ -0,0 +1,92 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar
5
+
6
+ from attrs import (
7
+ define as _attrs_define,
8
+ field as _attrs_field,
9
+ )
10
+
11
+ from ..client_types import UNSET, Unset
12
+
13
+ T = TypeVar("T", bound="UpdateOrderStatusRequest")
14
+
15
+
16
+ @_attrs_define
17
+ class UpdateOrderStatusRequest:
18
+ status_code: str
19
+ comment: str | Unset = UNSET
20
+ public: bool | Unset = False
21
+ email_customer: bool | Unset = True
22
+ email_additional: bool | Unset = True
23
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> dict[str, Any]:
26
+ status_code = self.status_code
27
+
28
+ comment = self.comment
29
+
30
+ public = self.public
31
+
32
+ email_customer = self.email_customer
33
+
34
+ email_additional = self.email_additional
35
+
36
+ field_dict: dict[str, Any] = {}
37
+ field_dict.update(self.additional_properties)
38
+ field_dict.update(
39
+ {
40
+ "status_code": status_code,
41
+ }
42
+ )
43
+ if comment is not UNSET:
44
+ field_dict["comment"] = comment
45
+ if public is not UNSET:
46
+ field_dict["public"] = public
47
+ if email_customer is not UNSET:
48
+ field_dict["email_customer"] = email_customer
49
+ if email_additional is not UNSET:
50
+ field_dict["email_additional"] = email_additional
51
+
52
+ return field_dict
53
+
54
+ @classmethod
55
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
56
+ d = dict(src_dict)
57
+ status_code = d.pop("status_code")
58
+
59
+ comment = d.pop("comment", UNSET)
60
+
61
+ public = d.pop("public", UNSET)
62
+
63
+ email_customer = d.pop("email_customer", UNSET)
64
+
65
+ email_additional = d.pop("email_additional", UNSET)
66
+
67
+ update_order_status_request = cls(
68
+ status_code=status_code,
69
+ comment=comment,
70
+ public=public,
71
+ email_customer=email_customer,
72
+ email_additional=email_additional,
73
+ )
74
+
75
+ update_order_status_request.additional_properties = d
76
+ return update_order_status_request
77
+
78
+ @property
79
+ def additional_keys(self) -> list[str]:
80
+ return list(self.additional_properties.keys())
81
+
82
+ def __getitem__(self, key: str) -> Any:
83
+ return self.additional_properties[key]
84
+
85
+ def __setitem__(self, key: str, value: Any) -> None:
86
+ self.additional_properties[key] = value
87
+
88
+ def __delitem__(self, key: str) -> None:
89
+ del self.additional_properties[key]
90
+
91
+ def __contains__(self, key: str) -> bool:
92
+ return key in self.additional_properties
@@ -0,0 +1,81 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import TYPE_CHECKING, Any, TypeVar
5
+
6
+ from attrs import (
7
+ define as _attrs_define,
8
+ field as _attrs_field,
9
+ )
10
+
11
+ from ..client_types import UNSET, Unset
12
+
13
+ if TYPE_CHECKING:
14
+ from ..models.validation_error_response_errors import ValidationErrorResponseErrors
15
+
16
+
17
+ T = TypeVar("T", bound="ValidationErrorResponse")
18
+
19
+
20
+ @_attrs_define
21
+ class ValidationErrorResponse:
22
+ message: str | Unset = UNSET
23
+ errors: ValidationErrorResponseErrors | Unset = UNSET
24
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
25
+
26
+ def to_dict(self) -> dict[str, Any]:
27
+ message = self.message
28
+
29
+ errors: dict[str, Any] | Unset = UNSET
30
+ if not isinstance(self.errors, Unset):
31
+ errors = self.errors.to_dict()
32
+
33
+ field_dict: dict[str, Any] = {}
34
+ field_dict.update(self.additional_properties)
35
+ field_dict.update({})
36
+ if message is not UNSET:
37
+ field_dict["message"] = message
38
+ if errors is not UNSET:
39
+ field_dict["errors"] = errors
40
+
41
+ return field_dict
42
+
43
+ @classmethod
44
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
45
+ from ..models.validation_error_response_errors import (
46
+ ValidationErrorResponseErrors,
47
+ )
48
+
49
+ d = dict(src_dict)
50
+ message = d.pop("message", UNSET)
51
+
52
+ _errors = d.pop("errors", UNSET)
53
+ errors: ValidationErrorResponseErrors | Unset
54
+ if isinstance(_errors, Unset):
55
+ errors = UNSET
56
+ else:
57
+ errors = ValidationErrorResponseErrors.from_dict(_errors)
58
+
59
+ validation_error_response = cls(
60
+ message=message,
61
+ errors=errors,
62
+ )
63
+
64
+ validation_error_response.additional_properties = d
65
+ return validation_error_response
66
+
67
+ @property
68
+ def additional_keys(self) -> list[str]:
69
+ return list(self.additional_properties.keys())
70
+
71
+ def __getitem__(self, key: str) -> Any:
72
+ return self.additional_properties[key]
73
+
74
+ def __setitem__(self, key: str, value: Any) -> None:
75
+ self.additional_properties[key] = value
76
+
77
+ def __delitem__(self, key: str) -> None:
78
+ del self.additional_properties[key]
79
+
80
+ def __contains__(self, key: str) -> bool:
81
+ return key in self.additional_properties
@@ -0,0 +1,54 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar, cast
5
+
6
+ from attrs import (
7
+ define as _attrs_define,
8
+ field as _attrs_field,
9
+ )
10
+
11
+ T = TypeVar("T", bound="ValidationErrorResponseErrors")
12
+
13
+
14
+ @_attrs_define
15
+ class ValidationErrorResponseErrors:
16
+ additional_properties: dict[str, list[str]] = _attrs_field(init=False, factory=dict)
17
+
18
+ def to_dict(self) -> dict[str, Any]:
19
+
20
+ field_dict: dict[str, Any] = {}
21
+ for prop_name, prop in self.additional_properties.items():
22
+ field_dict[prop_name] = prop
23
+
24
+ return field_dict
25
+
26
+ @classmethod
27
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
28
+ d = dict(src_dict)
29
+ validation_error_response_errors = cls()
30
+
31
+ additional_properties = {}
32
+ for prop_name, prop_dict in d.items():
33
+ additional_property = cast(list[str], prop_dict)
34
+
35
+ additional_properties[prop_name] = additional_property
36
+
37
+ validation_error_response_errors.additional_properties = additional_properties
38
+ return validation_error_response_errors
39
+
40
+ @property
41
+ def additional_keys(self) -> list[str]:
42
+ return list(self.additional_properties.keys())
43
+
44
+ def __getitem__(self, key: str) -> list[str]:
45
+ return self.additional_properties[key]
46
+
47
+ def __setitem__(self, key: str, value: list[str]) -> None:
48
+ self.additional_properties[key] = value
49
+
50
+ def __delitem__(self, key: str) -> None:
51
+ del self.additional_properties[key]
52
+
53
+ def __contains__(self, key: str) -> bool:
54
+ return key in self.additional_properties
@@ -0,0 +1,82 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar
5
+
6
+ from attrs import (
7
+ define as _attrs_define,
8
+ field as _attrs_field,
9
+ )
10
+
11
+ from ..client_types import UNSET, Unset
12
+
13
+ T = TypeVar("T", bound="ViableStatus")
14
+
15
+
16
+ @_attrs_define
17
+ class ViableStatus:
18
+ code: str | Unset = UNSET
19
+ name: str | Unset = UNSET
20
+ description: str | Unset = UNSET
21
+ color: str | Unset = UNSET
22
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
23
+
24
+ def to_dict(self) -> dict[str, Any]:
25
+ code = self.code
26
+
27
+ name = self.name
28
+
29
+ description = self.description
30
+
31
+ color = self.color
32
+
33
+ field_dict: dict[str, Any] = {}
34
+ field_dict.update(self.additional_properties)
35
+ field_dict.update({})
36
+ if code is not UNSET:
37
+ field_dict["code"] = code
38
+ if name is not UNSET:
39
+ field_dict["name"] = name
40
+ if description is not UNSET:
41
+ field_dict["description"] = description
42
+ if color is not UNSET:
43
+ field_dict["color"] = color
44
+
45
+ return field_dict
46
+
47
+ @classmethod
48
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
49
+ d = dict(src_dict)
50
+ code = d.pop("code", UNSET)
51
+
52
+ name = d.pop("name", UNSET)
53
+
54
+ description = d.pop("description", UNSET)
55
+
56
+ color = d.pop("color", UNSET)
57
+
58
+ viable_status = cls(
59
+ code=code,
60
+ name=name,
61
+ description=description,
62
+ color=color,
63
+ )
64
+
65
+ viable_status.additional_properties = d
66
+ return viable_status
67
+
68
+ @property
69
+ def additional_keys(self) -> list[str]:
70
+ return list(self.additional_properties.keys())
71
+
72
+ def __getitem__(self, key: str) -> Any:
73
+ return self.additional_properties[key]
74
+
75
+ def __setitem__(self, key: str, value: Any) -> None:
76
+ self.additional_properties[key] = value
77
+
78
+ def __delitem__(self, key: str) -> None:
79
+ del self.additional_properties[key]
80
+
81
+ def __contains__(self, key: str) -> bool:
82
+ return key in self.additional_properties
@@ -0,0 +1,122 @@
1
+ """Pydantic v2 models for StatusPro API.
2
+
3
+ This module provides Pydantic v2 models that mirror the attrs models
4
+ in the main `models/` package. These models offer:
5
+
6
+ - **Strong validation**: Pydantic's validation ensures data integrity
7
+ - **Immutability**: All models are frozen to prevent accidental modification
8
+ - **Serialization**: Easy conversion to/from JSON and dictionaries
9
+ - **IDE support**: Full type hints and autocomplete
10
+
11
+ ## Usage
12
+
13
+ ### Converting from API Responses
14
+
15
+ ```python
16
+ from statuspro_public_api_client import StatusProClient
17
+ from statuspro_public_api_client.api.product import get_all_products
18
+ from statuspro_public_api_client.models_pydantic import Product
19
+ from statuspro_public_api_client.models_pydantic.converters import (
20
+ convert_response,
21
+ )
22
+
23
+ async with StatusProClient() as client:
24
+ response = await get_all_products.asyncio_detailed(client=client)
25
+ products: list[Product] = convert_response(response, Product)
26
+
27
+ for product in products:
28
+ print(f"{product.name}: {product.id}")
29
+ ```
30
+
31
+ ### Converting Individual Objects
32
+
33
+ ```python
34
+ from statuspro_public_api_client.models_pydantic import Product
35
+ from statuspro_public_api_client.models_pydantic.converters import (
36
+ to_pydantic,
37
+ to_attrs,
38
+ )
39
+
40
+ # Convert attrs -> pydantic
41
+ pydantic_product = Product.from_attrs(attrs_product)
42
+
43
+ # Or use the convenience function
44
+ pydantic_product = to_pydantic(attrs_product)
45
+
46
+ # Convert back to attrs for API calls
47
+ attrs_product = pydantic_product.to_attrs()
48
+ ```
49
+
50
+ ## Model Layers
51
+
52
+ This package contains three distinct model layers:
53
+
54
+ 1. **`models/`** (attrs): Auto-generated from OpenAPI, used by API transport
55
+ 2. **`models_pydantic/`** (pydantic): Auto-generated from OpenAPI, user-facing
56
+ 3. **`domain/`** (hand-written): Custom business logic models (e.g., ItemSearchResult)
57
+
58
+ The Pydantic models here are designed for user-facing operations while the attrs
59
+ models handle API communication internally.
60
+ """
61
+
62
+ # Import generated models (populated by generation script)
63
+ # This will be updated by the generate_pydantic_models.py script
64
+ import logging
65
+
66
+ from ._base import StatusProPydanticBase
67
+ from ._registry import (
68
+ get_attrs_class,
69
+ get_attrs_class_by_name,
70
+ get_pydantic_class,
71
+ get_pydantic_class_by_name,
72
+ get_registration_stats,
73
+ is_registered,
74
+ list_registered_models,
75
+ register,
76
+ )
77
+
78
+ _logger = logging.getLogger(__name__)
79
+
80
+ # Try to import generated models
81
+ try:
82
+ from ._generated import * # noqa: F403
83
+
84
+ _GENERATED_MODELS_AVAILABLE = True
85
+ except ImportError as e:
86
+ # Generated models not yet created - this is expected before running
87
+ # the generation script for the first time
88
+ _GENERATED_MODELS_AVAILABLE = False
89
+ _logger.debug(
90
+ "Pydantic models not yet generated. Run 'uv run poe generate-pydantic' "
91
+ "to generate them. Import error: %s",
92
+ e,
93
+ )
94
+
95
+ # Import auto-registration (populated by generation script)
96
+ try:
97
+ from ._auto_registry import register_all_models as _register_all
98
+
99
+ _register_all()
100
+ _REGISTRY_AVAILABLE = True
101
+ except ImportError as e:
102
+ # Auto-registry not yet created - this is expected before generation
103
+ _REGISTRY_AVAILABLE = False
104
+ _logger.debug(
105
+ "Auto-registry not yet generated. Run 'uv run poe generate-pydantic' "
106
+ "to generate it. Import error: %s",
107
+ e,
108
+ )
109
+
110
+ __all__ = [
111
+ # Base class
112
+ "StatusProPydanticBase",
113
+ "get_attrs_class",
114
+ "get_attrs_class_by_name",
115
+ "get_pydantic_class",
116
+ "get_pydantic_class_by_name",
117
+ "get_registration_stats",
118
+ "is_registered",
119
+ "list_registered_models",
120
+ # Registry functions
121
+ "register",
122
+ ]
@@ -0,0 +1,115 @@
1
+ """Auto-generated registry mapping attrs <-> Pydantic model classes.
2
+
3
+ DO NOT EDIT - This file is generated by scripts/generate_pydantic_models.py
4
+
5
+ To regenerate, run:
6
+ uv run poe generate-pydantic
7
+ """
8
+
9
+ # Import all model classes
10
+ from statuspro_public_api_client.models.add_order_comment_request import (
11
+ AddOrderCommentRequest as AttrsAddOrderCommentRequest,
12
+ )
13
+ from statuspro_public_api_client.models.bulk_status_update_request import (
14
+ BulkStatusUpdateRequest as AttrsBulkStatusUpdateRequest,
15
+ )
16
+ from statuspro_public_api_client.models.bulk_status_update_response import (
17
+ BulkStatusUpdateResponse as AttrsBulkStatusUpdateResponse,
18
+ )
19
+ from statuspro_public_api_client.models.customer import Customer as AttrsCustomer
20
+ from statuspro_public_api_client.models.error_response import (
21
+ ErrorResponse as AttrsErrorResponse,
22
+ )
23
+ from statuspro_public_api_client.models.history_item import (
24
+ HistoryItem as AttrsHistoryItem,
25
+ )
26
+ from statuspro_public_api_client.models.locale_translation import (
27
+ LocaleTranslation as AttrsLocaleTranslation,
28
+ )
29
+ from statuspro_public_api_client.models.mail_log import MailLog as AttrsMailLog
30
+ from statuspro_public_api_client.models.message_response import (
31
+ MessageResponse as AttrsMessageResponse,
32
+ )
33
+ from statuspro_public_api_client.models.order_list_item import (
34
+ OrderListItem as AttrsOrderListItem,
35
+ )
36
+ from statuspro_public_api_client.models.order_list_meta import (
37
+ OrderListMeta as AttrsOrderListMeta,
38
+ )
39
+ from statuspro_public_api_client.models.order_list_response import (
40
+ OrderListResponse as AttrsOrderListResponse,
41
+ )
42
+ from statuspro_public_api_client.models.order_response import (
43
+ OrderResponse as AttrsOrderResponse,
44
+ )
45
+ from statuspro_public_api_client.models.progress_timeline_item import (
46
+ ProgressTimelineItem as AttrsProgressTimelineItem,
47
+ )
48
+ from statuspro_public_api_client.models.set_due_date_request import (
49
+ SetDueDateRequest as AttrsSetDueDateRequest,
50
+ )
51
+ from statuspro_public_api_client.models.status import Status as AttrsStatus
52
+ from statuspro_public_api_client.models.status_definition import (
53
+ StatusDefinition as AttrsStatusDefinition,
54
+ )
55
+ from statuspro_public_api_client.models.update_order_status_request import (
56
+ UpdateOrderStatusRequest as AttrsUpdateOrderStatusRequest,
57
+ )
58
+ from statuspro_public_api_client.models.validation_error_response import (
59
+ ValidationErrorResponse as AttrsValidationErrorResponse,
60
+ )
61
+ from statuspro_public_api_client.models.viable_status import (
62
+ ViableStatus as AttrsViableStatus,
63
+ )
64
+
65
+ from ._generated.errors import (
66
+ ErrorResponse as PydanticErrorResponse,
67
+ MessageResponse as PydanticMessageResponse,
68
+ ValidationErrorResponse as PydanticValidationErrorResponse,
69
+ )
70
+ from ._generated.orders import (
71
+ AddOrderCommentRequest as PydanticAddOrderCommentRequest,
72
+ BulkStatusUpdateRequest as PydanticBulkStatusUpdateRequest,
73
+ BulkStatusUpdateResponse as PydanticBulkStatusUpdateResponse,
74
+ Customer as PydanticCustomer,
75
+ HistoryItem as PydanticHistoryItem,
76
+ LocaleTranslation as PydanticLocaleTranslation,
77
+ MailLog as PydanticMailLog,
78
+ OrderListItem as PydanticOrderListItem,
79
+ OrderListMeta as PydanticOrderListMeta,
80
+ OrderListResponse as PydanticOrderListResponse,
81
+ OrderResponse as PydanticOrderResponse,
82
+ ProgressTimelineItem as PydanticProgressTimelineItem,
83
+ SetDueDateRequest as PydanticSetDueDateRequest,
84
+ Status as PydanticStatus,
85
+ UpdateOrderStatusRequest as PydanticUpdateOrderStatusRequest,
86
+ )
87
+ from ._generated.statuses import (
88
+ StatusDefinition as PydanticStatusDefinition,
89
+ ViableStatus as PydanticViableStatus,
90
+ )
91
+ from ._registry import register
92
+
93
+
94
+ def register_all_models() -> None:
95
+ """Register all attrs <-> Pydantic model mappings."""
96
+ register(AttrsAddOrderCommentRequest, PydanticAddOrderCommentRequest)
97
+ register(AttrsBulkStatusUpdateRequest, PydanticBulkStatusUpdateRequest)
98
+ register(AttrsBulkStatusUpdateResponse, PydanticBulkStatusUpdateResponse)
99
+ register(AttrsCustomer, PydanticCustomer)
100
+ register(AttrsErrorResponse, PydanticErrorResponse)
101
+ register(AttrsHistoryItem, PydanticHistoryItem)
102
+ register(AttrsLocaleTranslation, PydanticLocaleTranslation)
103
+ register(AttrsMailLog, PydanticMailLog)
104
+ register(AttrsMessageResponse, PydanticMessageResponse)
105
+ register(AttrsOrderListItem, PydanticOrderListItem)
106
+ register(AttrsOrderListMeta, PydanticOrderListMeta)
107
+ register(AttrsOrderListResponse, PydanticOrderListResponse)
108
+ register(AttrsOrderResponse, PydanticOrderResponse)
109
+ register(AttrsProgressTimelineItem, PydanticProgressTimelineItem)
110
+ register(AttrsSetDueDateRequest, PydanticSetDueDateRequest)
111
+ register(AttrsStatus, PydanticStatus)
112
+ register(AttrsStatusDefinition, PydanticStatusDefinition)
113
+ register(AttrsUpdateOrderStatusRequest, PydanticUpdateOrderStatusRequest)
114
+ register(AttrsValidationErrorResponse, PydanticValidationErrorResponse)
115
+ register(AttrsViableStatus, PydanticViableStatus)