mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Add move endpoint into folder service (#58575)
* add move endpoint * change signatures
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
"github.com/grafana/grafana/pkg/api/response"
|
||||
"github.com/grafana/grafana/pkg/models"
|
||||
"github.com/grafana/grafana/pkg/services/dashboards"
|
||||
"github.com/grafana/grafana/pkg/services/featuremgmt"
|
||||
"github.com/grafana/grafana/pkg/services/folder"
|
||||
"github.com/grafana/grafana/pkg/services/guardian"
|
||||
"github.com/grafana/grafana/pkg/services/libraryelements"
|
||||
@@ -131,6 +132,32 @@ func (hs *HTTPServer) CreateFolder(c *models.ReqContext) response.Response {
|
||||
return response.JSON(http.StatusOK, hs.newToFolderDto(c, g, folder))
|
||||
}
|
||||
|
||||
func (hs *HTTPServer) MoveFolder(c *models.ReqContext) response.Response {
|
||||
if hs.Features.IsEnabled(featuremgmt.FlagNestedFolders) {
|
||||
cmd := models.MoveFolderCommand{}
|
||||
if err := web.Bind(c.Req, &cmd); err != nil {
|
||||
return response.Error(http.StatusBadRequest, "bad request data", err)
|
||||
}
|
||||
var theFolder *folder.Folder
|
||||
var err error
|
||||
if cmd.ParentUID != nil {
|
||||
moveCommand := folder.MoveFolderCommand{
|
||||
UID: web.Params(c.Req)[":uid"],
|
||||
NewParentUID: *cmd.ParentUID,
|
||||
OrgID: c.OrgID,
|
||||
}
|
||||
theFolder, err = hs.folderService.Move(c.Req.Context(), &moveCommand)
|
||||
if err != nil {
|
||||
return response.Error(http.StatusInternalServerError, "update folder uid failed", err)
|
||||
}
|
||||
}
|
||||
return response.JSON(http.StatusOK, theFolder)
|
||||
}
|
||||
result := map[string]string{}
|
||||
result["message"] = "To use this service, you need to activate nested folder feature."
|
||||
return response.JSON(http.StatusNotFound, result)
|
||||
}
|
||||
|
||||
// swagger:route PUT /folders/{folder_uid} folders updateFolder
|
||||
//
|
||||
// Update folder.
|
||||
|
||||
Reference in New Issue
Block a user