Skip to content

Commit a5e375b

Browse files
fix: BROS-305: Unable to reset bucket prefix (#8127)
1 parent daae670 commit a5e375b

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

web/libs/app-common/src/blocks/StorageProviderForm/hooks/useStorageApi.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { useContext, useCallback } from "react";
22
import { useMutation } from "@tanstack/react-query";
33
import { ApiContext } from "apps/labelstudio/src/providers/ApiProvider";
44
import { isDefined } from "apps/labelstudio/src/utils/helpers";
5+
import { getProviderConfig } from "../providers";
56

67
interface UseStorageApiProps {
78
target?: "import" | "export";
@@ -22,9 +23,20 @@ export const useStorageApi = ({ target, storage, project, onSubmit, onClose }: U
2223
if (!isEditMode) return data;
2324

2425
const cleanedData = { ...data };
25-
// Remove empty access key fields in edit mode
26+
27+
// Get the current provider config to identify access key fields
28+
const providerConfig = getProviderConfig(data.provider);
29+
30+
// Remove empty values only for access key fields in edit mode
2631
Object.keys(cleanedData).forEach((key) => {
27-
if (cleanedData[key] === "" || cleanedData[key] === undefined || cleanedData[key] === "••••••••••••••••") {
32+
const field = providerConfig?.fields.find((f) => f.name === key);
33+
const isAccessKey = field && "type" in field && (field as any).accessKey;
34+
35+
// Only remove empty values for access key fields
36+
if (
37+
isAccessKey &&
38+
(cleanedData[key] === "" || cleanedData[key] === undefined || cleanedData[key] === "••••••••••••••••")
39+
) {
2840
delete cleanedData[key];
2941
}
3042
});

0 commit comments

Comments
 (0)