From fcc6af0cb6247093a1414ccbefef0061b80fa0e7 Mon Sep 17 00:00:00 2001
From: Bjarke Madsen <bjarke.madsen@geant.org>
Date: Tue, 14 Sep 2021 12:48:24 +0200
Subject: [PATCH] Bugfix

---
 brian_dashboard_manager/grafana/dashboard.py | 17 ++++-------------
 brian_dashboard_manager/grafana/provision.py |  8 +++++---
 2 files changed, 9 insertions(+), 16 deletions(-)

diff --git a/brian_dashboard_manager/grafana/dashboard.py b/brian_dashboard_manager/grafana/dashboard.py
index 3ab43d3..8deec69 100644
--- a/brian_dashboard_manager/grafana/dashboard.py
+++ b/brian_dashboard_manager/grafana/dashboard.py
@@ -73,26 +73,17 @@ def delete_dashboards(request: TokenRequest):
     return True
 
 
-# lists all dashboards, optionally within a folder
-def list_dashboards(request: TokenRequest, folder_id=None):
-    params = {
-        'query': ''
-    }
-    if folder_id is not None:
-        params['folderIds'] = folder_id
-
-    r = request.get('api/search', params=params)
-    return r
-
-
 # Searches for a dashboard with given title
-def find_dashboard(request: TokenRequest, title=None):
+def find_dashboard(request: TokenRequest, title=None, folder_id=None):
     param = {
         **({'query': title} if title else {}),
         'type': 'dash-db',
         'limit': 5000,
         'page': 1
     }
+    if folder_id is not None:
+        param['folderIds'] = folder_id
+
     r = request.get('api/search', params=param)
     if r and len(r) > 0:
         if title:
diff --git a/brian_dashboard_manager/grafana/provision.py b/brian_dashboard_manager/grafana/provision.py
index 7a9bc70..3ca0877 100644
--- a/brian_dashboard_manager/grafana/provision.py
+++ b/brian_dashboard_manager/grafana/provision.py
@@ -18,8 +18,7 @@ from brian_dashboard_manager.grafana.organization import \
     get_organizations, create_organization, create_api_token, \
     delete_api_token, delete_expired_api_tokens, set_home_dashboard
 from brian_dashboard_manager.grafana.dashboard import find_dashboard, \
-    get_dashboard_definitions, create_dashboard, delete_dashboard, \
-    list_dashboards
+    get_dashboard_definitions, create_dashboard, delete_dashboard
 from brian_dashboard_manager.grafana.datasource import \
     check_provisioned, create_datasource
 from brian_dashboard_manager.grafana.folder import find_folder, \
@@ -457,7 +456,10 @@ def provision(config):
             folder = find_folder(token_request, name, create=False)
             if folder is None:
                 continue
-            to_ignore = list_dashboards(token_request, folder['id'])
+            to_ignore = find_dashboard(token_request, folder_id=folder['id'])
+
+            if to_ignore is None:
+                continue
 
             for dash in to_ignore:
                 # mark it updated, so we don't modify it.
-- 
GitLab