// SPDX-License-Identifier: AGPL-3.0
import { Dispatch } from "redux";
-import { RootState } from "~/store/store";
-import { ServiceRepository } from "~/services/services";
-import { dialogActions } from '~/store/dialog/dialog-actions';
+import { RootState } from "store/store";
+import { ServiceRepository } from "services/services";
+import { dialogActions } from 'store/dialog/dialog-actions';
+import { getNewExtraToken } from "../auth/auth-action";
+import { CollectionResource } from "models/collection";
export const COLLECTION_WEBDAV_S3_DIALOG_NAME = 'collectionWebdavS3Dialog';
uuid: string;
token: string;
downloadUrl: string;
- homeCluster: string;
+ collectionsUrl: string;
localCluster: string;
username: string;
activeTab: number;
+ collectionName: string;
setActiveTab: (event: any, tabNr: number) => void;
}
export const openWebDavS3InfoDialog = (uuid: string, activeTab?: number) =>
- (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
+ async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
+ await dispatch<any>(getNewExtraToken(true));
dispatch(dialogActions.OPEN_DIALOG({
id: COLLECTION_WEBDAV_S3_DIALOG_NAME,
data: {
- title: 'Access Collection using WebDAV or S3',
- token: getState().auth.apiToken,
- downloadUrl: getState().auth.config.keepWebInlineServiceUrl,
- homeCluster: getState().auth.homeCluster,
+ title: 'Open with 3rd party client',
+ token: getState().auth.extraApiToken || getState().auth.apiToken,
+ downloadUrl: getState().auth.config.keepWebServiceUrl,
+ collectionsUrl: getState().auth.config.keepWebInlineServiceUrl,
localCluster: getState().auth.localCluster,
username: getState().auth.user!.username,
activeTab: activeTab || 0,
+ collectionName: (getState().resources[uuid] as CollectionResource).name,
setActiveTab: (event: any, tabNr: number) => dispatch<any>(openWebDavS3InfoDialog(uuid, tabNr)),
uuid
}