diff options
| author | Jan Wolff <janw@mailbox.org> | 2025-09-12 10:17:45 +0200 |
|---|---|---|
| committer | Jan Wolff <janw@mailbox.org> | 2025-09-12 10:17:45 +0200 |
| commit | 154abc0c5016635ad3af49a0772a97fbdc34bedb (patch) | |
| tree | ef8a548496584b9045be72a5cbf1ad41ee4498b6 /storage | |
| parent | 283c31564a9d5dab4b8b71d7498886b0cd20a999 (diff) | |
qrcode, automated cleanup
Diffstat (limited to 'storage')
| -rw-r--r-- | storage/storage.go | 18 |
1 files changed, 18 insertions, 0 deletions
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) + } +} |
