idi-manageorders-sdk 0.7.0__tar.gz → 0.8.0__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.
Files changed (24) hide show
  1. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/PKG-INFO +1 -1
  2. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/docs/source/changelog.rst +3 -0
  3. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/pyproject.toml +1 -1
  4. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/src/manageorders_sdk/models.py +10 -10
  5. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/uv.lock +1 -1
  6. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/.devcontainer/devcontainer-lock.json +0 -0
  7. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/.devcontainer/devcontainer.json +0 -0
  8. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/.github/dependabot.yaml +0 -0
  9. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/.github/workflows/dependency-review.yaml +0 -0
  10. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/.github/workflows/python-ci.yaml +0 -0
  11. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/.github/workflows/python-publish-pypi.yaml +0 -0
  12. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/.gitignore +0 -0
  13. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/.pre-commit-config.yaml +0 -0
  14. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/LICENSE +0 -0
  15. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/README.md +0 -0
  16. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/docs/Makefile +0 -0
  17. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/docs/source/conf.py +0 -0
  18. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/docs/source/index.rst +0 -0
  19. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/noxfile.py +0 -0
  20. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/src/manageorders_sdk/__init__.py +0 -0
  21. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/src/manageorders_sdk/client.py +0 -0
  22. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/src/manageorders_sdk/py.typed +0 -0
  23. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/tests/__init__.py +0 -0
  24. {idi_manageorders_sdk-0.7.0 → idi_manageorders_sdk-0.8.0}/tests/test_client.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: idi-manageorders-sdk
3
- Version: 0.7.0
3
+ Version: 0.8.0
4
4
  Summary: ShopWorks ManageOrders API SDK
5
5
  Project-URL: repository, https://github.com/impressdesigns/manageorders-sdk/
6
6
  Project-URL: documentation, https://impressdesigns.dev/manageorders-sdk/
@@ -1,6 +1,9 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ - :release:`0.8.0 <27th June 2025>`
5
+ - :feature:`-` Make date fields actual date types
6
+
4
7
  - :release:`0.7.0 <18th June 2025>`
5
8
  - :feature:`-` Add support for uploading tracking data
6
9
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "idi-manageorders-sdk"
3
- version = "0.7.0"
3
+ version = "0.8.0"
4
4
  description = "ShopWorks ManageOrders API SDK"
5
5
  authors = [
6
6
  { name = "Bradley Reynolds", email = "bradley.reynolds@impressdesigns.com" },
@@ -1,11 +1,11 @@
1
1
  """Models."""
2
2
 
3
3
  from datetime import date
4
- from typing import Literal
4
+ from typing import Annotated, Literal
5
5
 
6
- from pydantic import BaseModel, Field, FieldSerializationInfo, field_serializer
6
+ from pydantic import BaseModel, Field, FieldSerializationInfo, PlainSerializer, field_serializer
7
7
 
8
- DATE_REGEX = "[0-9]{2}/[0-9]{2}/[0-9]{4}|[0-9]{2}"
8
+ Date = Annotated[date, PlainSerializer(lambda value: value.strftime(r"%m/%d/%Y"))]
9
9
 
10
10
 
11
11
  class Customer(BaseModel):
@@ -20,10 +20,10 @@ class Customer(BaseModel):
20
20
  tax_exempt: Literal[0, 1] | None = Field(None, serialization_alias="TaxExempt")
21
21
  tax_exempt_number: str | None = Field(None, serialization_alias="TaxExemptNumber")
22
22
  website: str | None = Field(None, serialization_alias="WebSite")
23
- custom_date_field_1: str | None = Field(None, pattern=DATE_REGEX, serialization_alias="CustomDateField01")
24
- custom_date_field_2: str | None = Field(None, pattern=DATE_REGEX, serialization_alias="CustomDateField02")
25
- custom_date_field_3: str | None = Field(None, pattern=DATE_REGEX, serialization_alias="CustomDateField03")
26
- custom_date_field_4: str | None = Field(None, pattern=DATE_REGEX, serialization_alias="CustomDateField04")
23
+ custom_date_field_1: Date | None = Field(None, serialization_alias="CustomDateField01")
24
+ custom_date_field_2: Date | None = Field(None, serialization_alias="CustomDateField02")
25
+ custom_date_field_3: Date | None = Field(None, serialization_alias="CustomDateField03")
26
+ custom_date_field_4: Date | None = Field(None, serialization_alias="CustomDateField04")
27
27
  custom_field_1: str | None = Field(None, serialization_alias="CustomField01")
28
28
  custom_field_2: str | None = Field(None, serialization_alias="CustomField02")
29
29
  custom_field_3: str | None = Field(None, serialization_alias="CustomField03")
@@ -184,9 +184,9 @@ class Order(BaseModel):
184
184
  external_source: str = Field(serialization_alias="ExtSource")
185
185
  external_customer_id: str | None = Field(None, serialization_alias="ExtCustomerID")
186
186
  external_customer_pref: str | None = Field(None, serialization_alias="ExtCustomerPref")
187
- date_order_placed: str | None = Field(None, pattern=DATE_REGEX, serialization_alias="date_OrderPlaced")
188
- date_order_requested_to_ship: str | None = Field(None, pattern=DATE_REGEX, serialization_alias="date_OrderRequestedToShip")
189
- date_order_drop_dead: str | None = Field(None, pattern=DATE_REGEX, serialization_alias="date_OrderDropDead")
187
+ date_order_placed: Date | None = Field(None, serialization_alias="date_OrderPlaced")
188
+ date_order_requested_to_ship: Date | None = Field(None, serialization_alias="date_OrderRequestedToShip")
189
+ date_order_drop_dead: Date | None = Field(None, serialization_alias="date_OrderDropDead")
190
190
  order_type_id: int | None = Field(None, serialization_alias="id_OrderType")
191
191
  sales_status_id: int | None = Field(None, serialization_alias="id_SalesStatus")
192
192
  employee_created_by: int | None = Field(None, serialization_alias="id_EmpCreatedBy")
@@ -369,7 +369,7 @@ wheels = [
369
369
 
370
370
  [[package]]
371
371
  name = "idi-manageorders-sdk"
372
- version = "0.7.0"
372
+ version = "0.8.0"
373
373
  source = { editable = "." }
374
374
  dependencies = [
375
375
  { name = "httpx" },