From 154abc0c5016635ad3af49a0772a97fbdc34bedb Mon Sep 17 00:00:00 2001 From: Jan Wolff Date: Fri, 12 Sep 2025 10:17:45 +0200 Subject: qrcode, automated cleanup --- storage/storage.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'storage/storage.go') diff --git a/storage/storage.go b/storage/storage.go index 6dc4a37..06434e2 100644 --- a/storage/storage.go +++ b/storage/storage.go @@ -3,6 +3,7 @@ package storage import ( "crypto/rand" "errors" + "log" "math/big" "strings" ) @@ -55,3 +56,20 @@ func (s *Storage) Put(file File) (string, error) { return key, nil } + +func (s *Storage) GarbageCollect() { + log.Println("running garbage collection on stored files") + + deletedKeys := make([]string, 0) + + for key, file := range s.files { + if !file.IsAvailable() { + deletedKeys = append(deletedKeys, key) + } + } + + for _, key := range deletedKeys { + log.Println("cleaned up stale file:", key) + delete(s.files, key) + } +} -- cgit v1.2.3