edx-enterprise-subsidy-client 0.4.3__py2.py3-none-any.whl → 0.4.4__py2.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.
@@ -2,6 +2,6 @@
2
2
  Client for interacting with the enterprise-subsidy service..
3
3
  """
4
4
 
5
- __version__ = '0.4.3'
5
+ __version__ = '0.4.4'
6
6
 
7
7
  from .client import EnterpriseSubsidyAPIClient, EnterpriseSubsidyAPIClientV2, get_enterprise_subsidy_api_client
@@ -291,6 +291,7 @@ class EnterpriseSubsidyAPIClientV2(EnterpriseSubsidyAPIClient): # pylint: disab
291
291
  """
292
292
  V2_BASE_URL = EnterpriseSubsidyAPIClient.API_BASE_URL + 'v2/'
293
293
  TRANSACTIONS_LIST_ENDPOINT = V2_BASE_URL + 'subsidies/{subsidy_uuid}/admin/transactions/'
294
+ DEPOSITS_CREATE_ENDPOINT = V2_BASE_URL + 'subsidies/{subsidy_uuid}/admin/deposits/'
294
295
 
295
296
  def list_subsidy_transactions(
296
297
  self, subsidy_uuid, include_aggregates=True,
@@ -370,3 +371,42 @@ class EnterpriseSubsidyAPIClientV2(EnterpriseSubsidyAPIClient): # pylint: disab
370
371
  )
371
372
  response.raise_for_status()
372
373
  return response.json()
374
+
375
+ def create_subsidy_deposit(
376
+ self,
377
+ subsidy_uuid,
378
+ desired_deposit_quantity,
379
+ sales_contract_reference_id,
380
+ sales_contract_reference_provider,
381
+ metadata,
382
+ idempotency_key=None,
383
+ ):
384
+ """
385
+ Creates a deposit in the given subsidy, requires operator-level permissions.
386
+
387
+ Raises:
388
+ requests.exceptions.HTTPError:
389
+ - 403 Forbidden: If auth failed.
390
+ - 429 Too Many Requests: If the ledger was locked (resource contention, try again later).
391
+ - 400 Bad Request: If any of the values were invalid. Reasons include:
392
+ * non-positive quantity.
393
+ * provider slug does not exist in database.
394
+ - 422 Unprocessable Entity: Catchall status for anything that prevented the deposit from being
395
+ created. Reasons include, but are not limited to:
396
+ * Subsidy is inactive.
397
+ * Another deposit with same idempotency_key already exists.
398
+ """
399
+ request_payload = {
400
+ 'desired_deposit_quantity': desired_deposit_quantity,
401
+ 'sales_contract_reference_id': sales_contract_reference_id,
402
+ 'sales_contract_reference_provider': sales_contract_reference_provider,
403
+ 'metadata': metadata,
404
+ }
405
+ if idempotency_key is not None:
406
+ request_payload['idempotency_key'] = idempotency_key
407
+ response = self.client.post(
408
+ self.DEPOSITS_CREATE_ENDPOINT.format(subsidy_uuid=subsidy_uuid),
409
+ json=request_payload,
410
+ )
411
+ response.raise_for_status()
412
+ return response.json()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edx-enterprise-subsidy-client
3
- Version: 0.4.3
3
+ Version: 0.4.4
4
4
  Summary: Client for interacting with the enterprise-subsidy service.
5
5
  Home-page: https://github.com/openedx/edx-enterprise-subsidy-client
6
6
  Author: edX
@@ -225,6 +225,10 @@ Change Log
225
225
  Unreleased
226
226
  **********
227
227
 
228
+ [0.4.4]
229
+ *******
230
+ * feat: add support for deposit creation (ENT-9133)
231
+
228
232
  [0.4.3]
229
233
  *******
230
234
  * feat: adding new subsidy client method to fetch subsidy aggregate data
@@ -0,0 +1,8 @@
1
+ edx_enterprise_subsidy_client/__init__.py,sha256=Zdci1Zm-K660uWJ1Y_Vs13g1SARbGrIhH5KBHBQwbWM,205
2
+ edx_enterprise_subsidy_client/client.py,sha256=z2LwIaS3Wf2j16eTjfFKJDR4DKZNegO9mlESLgb_pJQ,14993
3
+ edx_enterprise_subsidy_client-0.4.4.dist-info/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
4
+ edx_enterprise_subsidy_client-0.4.4.dist-info/LICENSE.txt,sha256=QTW2QN7q3XszgUAXm9Dzgtu5LXYKbR1SGnqMa7ufEuY,35139
5
+ edx_enterprise_subsidy_client-0.4.4.dist-info/METADATA,sha256=6hG5lkL-BlcmYA7qb_n3UbXGV4wqsiOr-nEZkaHCy1c,9654
6
+ edx_enterprise_subsidy_client-0.4.4.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
7
+ edx_enterprise_subsidy_client-0.4.4.dist-info/top_level.txt,sha256=X3PxOH44rjQXFaA8EX-ZpUEL4SjfMM_yUkS-KbvNIZk,30
8
+ edx_enterprise_subsidy_client-0.4.4.dist-info/RECORD,,
@@ -1,8 +0,0 @@
1
- edx_enterprise_subsidy_client/__init__.py,sha256=ohnfF6pu_QiBBqJuz8O3HJhED7cUdSsYU2qj5HDT0fI,205
2
- edx_enterprise_subsidy_client/client.py,sha256=omt6lIVuGu4GtbYu45u5ghCKUzg-309EDpnGqldTWMw,13212
3
- edx_enterprise_subsidy_client-0.4.3.dist-info/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
4
- edx_enterprise_subsidy_client-0.4.3.dist-info/LICENSE.txt,sha256=QTW2QN7q3XszgUAXm9Dzgtu5LXYKbR1SGnqMa7ufEuY,35139
5
- edx_enterprise_subsidy_client-0.4.3.dist-info/METADATA,sha256=9QwvAwDzaH4HDoiSPyv30l8VfJADkUajv1qFGZ64Aeg,9585
6
- edx_enterprise_subsidy_client-0.4.3.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
7
- edx_enterprise_subsidy_client-0.4.3.dist-info/top_level.txt,sha256=X3PxOH44rjQXFaA8EX-ZpUEL4SjfMM_yUkS-KbvNIZk,30
8
- edx_enterprise_subsidy_client-0.4.3.dist-info/RECORD,,