fix delete resources

This commit is contained in:
PhilReact 2025-03-17 04:19:22 +02:00
parent e4d364eebd
commit 148f947fa5
2 changed files with 26 additions and 11 deletions

View File

@ -91,6 +91,7 @@ export const MemorizedComponent = ({
}: PropsResourceListDisplay) => { }: PropsResourceListDisplay) => {
const { fetchResources } = useResources(); const { fetchResources } = useResources();
const { filterOutDeletedResources } = useCacheStore(); const { filterOutDeletedResources } = useCacheStore();
const deletedResources = useCacheStore().deletedResources
const memoizedParams = useMemo(() => JSON.stringify(search), [search]); const memoizedParams = useMemo(() => JSON.stringify(search), [search]);
const addList = useListStore().addList const addList = useListStore().addList
const removeFromList = useListStore().removeFromList const removeFromList = useListStore().removeFromList
@ -153,7 +154,7 @@ export const MemorizedComponent = ({
}, []) }, [])
const listToDisplay = useMemo(()=> { const listToDisplay = useMemo(()=> {
return filterOutDeletedResources([...temporaryResources, ...list]) return filterOutDeletedResources([...temporaryResources, ...list])
}, [list, listName, filterOutDeletedResources, temporaryResources]) }, [list, listName, deletedResources, temporaryResources])

View File

@ -250,19 +250,33 @@ export const useResources = () => {
}); });
}, []); }, []);
const deleteProduct = useCallback(async (qortalMetadata: QortalMetadata) => { const deleteProduct = useCallback(async (resourcesToDelete: QortalMetadata[]) => {
if (!qortalMetadata?.service || !qortalMetadata?.identifier)
throw new Error("Missing fields");
await qortalRequest({
action: "PUBLISH_QDN_RESOURCE",
service: qortalMetadata.service, const deletes = []
identifier: qortalMetadata.identifier, for (const resource of resourcesToDelete) {
base64: "RA==", if (!resource?.service || !resource?.identifier)
}); throw new Error("Missing fields");
markResourceAsDeleted(qortalMetadata); deletes.push({
service: resource.service,
identifier: resource.identifier,
base64: "RA==",
});
}
await qortalRequestWithTimeout({
action: "PUBLISH_MULTIPLE_QDN_RESOURCES",
resources: deletes,
}, 600000);
resourcesToDelete.forEach((item)=> {
markResourceAsDeleted(item);
})
return true; return true;
}, []); }, []);
return { return {
fetchResources, fetchResources,
fetchIndividualPublishJson, fetchIndividualPublishJson,