From 6b30745caa076a3fd1b0e82f9836b5964bc01af3 Mon Sep 17 00:00:00 2001
From: Bjarke Madsen <bjarke.madsen@geant.org>
Date: Fri, 19 Feb 2021 11:28:34 +0100
Subject: [PATCH] Allow setting home dashboard for an organization

---
 brian_dashboard_manager/grafana/organization.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/brian_dashboard_manager/grafana/organization.py b/brian_dashboard_manager/grafana/organization.py
index c301ab8..c989f77 100644
--- a/brian_dashboard_manager/grafana/organization.py
+++ b/brian_dashboard_manager/grafana/organization.py
@@ -4,7 +4,7 @@ import logging
 from typing import Dict, List, Union
 from datetime import datetime
 
-from brian_dashboard_manager.grafana.utils.request import AdminRequest
+from brian_dashboard_manager.grafana.utils.request import AdminRequest, TokenRequest
 
 logger = logging.getLogger(__name__)
 
@@ -87,3 +87,9 @@ def delete_expired_api_tokens(request: AdminRequest, org_id: int) -> bool:
     for token in expired_tokens:
         delete_api_token(request, org_id, token['id'])
     return True
+
+def set_home_dashboard(request: TokenRequest, dashboard_id: int):
+    r = request.put(f'api/org/preferences', json={
+        'homeDashboardId': dashboard_id
+    })
+    return r and r.get('message') == 'Preferences updated'
\ No newline at end of file
-- 
GitLab