From 4708f542646c064dfd0156a27dea2f8d4389e205 Mon Sep 17 00:00:00 2001
From: vkovtun <viktor.kovtun@id.ethz.ch>
Date: Sat, 5 Aug 2023 13:44:20 +0200
Subject: [PATCH] SSDM-13579: Put login to the constructor of DataBrowser so
 that it is called only once.

---
 .../js/components/database/data-browser/DataBrowser.jsx    | 7 ++++++-
 .../database/data-browser/DataBrowserController.js         | 2 --
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/ui-admin/src/js/components/database/data-browser/DataBrowser.jsx b/ui-admin/src/js/components/database/data-browser/DataBrowser.jsx
index 40c570d3ce3..933395b64d9 100644
--- a/ui-admin/src/js/components/database/data-browser/DataBrowser.jsx
+++ b/ui-admin/src/js/components/database/data-browser/DataBrowser.jsx
@@ -98,12 +98,17 @@ class DataBrowser extends React.Component {
     )
 
     this.state = {
-      viewType: props.viewType,
+      viewType: null,
       files: [],
       selectedFile: null,
       multiselectedFiles: new Set([]),
       showInfo: false
     }
+
+    // Login for all subsequent requests
+    this.controller.login().then(() => {
+      this.setState({ viewType: props.viewType })
+    })
   }
   handleViewTypeChange(viewType) {
     this.setState({ viewType })
diff --git a/ui-admin/src/js/components/database/data-browser/DataBrowserController.js b/ui-admin/src/js/components/database/data-browser/DataBrowserController.js
index 3d88196c419..f01d86aad4c 100644
--- a/ui-admin/src/js/components/database/data-browser/DataBrowserController.js
+++ b/ui-admin/src/js/components/database/data-browser/DataBrowserController.js
@@ -55,7 +55,6 @@ export default class DataBrowserController extends ComponentController {
   }
 
   async load() {
-    await this.login()
     const files = await this.listFiles()
     await this.setState({ files })
     return await files.map(file => ({ id: file.name, ...file }))
@@ -77,7 +76,6 @@ export default class DataBrowserController extends ComponentController {
   }
 
   async delete(paths) {
-    // console.log(paths)
     return new Promise((resolve, reject) => {
       const pathsLength = paths.length
       let responsesCount = 0
-- 
GitLab