Files
galaxy/client/src/stores/datasetExtraFilesStore.ts
T
Dannon Baker f7e404b4e9 Update all useKeyedCache fetch handlers to preserve HTTP status codes
Switches the 12 cache-backed fetch handlers across 6 store/api files
from rethrowSimple to rethrowSimpleWithStatus so that the keyedCache
retry logic can distinguish retryable server errors from permanent
client errors. The cancelWorkflowScheduling handler (a DELETE, not a
cache handler) keeps using rethrowSimple.
2026-02-24 19:28:28 -05:00

29 lines
1.1 KiB
TypeScript

import { defineStore } from "pinia";
import { GalaxyApi } from "@/api";
import type { DatasetExtraFiles } from "@/api/datasets";
import { type FetchParams, useKeyedCache } from "@/composables/keyedCache";
import { rethrowSimpleWithStatus } from "@/utils/simple-error";
export const useDatasetExtraFilesStore = defineStore("datasetExtraFilesStore", () => {
async function fetchDatasetExtraFiles(params: FetchParams): Promise<DatasetExtraFiles> {
const { data, error, response } = await GalaxyApi().GET("/api/datasets/{dataset_id}/extra_files", {
params: { path: { dataset_id: params.id } },
});
if (error) {
rethrowSimpleWithStatus(error, response);
}
return data;
}
const { storedItems, getItemById, isLoadingItem, fetchItemById } =
useKeyedCache<DatasetExtraFiles>(fetchDatasetExtraFiles);
return {
storedDatasetExtraFiles: storedItems,
getDatasetExtraFiles: getItemById,
isLoadingDatasetExtraFiles: isLoadingItem,
fetchDatasetExtFilesByDatasetId: fetchItemById,
};
});