From 671f23b7f4d1678e502f0396c1b86359cb7562e2 Mon Sep 17 00:00:00 2001 From: Juliana Cardozo Date: Wed, 30 Sep 2026 14:03:44 -0300 Subject: [PATCH] fixing rest --- .../url-api-v4-peer-group/environment.rst | 15 +++++++++------ networkapi/api_peer_group/v4/urls.py | 2 ++ networkapi/api_peer_group/v4/views.py | 9 +++------ networkapi/settings.py | 4 ---- 4 files changed, 14 insertions(+), 16 deletions(-) diff --git a/docs/v4/peer-group/url-api-v4-peer-group/environment.rst b/docs/v4/peer-group/url-api-v4-peer-group/environment.rst index 54b8b66c..b0307a6c 100644 --- a/docs/v4/peer-group/url-api-v4-peer-group/environment.rst +++ b/docs/v4/peer-group/url-api-v4-peer-group/environment.rst @@ -3,14 +3,18 @@ Environment associations Add or remove environment associations for an existing Peer Group. -URL:: +POST URL:: /api/v4/peer-group/{peer_group_id}/environment -The trailing slash is optional. The endpoint requires the Peer Group +DELETE URL:: + + /api/v4/peer-group/{peer_group_id}/environment/{environment_id} + +The trailing slash is optional. Both endpoints require the Peer Group management write permission. -Request body for both methods: +POST request body: .. code-block:: json @@ -38,9 +42,8 @@ An environment already associated with the Peer Group is rejected with HTTP DELETE ****** -Removes only the associations matching the listed environment IDs. Other -environment associations are preserved. The request returns HTTP 200 with an -empty object:: +Removes the association identified by the URL's ``environment_id``. Other environment associations are preserved. The request +returns HTTP 200 with an empty object:: {} diff --git a/networkapi/api_peer_group/v4/urls.py b/networkapi/api_peer_group/v4/urls.py index 1d27b5b9..ed32fbbc 100644 --- a/networkapi/api_peer_group/v4/urls.py +++ b/networkapi/api_peer_group/v4/urls.py @@ -8,6 +8,8 @@ '', url(r'^peer-group/(?P\d+)/environment/?$', views.EnvironmentPeerGroupDBView.as_view()), + url(r'^peer-group/(?P\d+)/environment/(?P\d+)/?$', + views.EnvironmentPeerGroupDBView.as_view()), url(r'^peer-group/((?P[;\w]+)/)?$', views.PeerGroupDBView.as_view()), ) diff --git a/networkapi/api_peer_group/v4/views.py b/networkapi/api_peer_group/v4/views.py index 46718841..5dbd0b87 100644 --- a/networkapi/api_peer_group/v4/views.py +++ b/networkapi/api_peer_group/v4/views.py @@ -137,18 +137,15 @@ def post(self, request, *args, **kwargs): return Response(response, status=status.HTTP_201_CREATED) @logs_method_apiview - @raise_json_validate('environment_peer_group_delete_v4') + @raise_json_validate('') @permission_classes_apiview((IsAuthenticated, Write)) @commit_on_success def delete(self, request, *args, **kwargs): """Delete environment associations from an existing PeerGroup.""" - objects = request.DATA - json_validate(SPECS.get('environment_peer_group_delete_v4')).validate(objects) peer_group_id = kwargs.get('peer_group_id') - for environment_id in objects['environments_ids']: - facade.delete_environment_peer_group( - environment_id, peer_group_id) + environment_id = kwargs.get('environment_id') + facade.delete_environment_peer_group(environment_id, peer_group_id) return Response({}, status=status.HTTP_200_OK) diff --git a/networkapi/settings.py b/networkapi/settings.py index ffc09570..3adedb42 100644 --- a/networkapi/settings.py +++ b/networkapi/settings.py @@ -654,10 +654,6 @@ def local_files(path): PROJECT_ROOT_PATH, 'api_peer_group/v4/specs/environment_peer_group_post.json' ), - 'environment_peer_group_delete_v4': os.path.join( - PROJECT_ROOT_PATH, - 'api_peer_group/v4/specs/environment_peer_group_post.json' - ), 'simple_env_post': os.path.join( PROJECT_ROOT_PATH, 'api_environment/specs/simple_env_post.json'