convexity-api-client 0.21.0.dev332__py3-none-any.whl → 0.21.0.dev336__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 (140) hide show
  1. convexity_api_client/api/v1/crm_create_sales_rep.py +186 -0
  2. convexity_api_client/api/v1/crm_delete_sales_rep.py +182 -0
  3. convexity_api_client/api/v1/crm_get_sales_rep.py +182 -0
  4. convexity_api_client/api/v1/crm_list_sales_reps.py +236 -0
  5. convexity_api_client/api/v1/crm_update_sales_rep.py +202 -0
  6. convexity_api_client/api/v1/inventory_assign_item_warehouse_location.py +206 -0
  7. convexity_api_client/api/v1/inventory_create_cost_list_vendor_assignment.py +202 -0
  8. convexity_api_client/api/v1/inventory_create_price_list_channel_assignment.py +202 -0
  9. convexity_api_client/api/v1/inventory_create_price_list_customer_assignment.py +202 -0
  10. convexity_api_client/api/v1/inventory_delete_cost_list_vendor_assignment.py +196 -0
  11. convexity_api_client/api/v1/inventory_delete_price_list_channel_assignment.py +196 -0
  12. convexity_api_client/api/v1/inventory_delete_price_list_customer_assignment.py +196 -0
  13. convexity_api_client/api/v1/inventory_list_cost_list_vendor_assignments.py +202 -0
  14. convexity_api_client/api/v1/inventory_list_item_cost_list_entries.py +182 -0
  15. convexity_api_client/api/v1/inventory_list_item_price_list_entries.py +182 -0
  16. convexity_api_client/api/v1/inventory_list_item_warehouse_locations.py +212 -0
  17. convexity_api_client/api/v1/inventory_list_price_list_channel_assignments.py +202 -0
  18. convexity_api_client/api/v1/inventory_list_price_list_customer_assignments.py +202 -0
  19. convexity_api_client/api/v1/inventory_list_warehouse_location_items.py +226 -0
  20. convexity_api_client/api/v1/inventory_update_cost_list_vendor_assignment.py +216 -0
  21. convexity_api_client/api/v1/inventory_update_price_list_channel_assignment.py +216 -0
  22. convexity_api_client/api/v1/inventory_update_price_list_customer_assignment.py +216 -0
  23. convexity_api_client/api/v1/purchasing_create_item_sourcing.py +190 -0
  24. convexity_api_client/api/v1/purchasing_deactivate_item_sourcing.py +182 -0
  25. convexity_api_client/api/v1/purchasing_get_item_sourcing_options.py +166 -0
  26. convexity_api_client/api/v1/purchasing_list_item_sourcing.py +382 -0
  27. convexity_api_client/api/v1/purchasing_update_item_sourcing.py +202 -0
  28. convexity_api_client/api/v1/purchasing_upsert_item_sourcing_cost.py +206 -0
  29. convexity_api_client/api/v1/sales_list_orders.py +20 -0
  30. convexity_api_client/api/v1/warehouse_workflow_cancel_pick_pack_ship.py +182 -0
  31. convexity_api_client/api/v1/warehouse_workflow_complete_pick_pack_ship_pack.py +202 -0
  32. convexity_api_client/api/v1/warehouse_workflow_complete_pick_pack_ship_pick.py +202 -0
  33. convexity_api_client/api/v1/warehouse_workflow_create_pick_pack_ship.py +186 -0
  34. convexity_api_client/api/v1/warehouse_workflow_generate_pick_pack_ship_pdf.py +188 -0
  35. convexity_api_client/api/v1/warehouse_workflow_get_pick_pack_ship.py +182 -0
  36. convexity_api_client/api/v1/warehouse_workflow_mark_pick_pack_ship_shipped.py +202 -0
  37. convexity_api_client/api/v1/warehouse_workflow_save_pick_pack_ship_shipment.py +202 -0
  38. convexity_api_client/models/__init__.py +134 -0
  39. convexity_api_client/models/adjust_stock_request.py +20 -8
  40. convexity_api_client/models/assign_inventory_item_location_request.py +108 -0
  41. convexity_api_client/models/assign_inventory_item_location_request_ext_data_type_0.py +47 -0
  42. convexity_api_client/models/bulk_upsert_customer_payload.py +20 -0
  43. convexity_api_client/models/bulk_upsert_sales_order_payload.py +40 -0
  44. convexity_api_client/models/complete_pick_pack_ship_pack_request.py +75 -0
  45. convexity_api_client/models/complete_pick_pack_ship_request.py +97 -0
  46. convexity_api_client/models/cost_list_entry_response.py +77 -0
  47. convexity_api_client/models/cost_list_vendor_assignment_response.py +149 -0
  48. convexity_api_client/models/cost_list_vendor_assignment_response_ext_data_type_0.py +47 -0
  49. convexity_api_client/models/cost_rule.py +53 -0
  50. convexity_api_client/models/cost_rule_response.py +22 -0
  51. convexity_api_client/models/cost_source_type.py +9 -0
  52. convexity_api_client/models/create_cost_list_request.py +4 -5
  53. convexity_api_client/models/create_cost_list_vendor_assignment_request.py +116 -0
  54. convexity_api_client/models/create_cost_list_vendor_assignment_request_ext_data_type_0.py +47 -0
  55. convexity_api_client/models/create_customer_request.py +20 -0
  56. convexity_api_client/models/create_item_sourcing_request.py +256 -0
  57. convexity_api_client/models/create_item_sourcing_request_ext_data_type_0.py +47 -0
  58. convexity_api_client/models/create_pick_pack_ship_request.py +153 -0
  59. convexity_api_client/models/create_price_list_channel_assignment_request.py +116 -0
  60. convexity_api_client/models/create_price_list_channel_assignment_request_ext_data_type_0.py +47 -0
  61. convexity_api_client/models/create_price_list_customer_assignment_request.py +116 -0
  62. convexity_api_client/models/create_price_list_customer_assignment_request_ext_data_type_0.py +47 -0
  63. convexity_api_client/models/create_price_list_request.py +4 -5
  64. convexity_api_client/models/create_sales_order_line_request.py +40 -8
  65. convexity_api_client/models/create_sales_order_request.py +40 -0
  66. convexity_api_client/models/create_sales_rep_request.py +181 -0
  67. convexity_api_client/models/create_sales_rep_request_ext_data_type_0.py +47 -0
  68. convexity_api_client/models/customer.py +53 -0
  69. convexity_api_client/models/customer_response.py +14 -0
  70. convexity_api_client/models/inventory_config.py +53 -0
  71. convexity_api_client/models/inventory_config_response.py +28 -0
  72. convexity_api_client/models/inventory_item.py +43 -0
  73. convexity_api_client/models/inventory_item_location.py +237 -0
  74. convexity_api_client/models/inventory_item_location_assignment_response.py +150 -0
  75. convexity_api_client/models/inventory_item_location_assignment_response_ext_data_type_0.py +47 -0
  76. convexity_api_client/models/inventory_item_type.py +0 -1
  77. convexity_api_client/models/item_sourcing.py +41 -0
  78. convexity_api_client/models/item_sourcing_item_option.py +107 -0
  79. convexity_api_client/models/item_sourcing_options_response.py +120 -0
  80. convexity_api_client/models/item_sourcing_response.py +360 -0
  81. convexity_api_client/models/item_sourcing_response_ext_data_type_0.py +47 -0
  82. convexity_api_client/models/item_sourcing_uom_option.py +77 -0
  83. convexity_api_client/models/item_sourcing_vendor_option.py +77 -0
  84. convexity_api_client/models/item_warehouse_location_response.py +248 -0
  85. convexity_api_client/models/list_cost_list_entries_response.py +83 -0
  86. convexity_api_client/models/list_cost_list_vendor_assignments_response.py +83 -0
  87. convexity_api_client/models/list_item_sourcing_response.py +83 -0
  88. convexity_api_client/models/list_item_warehouse_locations_response.py +83 -0
  89. convexity_api_client/models/list_price_list_channel_assignments_response.py +83 -0
  90. convexity_api_client/models/list_price_list_customer_assignments_response.py +83 -0
  91. convexity_api_client/models/list_price_list_entries_response.py +83 -0
  92. convexity_api_client/models/list_sales_reps_response.py +83 -0
  93. convexity_api_client/models/list_warehouse_location_items_response.py +83 -0
  94. convexity_api_client/models/mark_pick_pack_ship_shipped_request.py +84 -0
  95. convexity_api_client/models/pick_pack_ship_line_request.py +100 -0
  96. convexity_api_client/models/pick_pack_ship_packed_line_request.py +111 -0
  97. convexity_api_client/models/pick_pack_ship_picked_line_request.py +91 -0
  98. convexity_api_client/models/pick_pack_ship_response.py +111 -0
  99. convexity_api_client/models/price_list.py +41 -0
  100. convexity_api_client/models/price_list_channel_assignment_response.py +149 -0
  101. convexity_api_client/models/price_list_channel_assignment_response_ext_data_type_0.py +47 -0
  102. convexity_api_client/models/price_list_customer_assignment_response.py +149 -0
  103. convexity_api_client/models/price_list_customer_assignment_response_ext_data_type_0.py +47 -0
  104. convexity_api_client/models/price_list_entry_response.py +77 -0
  105. convexity_api_client/models/price_source_type.py +9 -0
  106. convexity_api_client/models/project.py +43 -0
  107. convexity_api_client/models/purchase_order_line.py +101 -0
  108. convexity_api_client/models/purchase_order_line_request.py +20 -8
  109. convexity_api_client/models/purchase_order_line_response.py +103 -0
  110. convexity_api_client/models/purchasing_list_item_sourcing_filter_operator_type_0.py +19 -0
  111. convexity_api_client/models/purchasing_list_item_sourcing_sort_direction_type_0.py +9 -0
  112. convexity_api_client/models/resolve_cost_response.py +22 -0
  113. convexity_api_client/models/resolve_price_response.py +20 -0
  114. convexity_api_client/models/sales_invoice_line.py +121 -0
  115. convexity_api_client/models/sales_invoice_line_request.py +40 -8
  116. convexity_api_client/models/sales_invoice_line_response.py +121 -0
  117. convexity_api_client/models/sales_order.py +73 -0
  118. convexity_api_client/models/sales_order_line.py +121 -0
  119. convexity_api_client/models/sales_order_line_response.py +123 -0
  120. convexity_api_client/models/sales_order_response.py +28 -0
  121. convexity_api_client/models/sales_rep.py +279 -0
  122. convexity_api_client/models/sales_rep_response.py +185 -0
  123. convexity_api_client/models/sales_rep_response_ext_data_type_0.py +47 -0
  124. convexity_api_client/models/save_pick_pack_ship_shipment_request.py +163 -0
  125. convexity_api_client/models/stock_balance.py +20 -8
  126. convexity_api_client/models/update_customer_request.py +20 -0
  127. convexity_api_client/models/update_item_sourcing_request.py +312 -0
  128. convexity_api_client/models/update_item_sourcing_request_ext_data_type_0.py +47 -0
  129. convexity_api_client/models/update_list_assignment_request.py +111 -0
  130. convexity_api_client/models/update_list_assignment_request_ext_data_type_0.py +47 -0
  131. convexity_api_client/models/update_sales_order_request.py +40 -0
  132. convexity_api_client/models/update_sales_rep_request.py +211 -0
  133. convexity_api_client/models/update_sales_rep_request_ext_data_type_0.py +47 -0
  134. convexity_api_client/models/upsert_inventory_config_request.py +40 -0
  135. convexity_api_client/models/upsert_item_sourcing_cost_request.py +62 -0
  136. convexity_api_client/models/warehouse_location.py +43 -0
  137. convexity_api_client/models/warehouse_location_item_response.py +160 -0
  138. {convexity_api_client-0.21.0.dev332.dist-info → convexity_api_client-0.21.0.dev336.dist-info}/METADATA +1 -1
  139. {convexity_api_client-0.21.0.dev332.dist-info → convexity_api_client-0.21.0.dev336.dist-info}/RECORD +140 -41
  140. {convexity_api_client-0.21.0.dev332.dist-info → convexity_api_client-0.21.0.dev336.dist-info}/WHEEL +1 -1
@@ -0,0 +1,188 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, cast
3
+ from urllib.parse import quote
4
+
5
+ import httpx
6
+
7
+ from ... import errors
8
+ from ...client import AuthenticatedClient, Client
9
+ from ...models.http_validation_error import HTTPValidationError
10
+ from ...types import UNSET, Response
11
+
12
+
13
+ def _get_kwargs(
14
+ packing_slip_id: str,
15
+ *,
16
+ project_id: str,
17
+ ) -> dict[str, Any]:
18
+
19
+ params: dict[str, Any] = {}
20
+
21
+ params["projectId"] = project_id
22
+
23
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
24
+
25
+ _kwargs: dict[str, Any] = {
26
+ "method": "post",
27
+ "url": "/v1/apps/inventory/warehouse-workflow/pick-pack-ship/{packing_slip_id}/pdf".format(
28
+ packing_slip_id=quote(str(packing_slip_id), safe=""),
29
+ ),
30
+ "params": params,
31
+ }
32
+
33
+ return _kwargs
34
+
35
+
36
+ def _parse_response(
37
+ *, client: AuthenticatedClient | Client, response: httpx.Response
38
+ ) -> Any | HTTPValidationError | None:
39
+ if response.status_code == 200:
40
+ response_200 = cast(Any, None)
41
+ return response_200
42
+
43
+ if response.status_code == 422:
44
+ response_422 = HTTPValidationError.from_dict(response.json())
45
+
46
+ return response_422
47
+
48
+ if client.raise_on_unexpected_status:
49
+ raise errors.UnexpectedStatus(response.status_code, response.content)
50
+ else:
51
+ return None
52
+
53
+
54
+ def _build_response(
55
+ *, client: AuthenticatedClient | Client, response: httpx.Response
56
+ ) -> Response[Any | HTTPValidationError]:
57
+ return Response(
58
+ status_code=HTTPStatus(response.status_code),
59
+ content=response.content,
60
+ headers=response.headers,
61
+ parsed=_parse_response(client=client, response=response),
62
+ )
63
+
64
+
65
+ def sync_detailed(
66
+ packing_slip_id: str,
67
+ *,
68
+ client: AuthenticatedClient | Client,
69
+ project_id: str,
70
+ ) -> Response[Any | HTTPValidationError]:
71
+ """Generate Pick Pack Ship Pdf
72
+
73
+ Generate a customer-safe PDF from persisted packing-slip data only.
74
+
75
+ Args:
76
+ packing_slip_id (str):
77
+ project_id (str):
78
+
79
+ Raises:
80
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
81
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
82
+
83
+ Returns:
84
+ Response[Any | HTTPValidationError]
85
+ """
86
+
87
+ kwargs = _get_kwargs(
88
+ packing_slip_id=packing_slip_id,
89
+ project_id=project_id,
90
+ )
91
+
92
+ response = client.get_httpx_client().request(
93
+ **kwargs,
94
+ )
95
+
96
+ return _build_response(client=client, response=response)
97
+
98
+
99
+ def sync(
100
+ packing_slip_id: str,
101
+ *,
102
+ client: AuthenticatedClient | Client,
103
+ project_id: str,
104
+ ) -> Any | HTTPValidationError | None:
105
+ """Generate Pick Pack Ship Pdf
106
+
107
+ Generate a customer-safe PDF from persisted packing-slip data only.
108
+
109
+ Args:
110
+ packing_slip_id (str):
111
+ project_id (str):
112
+
113
+ Raises:
114
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
115
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
116
+
117
+ Returns:
118
+ Any | HTTPValidationError
119
+ """
120
+
121
+ return sync_detailed(
122
+ packing_slip_id=packing_slip_id,
123
+ client=client,
124
+ project_id=project_id,
125
+ ).parsed
126
+
127
+
128
+ async def asyncio_detailed(
129
+ packing_slip_id: str,
130
+ *,
131
+ client: AuthenticatedClient | Client,
132
+ project_id: str,
133
+ ) -> Response[Any | HTTPValidationError]:
134
+ """Generate Pick Pack Ship Pdf
135
+
136
+ Generate a customer-safe PDF from persisted packing-slip data only.
137
+
138
+ Args:
139
+ packing_slip_id (str):
140
+ project_id (str):
141
+
142
+ Raises:
143
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
144
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
145
+
146
+ Returns:
147
+ Response[Any | HTTPValidationError]
148
+ """
149
+
150
+ kwargs = _get_kwargs(
151
+ packing_slip_id=packing_slip_id,
152
+ project_id=project_id,
153
+ )
154
+
155
+ response = await client.get_async_httpx_client().request(**kwargs)
156
+
157
+ return _build_response(client=client, response=response)
158
+
159
+
160
+ async def asyncio(
161
+ packing_slip_id: str,
162
+ *,
163
+ client: AuthenticatedClient | Client,
164
+ project_id: str,
165
+ ) -> Any | HTTPValidationError | None:
166
+ """Generate Pick Pack Ship Pdf
167
+
168
+ Generate a customer-safe PDF from persisted packing-slip data only.
169
+
170
+ Args:
171
+ packing_slip_id (str):
172
+ project_id (str):
173
+
174
+ Raises:
175
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
176
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
177
+
178
+ Returns:
179
+ Any | HTTPValidationError
180
+ """
181
+
182
+ return (
183
+ await asyncio_detailed(
184
+ packing_slip_id=packing_slip_id,
185
+ client=client,
186
+ project_id=project_id,
187
+ )
188
+ ).parsed
@@ -0,0 +1,182 @@
1
+ from http import HTTPStatus
2
+ from typing import Any
3
+ from urllib.parse import quote
4
+
5
+ import httpx
6
+
7
+ from ... import errors
8
+ from ...client import AuthenticatedClient, Client
9
+ from ...models.http_validation_error import HTTPValidationError
10
+ from ...models.pick_pack_ship_response import PickPackShipResponse
11
+ from ...types import UNSET, Response
12
+
13
+
14
+ def _get_kwargs(
15
+ packing_slip_id: str,
16
+ *,
17
+ project_id: str,
18
+ ) -> dict[str, Any]:
19
+
20
+ params: dict[str, Any] = {}
21
+
22
+ params["projectId"] = project_id
23
+
24
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
25
+
26
+ _kwargs: dict[str, Any] = {
27
+ "method": "get",
28
+ "url": "/v1/apps/inventory/warehouse-workflow/pick-pack-ship/{packing_slip_id}".format(
29
+ packing_slip_id=quote(str(packing_slip_id), safe=""),
30
+ ),
31
+ "params": params,
32
+ }
33
+
34
+ return _kwargs
35
+
36
+
37
+ def _parse_response(
38
+ *, client: AuthenticatedClient | Client, response: httpx.Response
39
+ ) -> HTTPValidationError | PickPackShipResponse | None:
40
+ if response.status_code == 200:
41
+ response_200 = PickPackShipResponse.from_dict(response.json())
42
+
43
+ return response_200
44
+
45
+ if response.status_code == 422:
46
+ response_422 = HTTPValidationError.from_dict(response.json())
47
+
48
+ return response_422
49
+
50
+ if client.raise_on_unexpected_status:
51
+ raise errors.UnexpectedStatus(response.status_code, response.content)
52
+ else:
53
+ return None
54
+
55
+
56
+ def _build_response(
57
+ *, client: AuthenticatedClient | Client, response: httpx.Response
58
+ ) -> Response[HTTPValidationError | PickPackShipResponse]:
59
+ return Response(
60
+ status_code=HTTPStatus(response.status_code),
61
+ content=response.content,
62
+ headers=response.headers,
63
+ parsed=_parse_response(client=client, response=response),
64
+ )
65
+
66
+
67
+ def sync_detailed(
68
+ packing_slip_id: str,
69
+ *,
70
+ client: AuthenticatedClient | Client,
71
+ project_id: str,
72
+ ) -> Response[HTTPValidationError | PickPackShipResponse]:
73
+ """Get Pick Pack Ship
74
+
75
+ Args:
76
+ packing_slip_id (str):
77
+ project_id (str):
78
+
79
+ Raises:
80
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
81
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
82
+
83
+ Returns:
84
+ Response[HTTPValidationError | PickPackShipResponse]
85
+ """
86
+
87
+ kwargs = _get_kwargs(
88
+ packing_slip_id=packing_slip_id,
89
+ project_id=project_id,
90
+ )
91
+
92
+ response = client.get_httpx_client().request(
93
+ **kwargs,
94
+ )
95
+
96
+ return _build_response(client=client, response=response)
97
+
98
+
99
+ def sync(
100
+ packing_slip_id: str,
101
+ *,
102
+ client: AuthenticatedClient | Client,
103
+ project_id: str,
104
+ ) -> HTTPValidationError | PickPackShipResponse | None:
105
+ """Get Pick Pack Ship
106
+
107
+ Args:
108
+ packing_slip_id (str):
109
+ project_id (str):
110
+
111
+ Raises:
112
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
113
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
114
+
115
+ Returns:
116
+ HTTPValidationError | PickPackShipResponse
117
+ """
118
+
119
+ return sync_detailed(
120
+ packing_slip_id=packing_slip_id,
121
+ client=client,
122
+ project_id=project_id,
123
+ ).parsed
124
+
125
+
126
+ async def asyncio_detailed(
127
+ packing_slip_id: str,
128
+ *,
129
+ client: AuthenticatedClient | Client,
130
+ project_id: str,
131
+ ) -> Response[HTTPValidationError | PickPackShipResponse]:
132
+ """Get Pick Pack Ship
133
+
134
+ Args:
135
+ packing_slip_id (str):
136
+ project_id (str):
137
+
138
+ Raises:
139
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
140
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
141
+
142
+ Returns:
143
+ Response[HTTPValidationError | PickPackShipResponse]
144
+ """
145
+
146
+ kwargs = _get_kwargs(
147
+ packing_slip_id=packing_slip_id,
148
+ project_id=project_id,
149
+ )
150
+
151
+ response = await client.get_async_httpx_client().request(**kwargs)
152
+
153
+ return _build_response(client=client, response=response)
154
+
155
+
156
+ async def asyncio(
157
+ packing_slip_id: str,
158
+ *,
159
+ client: AuthenticatedClient | Client,
160
+ project_id: str,
161
+ ) -> HTTPValidationError | PickPackShipResponse | None:
162
+ """Get Pick Pack Ship
163
+
164
+ Args:
165
+ packing_slip_id (str):
166
+ project_id (str):
167
+
168
+ Raises:
169
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
170
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
171
+
172
+ Returns:
173
+ HTTPValidationError | PickPackShipResponse
174
+ """
175
+
176
+ return (
177
+ await asyncio_detailed(
178
+ packing_slip_id=packing_slip_id,
179
+ client=client,
180
+ project_id=project_id,
181
+ )
182
+ ).parsed
@@ -0,0 +1,202 @@
1
+ from http import HTTPStatus
2
+ from typing import Any
3
+ from urllib.parse import quote
4
+
5
+ import httpx
6
+
7
+ from ... import errors
8
+ from ...client import AuthenticatedClient, Client
9
+ from ...models.http_validation_error import HTTPValidationError
10
+ from ...models.mark_pick_pack_ship_shipped_request import MarkPickPackShipShippedRequest
11
+ from ...models.pick_pack_ship_response import PickPackShipResponse
12
+ from ...types import UNSET, Response
13
+
14
+
15
+ def _get_kwargs(
16
+ packing_slip_id: str,
17
+ *,
18
+ body: MarkPickPackShipShippedRequest,
19
+ project_id: str,
20
+ ) -> dict[str, Any]:
21
+ headers: dict[str, Any] = {}
22
+
23
+ params: dict[str, Any] = {}
24
+
25
+ params["projectId"] = project_id
26
+
27
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
28
+
29
+ _kwargs: dict[str, Any] = {
30
+ "method": "post",
31
+ "url": "/v1/apps/inventory/warehouse-workflow/pick-pack-ship/{packing_slip_id}/mark-shipped".format(
32
+ packing_slip_id=quote(str(packing_slip_id), safe=""),
33
+ ),
34
+ "params": params,
35
+ }
36
+
37
+ _kwargs["json"] = body.to_dict()
38
+
39
+ headers["Content-Type"] = "application/json"
40
+
41
+ _kwargs["headers"] = headers
42
+ return _kwargs
43
+
44
+
45
+ def _parse_response(
46
+ *, client: AuthenticatedClient | Client, response: httpx.Response
47
+ ) -> HTTPValidationError | PickPackShipResponse | None:
48
+ if response.status_code == 200:
49
+ response_200 = PickPackShipResponse.from_dict(response.json())
50
+
51
+ return response_200
52
+
53
+ if response.status_code == 422:
54
+ response_422 = HTTPValidationError.from_dict(response.json())
55
+
56
+ return response_422
57
+
58
+ if client.raise_on_unexpected_status:
59
+ raise errors.UnexpectedStatus(response.status_code, response.content)
60
+ else:
61
+ return None
62
+
63
+
64
+ def _build_response(
65
+ *, client: AuthenticatedClient | Client, response: httpx.Response
66
+ ) -> Response[HTTPValidationError | PickPackShipResponse]:
67
+ return Response(
68
+ status_code=HTTPStatus(response.status_code),
69
+ content=response.content,
70
+ headers=response.headers,
71
+ parsed=_parse_response(client=client, response=response),
72
+ )
73
+
74
+
75
+ def sync_detailed(
76
+ packing_slip_id: str,
77
+ *,
78
+ client: AuthenticatedClient | Client,
79
+ body: MarkPickPackShipShippedRequest,
80
+ project_id: str,
81
+ ) -> Response[HTTPValidationError | PickPackShipResponse]:
82
+ """Mark Pick Pack Ship Shipped
83
+
84
+ Args:
85
+ packing_slip_id (str):
86
+ project_id (str):
87
+ body (MarkPickPackShipShippedRequest):
88
+
89
+ Raises:
90
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
91
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
92
+
93
+ Returns:
94
+ Response[HTTPValidationError | PickPackShipResponse]
95
+ """
96
+
97
+ kwargs = _get_kwargs(
98
+ packing_slip_id=packing_slip_id,
99
+ body=body,
100
+ project_id=project_id,
101
+ )
102
+
103
+ response = client.get_httpx_client().request(
104
+ **kwargs,
105
+ )
106
+
107
+ return _build_response(client=client, response=response)
108
+
109
+
110
+ def sync(
111
+ packing_slip_id: str,
112
+ *,
113
+ client: AuthenticatedClient | Client,
114
+ body: MarkPickPackShipShippedRequest,
115
+ project_id: str,
116
+ ) -> HTTPValidationError | PickPackShipResponse | None:
117
+ """Mark Pick Pack Ship Shipped
118
+
119
+ Args:
120
+ packing_slip_id (str):
121
+ project_id (str):
122
+ body (MarkPickPackShipShippedRequest):
123
+
124
+ Raises:
125
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
126
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
127
+
128
+ Returns:
129
+ HTTPValidationError | PickPackShipResponse
130
+ """
131
+
132
+ return sync_detailed(
133
+ packing_slip_id=packing_slip_id,
134
+ client=client,
135
+ body=body,
136
+ project_id=project_id,
137
+ ).parsed
138
+
139
+
140
+ async def asyncio_detailed(
141
+ packing_slip_id: str,
142
+ *,
143
+ client: AuthenticatedClient | Client,
144
+ body: MarkPickPackShipShippedRequest,
145
+ project_id: str,
146
+ ) -> Response[HTTPValidationError | PickPackShipResponse]:
147
+ """Mark Pick Pack Ship Shipped
148
+
149
+ Args:
150
+ packing_slip_id (str):
151
+ project_id (str):
152
+ body (MarkPickPackShipShippedRequest):
153
+
154
+ Raises:
155
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
156
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
157
+
158
+ Returns:
159
+ Response[HTTPValidationError | PickPackShipResponse]
160
+ """
161
+
162
+ kwargs = _get_kwargs(
163
+ packing_slip_id=packing_slip_id,
164
+ body=body,
165
+ project_id=project_id,
166
+ )
167
+
168
+ response = await client.get_async_httpx_client().request(**kwargs)
169
+
170
+ return _build_response(client=client, response=response)
171
+
172
+
173
+ async def asyncio(
174
+ packing_slip_id: str,
175
+ *,
176
+ client: AuthenticatedClient | Client,
177
+ body: MarkPickPackShipShippedRequest,
178
+ project_id: str,
179
+ ) -> HTTPValidationError | PickPackShipResponse | None:
180
+ """Mark Pick Pack Ship Shipped
181
+
182
+ Args:
183
+ packing_slip_id (str):
184
+ project_id (str):
185
+ body (MarkPickPackShipShippedRequest):
186
+
187
+ Raises:
188
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
189
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
190
+
191
+ Returns:
192
+ HTTPValidationError | PickPackShipResponse
193
+ """
194
+
195
+ return (
196
+ await asyncio_detailed(
197
+ packing_slip_id=packing_slip_id,
198
+ client=client,
199
+ body=body,
200
+ project_id=project_id,
201
+ )
202
+ ).parsed