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,212 @@
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.list_item_warehouse_locations_response import ListItemWarehouseLocationsResponse
11
+ from ...types import UNSET, Response, Unset
12
+
13
+
14
+ def _get_kwargs(
15
+ item_id: str,
16
+ *,
17
+ limit: int | Unset = 100,
18
+ offset: int | Unset = 0,
19
+ project_id: str,
20
+ ) -> dict[str, Any]:
21
+
22
+ params: dict[str, Any] = {}
23
+
24
+ params["limit"] = limit
25
+
26
+ params["offset"] = offset
27
+
28
+ params["projectId"] = project_id
29
+
30
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
31
+
32
+ _kwargs: dict[str, Any] = {
33
+ "method": "get",
34
+ "url": "/v1/apps/inventory/items/{item_id}/warehouse-locations".format(
35
+ item_id=quote(str(item_id), safe=""),
36
+ ),
37
+ "params": params,
38
+ }
39
+
40
+ return _kwargs
41
+
42
+
43
+ def _parse_response(
44
+ *, client: AuthenticatedClient | Client, response: httpx.Response
45
+ ) -> HTTPValidationError | ListItemWarehouseLocationsResponse | None:
46
+ if response.status_code == 200:
47
+ response_200 = ListItemWarehouseLocationsResponse.from_dict(response.json())
48
+
49
+ return response_200
50
+
51
+ if response.status_code == 422:
52
+ response_422 = HTTPValidationError.from_dict(response.json())
53
+
54
+ return response_422
55
+
56
+ if client.raise_on_unexpected_status:
57
+ raise errors.UnexpectedStatus(response.status_code, response.content)
58
+ else:
59
+ return None
60
+
61
+
62
+ def _build_response(
63
+ *, client: AuthenticatedClient | Client, response: httpx.Response
64
+ ) -> Response[HTTPValidationError | ListItemWarehouseLocationsResponse]:
65
+ return Response(
66
+ status_code=HTTPStatus(response.status_code),
67
+ content=response.content,
68
+ headers=response.headers,
69
+ parsed=_parse_response(client=client, response=response),
70
+ )
71
+
72
+
73
+ def sync_detailed(
74
+ item_id: str,
75
+ *,
76
+ client: AuthenticatedClient | Client,
77
+ limit: int | Unset = 100,
78
+ offset: int | Unset = 0,
79
+ project_id: str,
80
+ ) -> Response[HTTPValidationError | ListItemWarehouseLocationsResponse]:
81
+ """List warehouse locations assigned to or stocked with an item
82
+
83
+ Args:
84
+ item_id (str):
85
+ limit (int | Unset): Default: 100.
86
+ offset (int | Unset): Default: 0.
87
+ project_id (str):
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 | ListItemWarehouseLocationsResponse]
95
+ """
96
+
97
+ kwargs = _get_kwargs(
98
+ item_id=item_id,
99
+ limit=limit,
100
+ offset=offset,
101
+ project_id=project_id,
102
+ )
103
+
104
+ response = client.get_httpx_client().request(
105
+ **kwargs,
106
+ )
107
+
108
+ return _build_response(client=client, response=response)
109
+
110
+
111
+ def sync(
112
+ item_id: str,
113
+ *,
114
+ client: AuthenticatedClient | Client,
115
+ limit: int | Unset = 100,
116
+ offset: int | Unset = 0,
117
+ project_id: str,
118
+ ) -> HTTPValidationError | ListItemWarehouseLocationsResponse | None:
119
+ """List warehouse locations assigned to or stocked with an item
120
+
121
+ Args:
122
+ item_id (str):
123
+ limit (int | Unset): Default: 100.
124
+ offset (int | Unset): Default: 0.
125
+ project_id (str):
126
+
127
+ Raises:
128
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
129
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
130
+
131
+ Returns:
132
+ HTTPValidationError | ListItemWarehouseLocationsResponse
133
+ """
134
+
135
+ return sync_detailed(
136
+ item_id=item_id,
137
+ client=client,
138
+ limit=limit,
139
+ offset=offset,
140
+ project_id=project_id,
141
+ ).parsed
142
+
143
+
144
+ async def asyncio_detailed(
145
+ item_id: str,
146
+ *,
147
+ client: AuthenticatedClient | Client,
148
+ limit: int | Unset = 100,
149
+ offset: int | Unset = 0,
150
+ project_id: str,
151
+ ) -> Response[HTTPValidationError | ListItemWarehouseLocationsResponse]:
152
+ """List warehouse locations assigned to or stocked with an item
153
+
154
+ Args:
155
+ item_id (str):
156
+ limit (int | Unset): Default: 100.
157
+ offset (int | Unset): Default: 0.
158
+ project_id (str):
159
+
160
+ Raises:
161
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
162
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
163
+
164
+ Returns:
165
+ Response[HTTPValidationError | ListItemWarehouseLocationsResponse]
166
+ """
167
+
168
+ kwargs = _get_kwargs(
169
+ item_id=item_id,
170
+ limit=limit,
171
+ offset=offset,
172
+ project_id=project_id,
173
+ )
174
+
175
+ response = await client.get_async_httpx_client().request(**kwargs)
176
+
177
+ return _build_response(client=client, response=response)
178
+
179
+
180
+ async def asyncio(
181
+ item_id: str,
182
+ *,
183
+ client: AuthenticatedClient | Client,
184
+ limit: int | Unset = 100,
185
+ offset: int | Unset = 0,
186
+ project_id: str,
187
+ ) -> HTTPValidationError | ListItemWarehouseLocationsResponse | None:
188
+ """List warehouse locations assigned to or stocked with an item
189
+
190
+ Args:
191
+ item_id (str):
192
+ limit (int | Unset): Default: 100.
193
+ offset (int | Unset): Default: 0.
194
+ project_id (str):
195
+
196
+ Raises:
197
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
198
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
199
+
200
+ Returns:
201
+ HTTPValidationError | ListItemWarehouseLocationsResponse
202
+ """
203
+
204
+ return (
205
+ await asyncio_detailed(
206
+ item_id=item_id,
207
+ client=client,
208
+ limit=limit,
209
+ offset=offset,
210
+ project_id=project_id,
211
+ )
212
+ ).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.list_price_list_channel_assignments_response import ListPriceListChannelAssignmentsResponse
11
+ from ...types import UNSET, Response, Unset
12
+
13
+
14
+ def _get_kwargs(
15
+ price_list_id: str,
16
+ *,
17
+ is_active: bool | None | Unset = UNSET,
18
+ project_id: str,
19
+ ) -> dict[str, Any]:
20
+
21
+ params: dict[str, Any] = {}
22
+
23
+ json_is_active: bool | None | Unset
24
+ if isinstance(is_active, Unset):
25
+ json_is_active = UNSET
26
+ else:
27
+ json_is_active = is_active
28
+ params["is_active"] = json_is_active
29
+
30
+ params["projectId"] = project_id
31
+
32
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
33
+
34
+ _kwargs: dict[str, Any] = {
35
+ "method": "get",
36
+ "url": "/v1/apps/inventory/price-lists/{price_list_id}/channel-assignments".format(
37
+ price_list_id=quote(str(price_list_id), safe=""),
38
+ ),
39
+ "params": params,
40
+ }
41
+
42
+ return _kwargs
43
+
44
+
45
+ def _parse_response(
46
+ *, client: AuthenticatedClient | Client, response: httpx.Response
47
+ ) -> HTTPValidationError | ListPriceListChannelAssignmentsResponse | None:
48
+ if response.status_code == 200:
49
+ response_200 = ListPriceListChannelAssignmentsResponse.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 | ListPriceListChannelAssignmentsResponse]:
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
+ price_list_id: str,
77
+ *,
78
+ client: AuthenticatedClient | Client,
79
+ is_active: bool | None | Unset = UNSET,
80
+ project_id: str,
81
+ ) -> Response[HTTPValidationError | ListPriceListChannelAssignmentsResponse]:
82
+ """List Price List Channel Assignments
83
+
84
+ Args:
85
+ price_list_id (str):
86
+ is_active (bool | None | Unset):
87
+ project_id (str):
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 | ListPriceListChannelAssignmentsResponse]
95
+ """
96
+
97
+ kwargs = _get_kwargs(
98
+ price_list_id=price_list_id,
99
+ is_active=is_active,
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
+ price_list_id: str,
112
+ *,
113
+ client: AuthenticatedClient | Client,
114
+ is_active: bool | None | Unset = UNSET,
115
+ project_id: str,
116
+ ) -> HTTPValidationError | ListPriceListChannelAssignmentsResponse | None:
117
+ """List Price List Channel Assignments
118
+
119
+ Args:
120
+ price_list_id (str):
121
+ is_active (bool | None | Unset):
122
+ project_id (str):
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 | ListPriceListChannelAssignmentsResponse
130
+ """
131
+
132
+ return sync_detailed(
133
+ price_list_id=price_list_id,
134
+ client=client,
135
+ is_active=is_active,
136
+ project_id=project_id,
137
+ ).parsed
138
+
139
+
140
+ async def asyncio_detailed(
141
+ price_list_id: str,
142
+ *,
143
+ client: AuthenticatedClient | Client,
144
+ is_active: bool | None | Unset = UNSET,
145
+ project_id: str,
146
+ ) -> Response[HTTPValidationError | ListPriceListChannelAssignmentsResponse]:
147
+ """List Price List Channel Assignments
148
+
149
+ Args:
150
+ price_list_id (str):
151
+ is_active (bool | None | Unset):
152
+ project_id (str):
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 | ListPriceListChannelAssignmentsResponse]
160
+ """
161
+
162
+ kwargs = _get_kwargs(
163
+ price_list_id=price_list_id,
164
+ is_active=is_active,
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
+ price_list_id: str,
175
+ *,
176
+ client: AuthenticatedClient | Client,
177
+ is_active: bool | None | Unset = UNSET,
178
+ project_id: str,
179
+ ) -> HTTPValidationError | ListPriceListChannelAssignmentsResponse | None:
180
+ """List Price List Channel Assignments
181
+
182
+ Args:
183
+ price_list_id (str):
184
+ is_active (bool | None | Unset):
185
+ project_id (str):
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 | ListPriceListChannelAssignmentsResponse
193
+ """
194
+
195
+ return (
196
+ await asyncio_detailed(
197
+ price_list_id=price_list_id,
198
+ client=client,
199
+ is_active=is_active,
200
+ project_id=project_id,
201
+ )
202
+ ).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.list_price_list_customer_assignments_response import ListPriceListCustomerAssignmentsResponse
11
+ from ...types import UNSET, Response, Unset
12
+
13
+
14
+ def _get_kwargs(
15
+ price_list_id: str,
16
+ *,
17
+ is_active: bool | None | Unset = UNSET,
18
+ project_id: str,
19
+ ) -> dict[str, Any]:
20
+
21
+ params: dict[str, Any] = {}
22
+
23
+ json_is_active: bool | None | Unset
24
+ if isinstance(is_active, Unset):
25
+ json_is_active = UNSET
26
+ else:
27
+ json_is_active = is_active
28
+ params["is_active"] = json_is_active
29
+
30
+ params["projectId"] = project_id
31
+
32
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
33
+
34
+ _kwargs: dict[str, Any] = {
35
+ "method": "get",
36
+ "url": "/v1/apps/inventory/price-lists/{price_list_id}/customer-assignments".format(
37
+ price_list_id=quote(str(price_list_id), safe=""),
38
+ ),
39
+ "params": params,
40
+ }
41
+
42
+ return _kwargs
43
+
44
+
45
+ def _parse_response(
46
+ *, client: AuthenticatedClient | Client, response: httpx.Response
47
+ ) -> HTTPValidationError | ListPriceListCustomerAssignmentsResponse | None:
48
+ if response.status_code == 200:
49
+ response_200 = ListPriceListCustomerAssignmentsResponse.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 | ListPriceListCustomerAssignmentsResponse]:
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
+ price_list_id: str,
77
+ *,
78
+ client: AuthenticatedClient | Client,
79
+ is_active: bool | None | Unset = UNSET,
80
+ project_id: str,
81
+ ) -> Response[HTTPValidationError | ListPriceListCustomerAssignmentsResponse]:
82
+ """List Price List Customer Assignments
83
+
84
+ Args:
85
+ price_list_id (str):
86
+ is_active (bool | None | Unset):
87
+ project_id (str):
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 | ListPriceListCustomerAssignmentsResponse]
95
+ """
96
+
97
+ kwargs = _get_kwargs(
98
+ price_list_id=price_list_id,
99
+ is_active=is_active,
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
+ price_list_id: str,
112
+ *,
113
+ client: AuthenticatedClient | Client,
114
+ is_active: bool | None | Unset = UNSET,
115
+ project_id: str,
116
+ ) -> HTTPValidationError | ListPriceListCustomerAssignmentsResponse | None:
117
+ """List Price List Customer Assignments
118
+
119
+ Args:
120
+ price_list_id (str):
121
+ is_active (bool | None | Unset):
122
+ project_id (str):
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 | ListPriceListCustomerAssignmentsResponse
130
+ """
131
+
132
+ return sync_detailed(
133
+ price_list_id=price_list_id,
134
+ client=client,
135
+ is_active=is_active,
136
+ project_id=project_id,
137
+ ).parsed
138
+
139
+
140
+ async def asyncio_detailed(
141
+ price_list_id: str,
142
+ *,
143
+ client: AuthenticatedClient | Client,
144
+ is_active: bool | None | Unset = UNSET,
145
+ project_id: str,
146
+ ) -> Response[HTTPValidationError | ListPriceListCustomerAssignmentsResponse]:
147
+ """List Price List Customer Assignments
148
+
149
+ Args:
150
+ price_list_id (str):
151
+ is_active (bool | None | Unset):
152
+ project_id (str):
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 | ListPriceListCustomerAssignmentsResponse]
160
+ """
161
+
162
+ kwargs = _get_kwargs(
163
+ price_list_id=price_list_id,
164
+ is_active=is_active,
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
+ price_list_id: str,
175
+ *,
176
+ client: AuthenticatedClient | Client,
177
+ is_active: bool | None | Unset = UNSET,
178
+ project_id: str,
179
+ ) -> HTTPValidationError | ListPriceListCustomerAssignmentsResponse | None:
180
+ """List Price List Customer Assignments
181
+
182
+ Args:
183
+ price_list_id (str):
184
+ is_active (bool | None | Unset):
185
+ project_id (str):
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 | ListPriceListCustomerAssignmentsResponse
193
+ """
194
+
195
+ return (
196
+ await asyncio_detailed(
197
+ price_list_id=price_list_id,
198
+ client=client,
199
+ is_active=is_active,
200
+ project_id=project_id,
201
+ )
202
+ ).parsed