diff --git a/ui-admin/src/js/components/database/DatabaseComponent.jsx b/ui-admin/src/js/components/database/DatabaseComponent.jsx index 4acea05e169b3f10b987b9895aaa69065a1004fc..1e35cad3df85a93f8230e4a6fa9caaac4eafb749 100644 --- a/ui-admin/src/js/components/database/DatabaseComponent.jsx +++ b/ui-admin/src/js/components/database/DatabaseComponent.jsx @@ -77,14 +77,16 @@ class DatabaseComponent extends React.PureComponent { logger.log(logger.DEBUG, 'DatabaseComponent.render') const { object } = this.props - return ( - this.state.showDataBrowser - ? - <DataBrowser id={object.id} viewType='list'/> - : - <Container> - <pre>{JSON.stringify(this.state.json || {}, null, 2)}</pre> - </Container> + return this.state.showDataBrowser ? ( + <DataBrowser + id={object.id} + viewType='list' + sessionTokenProvider={() => AppController.getInstance().getSessionToken()} + /> + ) : ( + <Container> + <pre>{JSON.stringify(this.state.json || {}, null, 2)}</pre> + </Container> ) } } 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 ca14a4cbc1fba2e296b3adb6ffd6d43f3a475ad2..bf055b9be5798dc3a11029d144ae3017002d7c26 100644 --- a/ui-admin/src/js/components/database/data-browser/DataBrowser.jsx +++ b/ui-admin/src/js/components/database/data-browser/DataBrowser.jsx @@ -91,26 +91,25 @@ class DataBrowser extends React.Component { super(props, context) autoBind(this) - this.controller = this.props.controller || new DataBrowserController() + const { sessionTokenProvider, controller } = this.props + + this.controller = controller || new DataBrowserController() this.controller.attach(this) this.datastoreServer = new DataStoreServer( 'http://localhost:8085', HTTP_SERVER_URI ) + this.controller.useSessionToken(sessionTokenProvider) + this.state = { - viewType: null, + viewType: props.viewType, files: [], selectedFile: null, multiselectedFiles: new Set([]), showInfo: false, path: '/' } - - // 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 79a005583b83f89775dcff88e12b779ebcfe517b..46de92362d4ae578565dd0cc2f4510ae04e3c1da 100644 --- a/ui-admin/src/js/components/database/data-browser/DataBrowserController.js +++ b/ui-admin/src/js/components/database/data-browser/DataBrowserController.js @@ -41,6 +41,10 @@ export default class DataBrowserController extends ComponentController { }) } + useSessionToken(sessionTokenProvider) { + this.component.datastoreServer.useSession(sessionTokenProvider()) + } + async listFiles() { return new Promise((resolve, reject) => { this.component.datastoreServer.list(this.owner, this.path, true, (data) => {