Skip to content

Commit f318392

Browse files
fix(client): ensure path params are non-empty (#134)
1 parent 58f35f0 commit f318392

40 files changed

+1214
-0
lines changed

src/orb/resources/beta/price.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ def evaluate(
9898
9999
idempotency_key: Specify a custom idempotency key for this request
100100
"""
101+
if not price_id:
102+
raise ValueError(f"Expected a non-empty value for `price_id` but received {price_id!r}")
101103
return self._post(
102104
f"/prices/{price_id}/evaluate",
103105
body=maybe_transform(
@@ -199,6 +201,8 @@ async def evaluate(
199201
200202
idempotency_key: Specify a custom idempotency key for this request
201203
"""
204+
if not price_id:
205+
raise ValueError(f"Expected a non-empty value for `price_id` but received {price_id!r}")
202206
return await self._post(
203207
f"/prices/{price_id}/evaluate",
204208
body=maybe_transform(

src/orb/resources/coupons/coupons.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,8 @@ def archive(
193193
194194
idempotency_key: Specify a custom idempotency key for this request
195195
"""
196+
if not coupon_id:
197+
raise ValueError(f"Expected a non-empty value for `coupon_id` but received {coupon_id!r}")
196198
return self._post(
197199
f"/coupons/{coupon_id}/archive",
198200
options=make_request_options(
@@ -231,6 +233,8 @@ def fetch(
231233
232234
timeout: Override the client-level default timeout for this request, in seconds
233235
"""
236+
if not coupon_id:
237+
raise ValueError(f"Expected a non-empty value for `coupon_id` but received {coupon_id!r}")
234238
return self._get(
235239
f"/coupons/{coupon_id}",
236240
options=make_request_options(
@@ -403,6 +407,8 @@ async def archive(
403407
404408
idempotency_key: Specify a custom idempotency key for this request
405409
"""
410+
if not coupon_id:
411+
raise ValueError(f"Expected a non-empty value for `coupon_id` but received {coupon_id!r}")
406412
return await self._post(
407413
f"/coupons/{coupon_id}/archive",
408414
options=make_request_options(
@@ -441,6 +447,8 @@ async def fetch(
441447
442448
timeout: Override the client-level default timeout for this request, in seconds
443449
"""
450+
if not coupon_id:
451+
raise ValueError(f"Expected a non-empty value for `coupon_id` but received {coupon_id!r}")
444452
return await self._get(
445453
f"/coupons/{coupon_id}",
446454
options=make_request_options(

src/orb/resources/coupons/subscriptions.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ def list(
6565
6666
timeout: Override the client-level default timeout for this request, in seconds
6767
"""
68+
if not coupon_id:
69+
raise ValueError(f"Expected a non-empty value for `coupon_id` but received {coupon_id!r}")
6870
return self._get_api_list(
6971
f"/coupons/{coupon_id}/subscriptions",
7072
page=SyncPage[Subscription],
@@ -127,6 +129,8 @@ def list(
127129
128130
timeout: Override the client-level default timeout for this request, in seconds
129131
"""
132+
if not coupon_id:
133+
raise ValueError(f"Expected a non-empty value for `coupon_id` but received {coupon_id!r}")
130134
return self._get_api_list(
131135
f"/coupons/{coupon_id}/subscriptions",
132136
page=AsyncPage[Subscription],

src/orb/resources/credit_notes.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,8 @@ def fetch(
106106
107107
timeout: Override the client-level default timeout for this request, in seconds
108108
"""
109+
if not credit_note_id:
110+
raise ValueError(f"Expected a non-empty value for `credit_note_id` but received {credit_note_id!r}")
109111
return self._get(
110112
f"/credit_notes/{credit_note_id}",
111113
options=make_request_options(
@@ -199,6 +201,8 @@ async def fetch(
199201
200202
timeout: Override the client-level default timeout for this request, in seconds
201203
"""
204+
if not credit_note_id:
205+
raise ValueError(f"Expected a non-empty value for `credit_note_id` but received {credit_note_id!r}")
202206
return await self._get(
203207
f"/credit_notes/{credit_note_id}",
204208
options=make_request_options(

src/orb/resources/customers/balance_transactions.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ def create(
7070
7171
idempotency_key: Specify a custom idempotency key for this request
7272
"""
73+
if not customer_id:
74+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
7375
return self._post(
7476
f"/customers/{customer_id}/balance_transactions",
7577
body=maybe_transform(
@@ -151,6 +153,8 @@ def list(
151153
152154
timeout: Override the client-level default timeout for this request, in seconds
153155
"""
156+
if not customer_id:
157+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
154158
return self._get_api_list(
155159
f"/customers/{customer_id}/balance_transactions",
156160
page=SyncPage[BalanceTransactionListResponse],
@@ -216,6 +220,8 @@ async def create(
216220
217221
idempotency_key: Specify a custom idempotency key for this request
218222
"""
223+
if not customer_id:
224+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
219225
return await self._post(
220226
f"/customers/{customer_id}/balance_transactions",
221227
body=maybe_transform(
@@ -297,6 +303,8 @@ def list(
297303
298304
timeout: Override the client-level default timeout for this request, in seconds
299305
"""
306+
if not customer_id:
307+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
300308
return self._get_api_list(
301309
f"/customers/{customer_id}/balance_transactions",
302310
page=AsyncPage[BalanceTransactionListResponse],

src/orb/resources/customers/costs.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,8 @@ def list(
207207
208208
timeout: Override the client-level default timeout for this request, in seconds
209209
"""
210+
if not customer_id:
211+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
210212
return self._get(
211213
f"/customers/{customer_id}/costs",
212214
options=make_request_options(
@@ -398,6 +400,10 @@ def list_by_external_id(
398400
399401
timeout: Override the client-level default timeout for this request, in seconds
400402
"""
403+
if not external_customer_id:
404+
raise ValueError(
405+
f"Expected a non-empty value for `external_customer_id` but received {external_customer_id!r}"
406+
)
401407
return self._get(
402408
f"/customers/external_customer_id/{external_customer_id}/costs",
403409
options=make_request_options(
@@ -599,6 +605,8 @@ async def list(
599605
600606
timeout: Override the client-level default timeout for this request, in seconds
601607
"""
608+
if not customer_id:
609+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
602610
return await self._get(
603611
f"/customers/{customer_id}/costs",
604612
options=make_request_options(
@@ -790,6 +798,10 @@ async def list_by_external_id(
790798
791799
timeout: Override the client-level default timeout for this request, in seconds
792800
"""
801+
if not external_customer_id:
802+
raise ValueError(
803+
f"Expected a non-empty value for `external_customer_id` but received {external_customer_id!r}"
804+
)
793805
return await self._get(
794806
f"/customers/external_customer_id/{external_customer_id}/costs",
795807
options=make_request_options(

src/orb/resources/customers/credits/credits.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@ def list(
8181
8282
timeout: Override the client-level default timeout for this request, in seconds
8383
"""
84+
if not customer_id:
85+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
8486
return self._get_api_list(
8587
f"/customers/{customer_id}/credits",
8688
page=SyncPage[CreditListResponse],
@@ -134,6 +136,10 @@ def list_by_external_id(
134136
135137
timeout: Override the client-level default timeout for this request, in seconds
136138
"""
139+
if not external_customer_id:
140+
raise ValueError(
141+
f"Expected a non-empty value for `external_customer_id` but received {external_customer_id!r}"
142+
)
137143
return self._get_api_list(
138144
f"/customers/external_customer_id/{external_customer_id}/credits",
139145
page=SyncPage[CreditListByExternalIDResponse],
@@ -201,6 +207,8 @@ def list(
201207
202208
timeout: Override the client-level default timeout for this request, in seconds
203209
"""
210+
if not customer_id:
211+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
204212
return self._get_api_list(
205213
f"/customers/{customer_id}/credits",
206214
page=AsyncPage[CreditListResponse],
@@ -254,6 +262,10 @@ def list_by_external_id(
254262
255263
timeout: Override the client-level default timeout for this request, in seconds
256264
"""
265+
if not external_customer_id:
266+
raise ValueError(
267+
f"Expected a non-empty value for `external_customer_id` but received {external_customer_id!r}"
268+
)
257269
return self._get_api_list(
258270
f"/customers/external_customer_id/{external_customer_id}/credits",
259271
page=AsyncPage[CreditListByExternalIDResponse],

src/orb/resources/customers/credits/ledger.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,8 @@ def list(
173173
174174
timeout: Override the client-level default timeout for this request, in seconds
175175
"""
176+
if not customer_id:
177+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
176178
return self._get_api_list(
177179
f"/customers/{customer_id}/credits/ledger",
178180
page=SyncPage[LedgerListResponse],
@@ -1057,6 +1059,8 @@ def create_entry(
10571059
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
10581060
idempotency_key: str | None = None,
10591061
) -> LedgerCreateEntryResponse:
1062+
if not customer_id:
1063+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
10601064
return cast(
10611065
LedgerCreateEntryResponse,
10621066
self._post(
@@ -1952,6 +1956,10 @@ def create_entry_by_external_id(
19521956
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
19531957
idempotency_key: str | None = None,
19541958
) -> LedgerCreateEntryByExternalIDResponse:
1959+
if not external_customer_id:
1960+
raise ValueError(
1961+
f"Expected a non-empty value for `external_customer_id` but received {external_customer_id!r}"
1962+
)
19551963
return cast(
19561964
LedgerCreateEntryByExternalIDResponse,
19571965
self._post(
@@ -2117,6 +2125,10 @@ def list_by_external_id(
21172125
21182126
timeout: Override the client-level default timeout for this request, in seconds
21192127
"""
2128+
if not external_customer_id:
2129+
raise ValueError(
2130+
f"Expected a non-empty value for `external_customer_id` but received {external_customer_id!r}"
2131+
)
21202132
return self._get_api_list(
21212133
f"/customers/external_customer_id/{external_customer_id}/credits/ledger",
21222134
page=SyncPage[LedgerListByExternalIDResponse],
@@ -2287,6 +2299,8 @@ def list(
22872299
22882300
timeout: Override the client-level default timeout for this request, in seconds
22892301
"""
2302+
if not customer_id:
2303+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
22902304
return self._get_api_list(
22912305
f"/customers/{customer_id}/credits/ledger",
22922306
page=AsyncPage[LedgerListResponse],
@@ -3171,6 +3185,8 @@ async def create_entry(
31713185
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
31723186
idempotency_key: str | None = None,
31733187
) -> LedgerCreateEntryResponse:
3188+
if not customer_id:
3189+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
31743190
return cast(
31753191
LedgerCreateEntryResponse,
31763192
await self._post(
@@ -4066,6 +4082,10 @@ async def create_entry_by_external_id(
40664082
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
40674083
idempotency_key: str | None = None,
40684084
) -> LedgerCreateEntryByExternalIDResponse:
4085+
if not external_customer_id:
4086+
raise ValueError(
4087+
f"Expected a non-empty value for `external_customer_id` but received {external_customer_id!r}"
4088+
)
40694089
return cast(
40704090
LedgerCreateEntryByExternalIDResponse,
40714091
await self._post(
@@ -4231,6 +4251,10 @@ def list_by_external_id(
42314251
42324252
timeout: Override the client-level default timeout for this request, in seconds
42334253
"""
4254+
if not external_customer_id:
4255+
raise ValueError(
4256+
f"Expected a non-empty value for `external_customer_id` but received {external_customer_id!r}"
4257+
)
42344258
return self._get_api_list(
42354259
f"/customers/external_customer_id/{external_customer_id}/credits/ledger",
42364260
page=AsyncPage[LedgerListByExternalIDResponse],

src/orb/resources/customers/customers.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,8 @@ def update(
457457
458458
idempotency_key: Specify a custom idempotency key for this request
459459
"""
460+
if not customer_id:
461+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
460462
return self._put(
461463
f"/customers/{customer_id}",
462464
body=maybe_transform(
@@ -588,6 +590,8 @@ def delete(
588590
589591
idempotency_key: Specify a custom idempotency key for this request
590592
"""
593+
if not customer_id:
594+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
591595
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
592596
return self._delete(
593597
f"/customers/{customer_id}",
@@ -630,6 +634,8 @@ def fetch(
630634
631635
timeout: Override the client-level default timeout for this request, in seconds
632636
"""
637+
if not customer_id:
638+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
633639
return self._get(
634640
f"/customers/{customer_id}",
635641
options=make_request_options(
@@ -665,6 +671,10 @@ def fetch_by_external_id(
665671
666672
timeout: Override the client-level default timeout for this request, in seconds
667673
"""
674+
if not external_customer_id:
675+
raise ValueError(
676+
f"Expected a non-empty value for `external_customer_id` but received {external_customer_id!r}"
677+
)
668678
return self._get(
669679
f"/customers/external_customer_id/{external_customer_id}",
670680
options=make_request_options(
@@ -834,6 +844,8 @@ def update_by_external_id(
834844
835845
idempotency_key: Specify a custom idempotency key for this request
836846
"""
847+
if not id:
848+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
837849
return self._put(
838850
f"/customers/external_customer_id/{id}",
839851
body=maybe_transform(
@@ -1260,6 +1272,8 @@ async def update(
12601272
12611273
idempotency_key: Specify a custom idempotency key for this request
12621274
"""
1275+
if not customer_id:
1276+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
12631277
return await self._put(
12641278
f"/customers/{customer_id}",
12651279
body=maybe_transform(
@@ -1391,6 +1405,8 @@ async def delete(
13911405
13921406
idempotency_key: Specify a custom idempotency key for this request
13931407
"""
1408+
if not customer_id:
1409+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
13941410
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
13951411
return await self._delete(
13961412
f"/customers/{customer_id}",
@@ -1433,6 +1449,8 @@ async def fetch(
14331449
14341450
timeout: Override the client-level default timeout for this request, in seconds
14351451
"""
1452+
if not customer_id:
1453+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
14361454
return await self._get(
14371455
f"/customers/{customer_id}",
14381456
options=make_request_options(
@@ -1468,6 +1486,10 @@ async def fetch_by_external_id(
14681486
14691487
timeout: Override the client-level default timeout for this request, in seconds
14701488
"""
1489+
if not external_customer_id:
1490+
raise ValueError(
1491+
f"Expected a non-empty value for `external_customer_id` but received {external_customer_id!r}"
1492+
)
14711493
return await self._get(
14721494
f"/customers/external_customer_id/{external_customer_id}",
14731495
options=make_request_options(
@@ -1637,6 +1659,8 @@ async def update_by_external_id(
16371659
16381660
idempotency_key: Specify a custom idempotency key for this request
16391661
"""
1662+
if not id:
1663+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
16401664
return await self._put(
16411665
f"/customers/external_customer_id/{id}",
16421666
body=maybe_transform(

0 commit comments

Comments
 (0)