From c7f515b9b2186a823721caa59f1617b31cfb2083 Mon Sep 17 00:00:00 2001 From: Julien Duchesne Date: Fri, 5 Jan 2024 09:40:08 -0500 Subject: [PATCH] fix(swagger): POST -> GET method for two access control endpoints (#80082) Missed those here: https://github.com/grafana/grafana/pull/80053 --- .../accesscontrol/resourcepermissions/api.go | 4 +- public/api-merged.json | 34 ++++++++++++++++- public/openapi3.json | 38 ++++++++++++++++++- 3 files changed, 72 insertions(+), 4 deletions(-) diff --git a/pkg/services/accesscontrol/resourcepermissions/api.go b/pkg/services/accesscontrol/resourcepermissions/api.go index f5d1d8bd598..9bc2eb80253 100644 --- a/pkg/services/accesscontrol/resourcepermissions/api.go +++ b/pkg/services/accesscontrol/resourcepermissions/api.go @@ -82,7 +82,7 @@ type Description struct { Permissions []string `json:"permissions"` } -// swagger:route POST /access-control/{resource}/description access_control getResourceDescription +// swagger:route GET /access-control/{resource}/description access_control getResourceDescription // // Get a description of a resource's access control properties. // @@ -128,7 +128,7 @@ type GetResourcePermissionsParams struct { // swagger:response getResourcePermissionsResponse type getResourcePermissionsResponse []resourcePermissionDTO -// swagger:route POST /access-control/{resource}/{resourceID} access_control getResourcePermissions +// swagger:route GET /access-control/{resource}/{resourceID} access_control getResourcePermissions // // Get permissions for a resource. // diff --git a/public/api-merged.json b/public/api-merged.json index df677601e12..599ef2d9aad 100644 --- a/public/api-merged.json +++ b/public/api-merged.json @@ -710,7 +710,7 @@ } }, "/access-control/{resource}/description": { - "post": { + "get": { "tags": [ "access_control" ], @@ -738,6 +738,38 @@ } }, "/access-control/{resource}/{resourceID}": { + "get": { + "tags": [ + "access_control" + ], + "summary": "Get permissions for a resource.", + "operationId": "getResourcePermissions", + "parameters": [ + { + "type": "string", + "name": "resource", + "in": "path", + "required": true + }, + { + "type": "string", + "name": "resourceID", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/getResourcePermissionsResponse" + }, + "403": { + "$ref": "#/responses/forbiddenError" + }, + "500": { + "$ref": "#/responses/internalServerError" + } + } + }, "post": { "description": "Assigns permissions for a resource by a given type (`:resource`) and `:resourceID` to one or many\nassignment types. Allowed resources are `datasources`, `teams`, `dashboards`, `folders`, and `serviceaccounts`.\nRefer to the `/access-control/{resource}/description` endpoint for allowed Permissions.", "tags": [ diff --git a/public/openapi3.json b/public/openapi3.json index 75f4b3429f6..4d092068dba 100644 --- a/public/openapi3.json +++ b/public/openapi3.json @@ -13173,7 +13173,7 @@ } }, "/access-control/{resource}/description": { - "post": { + "get": { "operationId": "getResourceDescription", "parameters": [ { @@ -13203,6 +13203,42 @@ } }, "/access-control/{resource}/{resourceID}": { + "get": { + "operationId": "getResourcePermissions", + "parameters": [ + { + "in": "path", + "name": "resource", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "resourceID", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "$ref": "#/components/responses/getResourcePermissionsResponse" + }, + "403": { + "$ref": "#/components/responses/forbiddenError" + }, + "500": { + "$ref": "#/components/responses/internalServerError" + } + }, + "summary": "Get permissions for a resource.", + "tags": [ + "access_control" + ] + }, "post": { "description": "Assigns permissions for a resource by a given type (`:resource`) and `:resourceID` to one or many\nassignment types. Allowed resources are `datasources`, `teams`, `dashboards`, `folders`, and `serviceaccounts`.\nRefer to the `/access-control/{resource}/description` endpoint for allowed Permissions.", "operationId": "setResourcePermissions",