From 5331a4993fbf23d27312dfedf234cf3234fbe9b0 Mon Sep 17 00:00:00 2001
From: Karel van Klink <karel.vanklink@geant.org>
Date: Thu, 11 May 2023 16:13:50 +0200
Subject: [PATCH] make proxy more generic

---
 gso/services/provisioning_proxy.py | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/gso/services/provisioning_proxy.py b/gso/services/provisioning_proxy.py
index f236d30f..9ec5f50e 100644
--- a/gso/services/provisioning_proxy.py
+++ b/gso/services/provisioning_proxy.py
@@ -16,7 +16,7 @@ from gso.products.product_types.device import DeviceProvisioning
 logger = logging.getLogger(__name__)
 
 
-def _send_request(parameters: dict, process_id: UUIDstr):
+def _send_request(endpoint: str, parameters: dict, process_id: UUIDstr):
     oss = settings.load_oss_params()
     pp_params = oss.PROVISIONING_PROXY
     assert pp_params
@@ -28,23 +28,30 @@ def _send_request(parameters: dict, process_id: UUIDstr):
     parameters.update({'callback': callback_url})
 
     post_request = requests.post(
-        f'{pp_params.scheme}://{pp_params.api_base}/api/device',
+        f'{pp_params.scheme}://{pp_params.api_base}/api/{endpoint}',
         json=parameters)
 
     if post_request.status_code != 200:
         raise AssertionError(post_request.text)
 
 
-def provision_service(
+def _provision_service(
+        endpoint: str,
         subscription: SubscriptionModel,
         process_id: UUIDstr,
-        dry_run: bool = True):
+        dry_run: bool):
     parameters = {
         'dry_run': dry_run,
         'subscription': json.loads(json_dumps(subscription))
     }
 
-    _send_request(parameters, process_id)
+    _send_request(endpoint, parameters, process_id)
+
+
+def provision_device(subscription: SubscriptionModel,
+                     process_id: UUIDstr,
+                     dry_run: bool = True):
+    _provision_service('device', subscription, process_id, dry_run)
 
 
 @inputstep('Await provisioning proxy results', assignee=Assignee('SYSTEM'))
-- 
GitLab