From adedc1c27e2f21ecc3066c7ed592cf530bf68f16 Mon Sep 17 00:00:00 2001
From: Bjarke Madsen <bjarke.madsen@geant.org>
Date: Tue, 23 Mar 2021 17:01:14 +0100
Subject: [PATCH] Overwrite datasources with the same name

---
 brian_dashboard_manager/grafana/datasource.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/brian_dashboard_manager/grafana/datasource.py b/brian_dashboard_manager/grafana/datasource.py
index 31dfa3e..32f40cf 100644
--- a/brian_dashboard_manager/grafana/datasource.py
+++ b/brian_dashboard_manager/grafana/datasource.py
@@ -40,8 +40,14 @@ def get_missing_datasource_definitions(request: Request, dir=None):
 
 
 def check_provisioned(request: TokenRequest, datasource):
-    existing_datasources = get_datasources(request)
-    return _datasource_provisioned(datasource, existing_datasources)
+    existing = get_datasources(request)
+    exists = _datasource_provisioned(datasource, existing)
+    name = datasource.get('name')
+    if not exists and any([ds['name'] == name for ds in existing]):
+        # delete datasource
+        delete_datasource(request, name)
+        return False
+    return exists
 
 
 def get_datasources(request: Request):
-- 
GitLab