add: more things

Signed-off-by: Kenneth Obsequio <k80308392@gmail.com>
This commit is contained in:
2026-07-04 03:35:22 +08:00
parent 72298b86cd
commit b0f40e5133
78 changed files with 2116 additions and 1621 deletions
+31
View File
@@ -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}