Skip to content

Commit

Permalink
feat: allow updating the folder UID
Browse files Browse the repository at this point in the history
Signed-off-by: Noah Krause <krausenoah@gmail.com>
  • Loading branch information
iNoahNothing authored and amotl committed Sep 14, 2022
1 parent dce5a30 commit 7cb2723
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 3 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Expand Up @@ -2,6 +2,9 @@

## unreleased

* Update the `update_folder` method of the folder API to allow changing
the UID of the folder. Thanks, @iNoahNothing.


## 3.0.0 (2022-07-02)

Expand Down
11 changes: 8 additions & 3 deletions grafana_client/elements/folder.py
Expand Up @@ -37,17 +37,22 @@ def create_folder(self, title, uid=None):
json_data["uid"] = uid
return self.client.POST("/folders", json=json_data)

def update_folder(self, uid, title, version=None, overwrite=False):
def update_folder(self, uid, title=None, version=None, overwrite=False, new_uid=None):
"""
:param uid:
:param title:
:param version:
:param overwrite:
:param new_uid:
:return:
"""
body = {"title": title}
if version is not None:
body = {}
if new_uid:
body["uid"] = new_uid
if title:
body["title"] = title
if version:
body["version"] = version
if overwrite:
body["overwrite"] = True
Expand Down
27 changes: 27 additions & 0 deletions test/elements/test_folder.py
Expand Up @@ -110,6 +110,33 @@ def test_update_folder(self, m):
)
folder = self.grafana.folder.update_folder(title="Departmenet DEF", uid="nErXDvCkzz", version=1, overwrite=True)
self.assertEqual(folder["title"], "Departmenet DEF")
self.assertEqual(folder["uid"], "nErXDvCkzz")

@requests_mock.Mocker()
def test_update_folder_uid(self, m):
m.put(
"http://localhost/api/folders/nErXDvCkzz",
json={
"id": 1,
"uid": "oFsYEwDlaa",
"title": "Departmenet DEF",
"url": "/dashboards/f/oFsYEwDlaa/department-def",
"hasAcl": "false",
"canSave": "false",
"canEdit": "false",
"canAdmin": "false",
"createdBy": "admin",
"created": "2018-01-31T17:43:12+01:00",
"updatedBy": "admin",
"updated": "2018-01-31T17:43:12+01:00",
"version": 1,
},
)
folder = self.grafana.folder.update_folder(
title="Departmenet DEF", uid="nErXDvCkzz", new_uid="oFsYEwDlaa", version=1, overwrite=True
)
self.assertEqual(folder["title"], "Departmenet DEF")
self.assertEqual(folder["uid"], "oFsYEwDlaa")

@requests_mock.Mocker()
def test_update_folder_some_param(self, m):
Expand Down

0 comments on commit 7cb2723

Please sign in to comment.