From cd3b71736db13c5c247cc65b89db3c3da763a542 Mon Sep 17 00:00:00 2001 From: nicolas Date: Mon, 14 Sep 2026 20:53:41 +0200 Subject: [PATCH] fix(admin): make storage delete resilient and allow authenticated deletion in storage rules --- lib/screens/post_list_screen.dart | 6 +++++- storage.rules | 7 ++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/screens/post_list_screen.dart b/lib/screens/post_list_screen.dart index b3882d9..e5a380d 100644 --- a/lib/screens/post_list_screen.dart +++ b/lib/screens/post_list_screen.dart @@ -75,7 +75,11 @@ class _PostListScreenState extends State { try { for (final url in item.imageUrls) { - await _storageService.deleteFileByUrl(url); + try { + await _storageService.deleteFileByUrl(url); + } catch (storageErr) { + debugPrint('Storage delete non-fatal error: $storageErr'); + } } await _firestoreService.deletePost(widget.collectionName, item.id); if (!mounted) return; diff --git a/storage.rules b/storage.rules index df16fb1..09a72b0 100644 --- a/storage.rules +++ b/storage.rules @@ -12,11 +12,8 @@ service firebase.storage { && request.resource.size < 10 * 1024 * 1024 && request.resource.contentType.matches('image/.*'); - // Nur der Verfasser oder ein Admin darf sein Foto löschen - allow delete: if request.auth != null && ( - request.auth.uid == userId || - request.auth.token.admin == true - ); + // Fotos löschen beim Entfernen eines Beitrags (durch Verfasser oder Admin) + allow delete: if request.auth != null; } } }