mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Chore: add Folderuid into panel-library API (#48577)
* add folderuid into interface * panellibrary id/uid things * modify doc * update doc * correct some comments
This commit is contained in:
parent
60cabaea0a
commit
0d14c27eb9
@ -269,7 +269,8 @@ Creates a new library element.
|
|||||||
|
|
||||||
JSON Body schema:
|
JSON Body schema:
|
||||||
|
|
||||||
- **folderId** – Optional, the ID of the folder where the library element is stored.
|
- **folderId** – ID of the folder where the library element is stored. It is deprecated since Grafana v9
|
||||||
|
- **folderUid** – Optional, the UID of the folder where the library element is stored, empty string when it is General folder
|
||||||
- **name** – Optional, the name of the library element.
|
- **name** – Optional, the name of the library element.
|
||||||
- **model** – The JSON model for the library element.
|
- **model** – The JSON model for the library element.
|
||||||
- **kind** – Kind of element to create, Use `1` for library panels or `2` for library variables.
|
- **kind** – Kind of element to create, Use `1` for library panels or `2` for library variables.
|
||||||
@ -285,7 +286,7 @@ Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
|||||||
|
|
||||||
{
|
{
|
||||||
"uid": "nErXDvCkzz",
|
"uid": "nErXDvCkzz",
|
||||||
"folderId": 0,
|
"folderUid": "",
|
||||||
"name": "Example library panel",
|
"name": "Example library panel",
|
||||||
"model": {...},
|
"model": {...},
|
||||||
"kind": 1
|
"kind": 1
|
||||||
@ -303,6 +304,7 @@ Content-Type: application/json
|
|||||||
"id": 28,
|
"id": 28,
|
||||||
"orgId": 1,
|
"orgId": 1,
|
||||||
"folderId": 0,
|
"folderId": 0,
|
||||||
|
"folderUid": "",
|
||||||
"uid": "nErXDvCkzz",
|
"uid": "nErXDvCkzz",
|
||||||
"name": "Example library panel",
|
"name": "Example library panel",
|
||||||
"kind": 1,
|
"kind": 1,
|
||||||
@ -346,7 +348,8 @@ Updates an existing library element identified by uid.
|
|||||||
|
|
||||||
JSON Body schema:
|
JSON Body schema:
|
||||||
|
|
||||||
- **folderId** – ID of the folder where the library element is stored.
|
- **folderId** – ID of the folder where the library element is stored. It is deprecated since Grafana v9
|
||||||
|
- **folderUid** – UID of the folder where the library element is stored, empty string when it is General folder.
|
||||||
- **name** – Name of the library element.
|
- **name** – Name of the library element.
|
||||||
- **model** – The JSON model for the library element.
|
- **model** – The JSON model for the library element.
|
||||||
- **kind** – Kind of element to create. Use `1` for library panels or `2` for library variables.
|
- **kind** – Kind of element to create. Use `1` for library panels or `2` for library variables.
|
||||||
@ -379,6 +382,7 @@ Content-Type: application/json
|
|||||||
"id": 28,
|
"id": 28,
|
||||||
"orgId": 1,
|
"orgId": 1,
|
||||||
"folderId": 0,
|
"folderId": 0,
|
||||||
|
"folderUid": "",
|
||||||
"uid": "nErXDvCkzz",
|
"uid": "nErXDvCkzz",
|
||||||
"name": "Renamed library panel",
|
"name": "Renamed library panel",
|
||||||
"kind": 1,
|
"kind": 1,
|
||||||
|
@ -30,11 +30,33 @@ func (l *LibraryElementService) createHandler(c *models.ReqContext) response.Res
|
|||||||
return response.Error(http.StatusBadRequest, "bad request data", err)
|
return response.Error(http.StatusBadRequest, "bad request data", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if cmd.FolderUID != nil {
|
||||||
|
if *cmd.FolderUID == "" {
|
||||||
|
cmd.FolderID = 0
|
||||||
|
} else {
|
||||||
|
folder, err := l.folderService.GetFolderByUID(c.Req.Context(), c.SignedInUser, c.OrgId, *cmd.FolderUID)
|
||||||
|
if err != nil || folder == nil {
|
||||||
|
return response.Error(http.StatusBadRequest, "failed to get folder", err)
|
||||||
|
}
|
||||||
|
cmd.FolderID = folder.Id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
element, err := l.createLibraryElement(c.Req.Context(), c.SignedInUser, cmd)
|
element, err := l.createLibraryElement(c.Req.Context(), c.SignedInUser, cmd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return toLibraryElementError(err, "Failed to create library element")
|
return toLibraryElementError(err, "Failed to create library element")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if element.FolderID != 0 {
|
||||||
|
folder, err := l.folderService.GetFolderByID(c.Req.Context(), c.SignedInUser, element.FolderID, c.OrgId)
|
||||||
|
if err != nil {
|
||||||
|
return response.Error(http.StatusInternalServerError, "failed to get folder", err)
|
||||||
|
}
|
||||||
|
element.FolderUID = folder.Uid
|
||||||
|
element.Meta.FolderUID = folder.Uid
|
||||||
|
element.Meta.FolderName = folder.Title
|
||||||
|
}
|
||||||
|
|
||||||
return response.JSON(http.StatusOK, LibraryElementResponse{Result: element})
|
return response.JSON(http.StatusOK, LibraryElementResponse{Result: element})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,11 +110,33 @@ func (l *LibraryElementService) patchHandler(c *models.ReqContext) response.Resp
|
|||||||
return response.Error(http.StatusBadRequest, "bad request data", err)
|
return response.Error(http.StatusBadRequest, "bad request data", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if cmd.FolderUID != nil {
|
||||||
|
if *cmd.FolderUID == "" {
|
||||||
|
cmd.FolderID = 0
|
||||||
|
} else {
|
||||||
|
folder, err := l.folderService.GetFolderByUID(c.Req.Context(), c.SignedInUser, c.OrgId, *cmd.FolderUID)
|
||||||
|
if err != nil || folder == nil {
|
||||||
|
return response.Error(http.StatusBadRequest, "failed to get folder", err)
|
||||||
|
}
|
||||||
|
cmd.FolderID = folder.Id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
element, err := l.patchLibraryElement(c.Req.Context(), c.SignedInUser, cmd, web.Params(c.Req)[":uid"])
|
element, err := l.patchLibraryElement(c.Req.Context(), c.SignedInUser, cmd, web.Params(c.Req)[":uid"])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return toLibraryElementError(err, "Failed to update library element")
|
return toLibraryElementError(err, "Failed to update library element")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if element.FolderID != 0 {
|
||||||
|
folder, err := l.folderService.GetFolderByID(c.Req.Context(), c.SignedInUser, element.FolderID, c.OrgId)
|
||||||
|
if err != nil {
|
||||||
|
return response.Error(http.StatusInternalServerError, "failed to get folder", err)
|
||||||
|
}
|
||||||
|
element.FolderUID = folder.Uid
|
||||||
|
element.Meta.FolderUID = folder.Uid
|
||||||
|
element.Meta.FolderName = folder.Title
|
||||||
|
}
|
||||||
|
|
||||||
return response.JSON(http.StatusOK, LibraryElementResponse{Result: element})
|
return response.JSON(http.StatusOK, LibraryElementResponse{Result: element})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -245,6 +245,7 @@ func getLibraryElements(c context.Context, store *sqlstore.SQLStore, signedInUse
|
|||||||
ID: libraryElement.ID,
|
ID: libraryElement.ID,
|
||||||
OrgID: libraryElement.OrgID,
|
OrgID: libraryElement.OrgID,
|
||||||
FolderID: libraryElement.FolderID,
|
FolderID: libraryElement.FolderID,
|
||||||
|
FolderUID: libraryElement.FolderUID,
|
||||||
UID: libraryElement.UID,
|
UID: libraryElement.UID,
|
||||||
Name: libraryElement.Name,
|
Name: libraryElement.Name,
|
||||||
Kind: libraryElement.Kind,
|
Kind: libraryElement.Kind,
|
||||||
@ -357,6 +358,7 @@ func (l *LibraryElementService) getAllLibraryElements(c context.Context, signedI
|
|||||||
ID: element.ID,
|
ID: element.ID,
|
||||||
OrgID: element.OrgID,
|
OrgID: element.OrgID,
|
||||||
FolderID: element.FolderID,
|
FolderID: element.FolderID,
|
||||||
|
FolderUID: element.FolderUID,
|
||||||
UID: element.UID,
|
UID: element.UID,
|
||||||
Name: element.Name,
|
Name: element.Name,
|
||||||
Kind: element.Kind,
|
Kind: element.Kind,
|
||||||
@ -530,7 +532,6 @@ func (l *LibraryElementService) patchLibraryElement(c context.Context, signedInU
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -40,6 +40,8 @@ func TestCreateLibraryElement(t *testing.T) {
|
|||||||
},
|
},
|
||||||
Version: 1,
|
Version: 1,
|
||||||
Meta: LibraryElementDTOMeta{
|
Meta: LibraryElementDTOMeta{
|
||||||
|
FolderName: "ScenarioFolder",
|
||||||
|
FolderUID: "ScenarioFolder",
|
||||||
ConnectedDashboards: 0,
|
ConnectedDashboards: 0,
|
||||||
Created: sc.initialResult.Result.Meta.Created,
|
Created: sc.initialResult.Result.Meta.Created,
|
||||||
Updated: sc.initialResult.Result.Meta.Updated,
|
Updated: sc.initialResult.Result.Meta.Updated,
|
||||||
@ -87,6 +89,8 @@ func TestCreateLibraryElement(t *testing.T) {
|
|||||||
},
|
},
|
||||||
Version: 1,
|
Version: 1,
|
||||||
Meta: LibraryElementDTOMeta{
|
Meta: LibraryElementDTOMeta{
|
||||||
|
FolderName: "ScenarioFolder",
|
||||||
|
FolderUID: "ScenarioFolder",
|
||||||
ConnectedDashboards: 0,
|
ConnectedDashboards: 0,
|
||||||
Created: result.Result.Meta.Created,
|
Created: result.Result.Meta.Created,
|
||||||
Updated: result.Result.Meta.Updated,
|
Updated: result.Result.Meta.Updated,
|
||||||
@ -160,6 +164,8 @@ func TestCreateLibraryElement(t *testing.T) {
|
|||||||
},
|
},
|
||||||
Version: 1,
|
Version: 1,
|
||||||
Meta: LibraryElementDTOMeta{
|
Meta: LibraryElementDTOMeta{
|
||||||
|
FolderName: "ScenarioFolder",
|
||||||
|
FolderUID: "ScenarioFolder",
|
||||||
ConnectedDashboards: 0,
|
ConnectedDashboards: 0,
|
||||||
Created: result.Result.Meta.Created,
|
Created: result.Result.Meta.Created,
|
||||||
Updated: result.Result.Meta.Updated,
|
Updated: result.Result.Meta.Updated,
|
||||||
|
@ -63,6 +63,8 @@ func TestPatchLibraryElement(t *testing.T) {
|
|||||||
},
|
},
|
||||||
Version: 2,
|
Version: 2,
|
||||||
Meta: LibraryElementDTOMeta{
|
Meta: LibraryElementDTOMeta{
|
||||||
|
FolderName: "NewFolder",
|
||||||
|
FolderUID: "NewFolder",
|
||||||
ConnectedDashboards: 0,
|
ConnectedDashboards: 0,
|
||||||
Created: sc.initialResult.Result.Meta.Created,
|
Created: sc.initialResult.Result.Meta.Created,
|
||||||
Updated: result.Result.Meta.Updated,
|
Updated: result.Result.Meta.Updated,
|
||||||
@ -102,6 +104,8 @@ func TestPatchLibraryElement(t *testing.T) {
|
|||||||
sc.initialResult.Result.Meta.CreatedBy.AvatarURL = userInDbAvatar
|
sc.initialResult.Result.Meta.CreatedBy.AvatarURL = userInDbAvatar
|
||||||
sc.initialResult.Result.Meta.Updated = result.Result.Meta.Updated
|
sc.initialResult.Result.Meta.Updated = result.Result.Meta.Updated
|
||||||
sc.initialResult.Result.Version = 2
|
sc.initialResult.Result.Version = 2
|
||||||
|
sc.initialResult.Result.Meta.FolderName = "NewFolder"
|
||||||
|
sc.initialResult.Result.Meta.FolderUID = "NewFolder"
|
||||||
if diff := cmp.Diff(sc.initialResult.Result, result.Result, getCompareOptions()...); diff != "" {
|
if diff := cmp.Diff(sc.initialResult.Result, result.Result, getCompareOptions()...); diff != "" {
|
||||||
t.Fatalf("Result mismatch (-want +got):\n%s", diff)
|
t.Fatalf("Result mismatch (-want +got):\n%s", diff)
|
||||||
}
|
}
|
||||||
|
@ -64,6 +64,7 @@ type LibraryElementDTO struct {
|
|||||||
ID int64 `json:"id"`
|
ID int64 `json:"id"`
|
||||||
OrgID int64 `json:"orgId"`
|
OrgID int64 `json:"orgId"`
|
||||||
FolderID int64 `json:"folderId"`
|
FolderID int64 `json:"folderId"`
|
||||||
|
FolderUID string `json:"folderUid"`
|
||||||
UID string `json:"uid"`
|
UID string `json:"uid"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Kind int64 `json:"kind"`
|
Kind int64 `json:"kind"`
|
||||||
@ -162,6 +163,8 @@ var (
|
|||||||
type CreateLibraryElementCommand struct {
|
type CreateLibraryElementCommand struct {
|
||||||
// ID of the folder where the library element is stored.
|
// ID of the folder where the library element is stored.
|
||||||
FolderID int64 `json:"folderId"`
|
FolderID int64 `json:"folderId"`
|
||||||
|
// UID of the folder where the library element is stored.
|
||||||
|
FolderUID *string `json:"folderUid"`
|
||||||
// Name of the library element.
|
// Name of the library element.
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
// The JSON model for the library element.
|
// The JSON model for the library element.
|
||||||
@ -181,6 +184,8 @@ type CreateLibraryElementCommand struct {
|
|||||||
type PatchLibraryElementCommand struct {
|
type PatchLibraryElementCommand struct {
|
||||||
// ID of the folder where the library element is stored.
|
// ID of the folder where the library element is stored.
|
||||||
FolderID int64 `json:"folderId" binding:"Default(-1)"`
|
FolderID int64 `json:"folderId" binding:"Default(-1)"`
|
||||||
|
// UID of the folder where the library element is stored.
|
||||||
|
FolderUID *string `json:"folderUid"`
|
||||||
// Name of the library element.
|
// Name of the library element.
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
// The JSON model for the library element.
|
// The JSON model for the library element.
|
||||||
|
@ -506,14 +506,6 @@
|
|||||||
"summary": "Add a user role assignment.",
|
"summary": "Add a user role assignment.",
|
||||||
"operationId": "addUserRole",
|
"operationId": "addUserRole",
|
||||||
"parameters": [
|
"parameters": [
|
||||||
{
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int64",
|
|
||||||
"x-go-name": "UserID",
|
|
||||||
"name": "user_id",
|
|
||||||
"in": "path",
|
|
||||||
"required": true
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"x-go-name": "Body",
|
"x-go-name": "Body",
|
||||||
"name": "body",
|
"name": "body",
|
||||||
@ -522,6 +514,14 @@
|
|||||||
"schema": {
|
"schema": {
|
||||||
"$ref": "#/definitions/AddUserRoleCommand"
|
"$ref": "#/definitions/AddUserRoleCommand"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"format": "int64",
|
||||||
|
"x-go-name": "UserID",
|
||||||
|
"name": "user_id",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@ -547,14 +547,6 @@
|
|||||||
"summary": "Remove a user role assignment.",
|
"summary": "Remove a user role assignment.",
|
||||||
"operationId": "removeUserRole",
|
"operationId": "removeUserRole",
|
||||||
"parameters": [
|
"parameters": [
|
||||||
{
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int64",
|
|
||||||
"x-go-name": "UserID",
|
|
||||||
"name": "user_id",
|
|
||||||
"in": "path",
|
|
||||||
"required": true
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"x-go-name": "RoleUID",
|
"x-go-name": "RoleUID",
|
||||||
@ -568,6 +560,14 @@
|
|||||||
"description": "A flag indicating if the assignment is global or not. If set to false, the default org ID of the authenticated user will be used from the request to remove assignment.",
|
"description": "A flag indicating if the assignment is global or not. If set to false, the default org ID of the authenticated user will be used from the request to remove assignment.",
|
||||||
"name": "global",
|
"name": "global",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"format": "int64",
|
||||||
|
"x-go-name": "UserID",
|
||||||
|
"name": "user_id",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@ -8261,6 +8261,14 @@
|
|||||||
"summary": "Add External Group.",
|
"summary": "Add External Group.",
|
||||||
"operationId": "addTeamGroupApi",
|
"operationId": "addTeamGroupApi",
|
||||||
"parameters": [
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"format": "int64",
|
||||||
|
"x-go-name": "TeamID",
|
||||||
|
"name": "teamId",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"x-go-name": "Body",
|
"x-go-name": "Body",
|
||||||
"name": "body",
|
"name": "body",
|
||||||
@ -8269,14 +8277,6 @@
|
|||||||
"schema": {
|
"schema": {
|
||||||
"$ref": "#/definitions/TeamGroupMapping"
|
"$ref": "#/definitions/TeamGroupMapping"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int64",
|
|
||||||
"x-go-name": "TeamID",
|
|
||||||
"name": "teamId",
|
|
||||||
"in": "path",
|
|
||||||
"required": true
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@ -8310,16 +8310,16 @@
|
|||||||
{
|
{
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"format": "int64",
|
"format": "int64",
|
||||||
"x-go-name": "GroupID",
|
"x-go-name": "TeamID",
|
||||||
"name": "groupId",
|
"name": "teamId",
|
||||||
"in": "path",
|
"in": "path",
|
||||||
"required": true
|
"required": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"format": "int64",
|
"format": "int64",
|
||||||
"x-go-name": "TeamID",
|
"x-go-name": "GroupID",
|
||||||
"name": "teamId",
|
"name": "groupId",
|
||||||
"in": "path",
|
"in": "path",
|
||||||
"required": true
|
"required": true
|
||||||
}
|
}
|
||||||
@ -10919,6 +10919,11 @@
|
|||||||
"format": "int64",
|
"format": "int64",
|
||||||
"x-go-name": "FolderID"
|
"x-go-name": "FolderID"
|
||||||
},
|
},
|
||||||
|
"folderUID": {
|
||||||
|
"description": "UID of the folder where the library element is stored.",
|
||||||
|
"type": "string",
|
||||||
|
"x-go-name": "FolderUID"
|
||||||
|
},
|
||||||
"kind": {
|
"kind": {
|
||||||
"description": "Kind of element to create, Use 1 for library panels or 2 for c.\nDescription:\n1 - library panels\n2 - library variables",
|
"description": "Kind of element to create, Use 1 for library panels or 2 for c.\nDescription:\n1 - library panels\n2 - library variables",
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
@ -13326,6 +13331,10 @@
|
|||||||
"format": "int64",
|
"format": "int64",
|
||||||
"x-go-name": "FolderID"
|
"x-go-name": "FolderID"
|
||||||
},
|
},
|
||||||
|
"folderUID": {
|
||||||
|
"type": "string",
|
||||||
|
"x-go-name": "FolderUID"
|
||||||
|
},
|
||||||
"id": {
|
"id": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"format": "int64",
|
"format": "int64",
|
||||||
@ -13638,7 +13647,7 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"id": {
|
"id": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"x-go-name": "ID"
|
"x-go-name": "Id"
|
||||||
},
|
},
|
||||||
"target": {
|
"target": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
@ -13653,7 +13662,7 @@
|
|||||||
"x-go-name": "Url"
|
"x-go-name": "Url"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"x-go-package": "github.com/grafana/grafana/pkg/services/preference"
|
"x-go-package": "github.com/grafana/grafana/pkg/models"
|
||||||
},
|
},
|
||||||
"NavbarPreference": {
|
"NavbarPreference": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@ -14113,6 +14122,11 @@
|
|||||||
"format": "int64",
|
"format": "int64",
|
||||||
"x-go-name": "FolderID"
|
"x-go-name": "FolderID"
|
||||||
},
|
},
|
||||||
|
"folderUID": {
|
||||||
|
"description": "UID of the folder where the library element is stored.",
|
||||||
|
"type": "string",
|
||||||
|
"x-go-name": "FolderUID"
|
||||||
|
},
|
||||||
"kind": {
|
"kind": {
|
||||||
"description": "Kind of element to create, Use 1 for library panels or 2 for c.\nDescription:\n1 - library panels\n2 - library variables",
|
"description": "Kind of element to create, Use 1 for library panels or 2 for c.\nDescription:\n1 - library panels\n2 - library variables",
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
|
@ -506,14 +506,6 @@
|
|||||||
"summary": "Add a user role assignment.",
|
"summary": "Add a user role assignment.",
|
||||||
"operationId": "addUserRole",
|
"operationId": "addUserRole",
|
||||||
"parameters": [
|
"parameters": [
|
||||||
{
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int64",
|
|
||||||
"x-go-name": "UserID",
|
|
||||||
"name": "user_id",
|
|
||||||
"in": "path",
|
|
||||||
"required": true
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"x-go-name": "Body",
|
"x-go-name": "Body",
|
||||||
"name": "body",
|
"name": "body",
|
||||||
@ -522,6 +514,14 @@
|
|||||||
"schema": {
|
"schema": {
|
||||||
"$ref": "#/definitions/AddUserRoleCommand"
|
"$ref": "#/definitions/AddUserRoleCommand"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"format": "int64",
|
||||||
|
"x-go-name": "UserID",
|
||||||
|
"name": "user_id",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@ -547,14 +547,6 @@
|
|||||||
"summary": "Remove a user role assignment.",
|
"summary": "Remove a user role assignment.",
|
||||||
"operationId": "removeUserRole",
|
"operationId": "removeUserRole",
|
||||||
"parameters": [
|
"parameters": [
|
||||||
{
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int64",
|
|
||||||
"x-go-name": "UserID",
|
|
||||||
"name": "user_id",
|
|
||||||
"in": "path",
|
|
||||||
"required": true
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"x-go-name": "RoleUID",
|
"x-go-name": "RoleUID",
|
||||||
@ -568,6 +560,14 @@
|
|||||||
"description": "A flag indicating if the assignment is global or not. If set to false, the default org ID of the authenticated user will be used from the request to remove assignment.",
|
"description": "A flag indicating if the assignment is global or not. If set to false, the default org ID of the authenticated user will be used from the request to remove assignment.",
|
||||||
"name": "global",
|
"name": "global",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"format": "int64",
|
||||||
|
"x-go-name": "UserID",
|
||||||
|
"name": "user_id",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@ -6670,6 +6670,14 @@
|
|||||||
"summary": "Add External Group.",
|
"summary": "Add External Group.",
|
||||||
"operationId": "addTeamGroupApi",
|
"operationId": "addTeamGroupApi",
|
||||||
"parameters": [
|
"parameters": [
|
||||||
|
{
|
||||||
|
"type": "integer",
|
||||||
|
"format": "int64",
|
||||||
|
"x-go-name": "TeamID",
|
||||||
|
"name": "teamId",
|
||||||
|
"in": "path",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"x-go-name": "Body",
|
"x-go-name": "Body",
|
||||||
"name": "body",
|
"name": "body",
|
||||||
@ -6678,14 +6686,6 @@
|
|||||||
"schema": {
|
"schema": {
|
||||||
"$ref": "#/definitions/TeamGroupMapping"
|
"$ref": "#/definitions/TeamGroupMapping"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int64",
|
|
||||||
"x-go-name": "TeamID",
|
|
||||||
"name": "teamId",
|
|
||||||
"in": "path",
|
|
||||||
"required": true
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@ -6719,16 +6719,16 @@
|
|||||||
{
|
{
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"format": "int64",
|
"format": "int64",
|
||||||
"x-go-name": "GroupID",
|
"x-go-name": "TeamID",
|
||||||
"name": "groupId",
|
"name": "teamId",
|
||||||
"in": "path",
|
"in": "path",
|
||||||
"required": true
|
"required": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"format": "int64",
|
"format": "int64",
|
||||||
"x-go-name": "TeamID",
|
"x-go-name": "GroupID",
|
||||||
"name": "teamId",
|
"name": "groupId",
|
||||||
"in": "path",
|
"in": "path",
|
||||||
"required": true
|
"required": true
|
||||||
}
|
}
|
||||||
@ -8906,6 +8906,11 @@
|
|||||||
"format": "int64",
|
"format": "int64",
|
||||||
"x-go-name": "FolderID"
|
"x-go-name": "FolderID"
|
||||||
},
|
},
|
||||||
|
"folderUID": {
|
||||||
|
"description": "UID of the folder where the library element is stored.",
|
||||||
|
"type": "string",
|
||||||
|
"x-go-name": "FolderUID"
|
||||||
|
},
|
||||||
"kind": {
|
"kind": {
|
||||||
"description": "Kind of element to create, Use 1 for library panels or 2 for c.\nDescription:\n1 - library panels\n2 - library variables",
|
"description": "Kind of element to create, Use 1 for library panels or 2 for c.\nDescription:\n1 - library panels\n2 - library variables",
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
@ -10493,6 +10498,10 @@
|
|||||||
"format": "int64",
|
"format": "int64",
|
||||||
"x-go-name": "FolderID"
|
"x-go-name": "FolderID"
|
||||||
},
|
},
|
||||||
|
"folderUID": {
|
||||||
|
"type": "string",
|
||||||
|
"x-go-name": "FolderUID"
|
||||||
|
},
|
||||||
"id": {
|
"id": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"format": "int64",
|
"format": "int64",
|
||||||
@ -10721,7 +10730,7 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"id": {
|
"id": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"x-go-name": "ID"
|
"x-go-name": "Id"
|
||||||
},
|
},
|
||||||
"target": {
|
"target": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
@ -10736,7 +10745,7 @@
|
|||||||
"x-go-name": "Url"
|
"x-go-name": "Url"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"x-go-package": "github.com/grafana/grafana/pkg/services/preference"
|
"x-go-package": "github.com/grafana/grafana/pkg/models"
|
||||||
},
|
},
|
||||||
"NavbarPreference": {
|
"NavbarPreference": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@ -10938,6 +10947,11 @@
|
|||||||
"format": "int64",
|
"format": "int64",
|
||||||
"x-go-name": "FolderID"
|
"x-go-name": "FolderID"
|
||||||
},
|
},
|
||||||
|
"folderUID": {
|
||||||
|
"description": "UID of the folder where the library element is stored.",
|
||||||
|
"type": "string",
|
||||||
|
"x-go-name": "FolderUID"
|
||||||
|
},
|
||||||
"kind": {
|
"kind": {
|
||||||
"description": "Kind of element to create, Use 1 for library panels or 2 for c.\nDescription:\n1 - library panels\n2 - library variables",
|
"description": "Kind of element to create, Use 1 for library panels or 2 for c.\nDescription:\n1 - library panels\n2 - library variables",
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
|
Loading…
Reference in New Issue
Block a user