mirror of
https://github.com/rgrgogu/new_starr.git
synced 2026-09-27 00:12:54 +08:00
@@ -294,6 +294,35 @@ export function AssetsProvider({ children }) {
|
||||
[request]
|
||||
);
|
||||
|
||||
// ─── DELETE /api/admin/assets/:assetId/permanent ─────────────────────────
|
||||
const permanentlyDeleteAsset = useCallback(
|
||||
(assetId) =>
|
||||
request(async () => {
|
||||
const res = await api.delete(`/admin/assets/${assetId}/permanent`);
|
||||
setAssets((prev) => prev.filter((a) => a.asset_id !== assetId));
|
||||
setSelectedAsset((prev) => (prev?.asset_id === assetId ? null : prev));
|
||||
invalidateListCache();
|
||||
toast.success("Asset permanently deleted.");
|
||||
return res.data;
|
||||
}),
|
||||
[request]
|
||||
);
|
||||
|
||||
// ─── DELETE /api/admin/assets/bulk/permanent ─────────────────────────────
|
||||
const permanentlyDeleteAssets = useCallback(
|
||||
({ ids }) =>
|
||||
request(async () => {
|
||||
const res = await api.delete("/admin/assets/bulk/permanent", {
|
||||
data: { ids },
|
||||
});
|
||||
setAssets((prev) => prev.filter((a) => !ids.includes(a.asset_id)));
|
||||
invalidateListCache();
|
||||
toast.success(`${ids.length} asset(s) permanently deleted.`);
|
||||
return res.data;
|
||||
}),
|
||||
[request]
|
||||
);
|
||||
|
||||
// ─── GET /api/admin/assets/field-values ──────────────────────────────────────
|
||||
const fetchAssetFieldValues = useCallback(
|
||||
(field) =>
|
||||
@@ -324,6 +353,8 @@ export function AssetsProvider({ children }) {
|
||||
archiveAssets,
|
||||
restoreAsset,
|
||||
restoreAssets,
|
||||
permanentlyDeleteAsset,
|
||||
permanentlyDeleteAssets,
|
||||
fetchAssetFieldValues
|
||||
}}>
|
||||
{children}
|
||||
|
||||
Reference in New Issue
Block a user