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)
const deletes = []
for (const resource of resourcesToDelete) {
if (!resource?.service || !resource?.identifier)
throw new Error("Missing fields"); throw new Error("Missing fields");
await qortalRequest({ deletes.push({
action: "PUBLISH_QDN_RESOURCE", service: resource.service,
service: qortalMetadata.service, identifier: resource.identifier,
identifier: qortalMetadata.identifier,
base64: "RA==", base64: "RA==",
}); });
markResourceAsDeleted(qortalMetadata); }
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,