Trash eklendi
This commit is contained in:
67
client/src/stores/trashStore.js
Normal file
67
client/src/stores/trashStore.js
Normal file
@@ -0,0 +1,67 @@
|
||||
import { writable } from 'svelte/store';
|
||||
import { getTrashItems, restoreFromTrash, deleteFromTrash } from '../utils/api';
|
||||
|
||||
export const trashItems = writable([]);
|
||||
export const trashCount = writable(0);
|
||||
|
||||
// Çöp öğelerini API'den al
|
||||
export async function fetchTrashItems() {
|
||||
try {
|
||||
const items = await getTrashItems();
|
||||
|
||||
const processedItems = Array.isArray(items)
|
||||
? items.map((item) => {
|
||||
const segments = String(item.name || "")
|
||||
.split(/[\\/]/)
|
||||
.filter(Boolean);
|
||||
const displayName =
|
||||
segments.length > 0 ? segments[segments.length - 1] : item.name;
|
||||
const parentPath =
|
||||
segments.length > 1 ? segments.slice(0, -1).join("/") : "";
|
||||
return {
|
||||
...item,
|
||||
displayName,
|
||||
parentPath
|
||||
};
|
||||
})
|
||||
: [];
|
||||
|
||||
trashItems.set(processedItems);
|
||||
trashCount.set(processedItems.length);
|
||||
return processedItems;
|
||||
} catch (error) {
|
||||
console.error('Çöp öğeleri alınırken hata:', error);
|
||||
trashCount.set(0);
|
||||
}
|
||||
return [];
|
||||
}
|
||||
|
||||
// Çöpten geri yükle
|
||||
export async function restoreItem(trashName) {
|
||||
try {
|
||||
const result = await restoreFromTrash(trashName);
|
||||
if (result.success) {
|
||||
// Listeyi yenile
|
||||
await fetchTrashItems();
|
||||
}
|
||||
return result;
|
||||
} catch (error) {
|
||||
console.error('Öğe geri yüklenirken hata:', error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
// Çöpten tamamen sil
|
||||
export async function deleteItemPermanently(trashName) {
|
||||
try {
|
||||
const result = await deleteFromTrash(trashName);
|
||||
if (result.success) {
|
||||
// Listeyi yenile
|
||||
await fetchTrashItems();
|
||||
}
|
||||
return result;
|
||||
} catch (error) {
|
||||
console.error('Öğe silinirken hata:', error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user