refactor: db location

Signed-off-by: skidoodle <contact@albert.lol>
This commit is contained in:
2026-01-19 00:44:03 +01:00
parent 2df37e9002
commit 2bcf339408
6 changed files with 29 additions and 8 deletions
-1
View File
@@ -1,3 +1,2 @@
storage/* storage/*
# Added by goreleaser init:
dist/ dist/
+1
View File
@@ -36,6 +36,7 @@ const (
MinRetention = 24 * time.Hour MinRetention = 24 * time.Hour
MaxRetention = 365 * 24 * time.Hour MaxRetention = 365 * 24 * time.Hour
DBDirName = "db"
DBFileName = "safebin.db" DBFileName = "safebin.db"
DBBucketName = "files" DBBucketName = "files"
DBBucketIndexName = "expiry_index" DBBucketIndexName = "expiry_index"
+7 -1
View File
@@ -1,6 +1,7 @@
package app package app
import ( import (
"os"
"path/filepath" "path/filepath"
"time" "time"
@@ -15,7 +16,12 @@ type FileMeta struct {
} }
func InitDB(storageDir string) (*bbolt.DB, error) { func InitDB(storageDir string) (*bbolt.DB, error) {
path := filepath.Join(storageDir, DBFileName) dbDir := filepath.Join(storageDir, DBDirName)
if err := os.MkdirAll(dbDir, PermUserRWX); err != nil {
return nil, err
}
path := filepath.Join(dbDir, DBFileName)
db, err := bbolt.Open(path, 0600, &bbolt.Options{Timeout: 1 * time.Second}) db, err := bbolt.Open(path, 0600, &bbolt.Options{Timeout: 1 * time.Second})
if err != nil { if err != nil {
return nil, err return nil, err
+1 -1
View File
@@ -23,7 +23,7 @@ func TestInitDB(t *testing.T) {
} }
}() }()
dbPath := filepath.Join(tmpDir, DBFileName) dbPath := filepath.Join(tmpDir, DBDirName, DBFileName)
if _, err := os.Stat(dbPath); os.IsNotExist(err) { if _, err := os.Stat(dbPath); os.IsNotExist(err) {
t.Error("Database file was not created") t.Error("Database file was not created")
} }
+15 -4
View File
@@ -233,9 +233,16 @@ func TestIntegration_Upload_VerifyEncryption(t *testing.T) {
body := &bytes.Buffer{} body := &bytes.Buffer{}
writer := multipart.NewWriter(body) writer := multipart.NewWriter(body)
part, _ := writer.CreateFormFile("file", "secret.txt") part, err := writer.CreateFormFile("file", "secret.txt")
part.Write(plaintext) if err != nil {
writer.Close() t.Fatalf("CreateFormFile failed: %v", err)
}
if _, err := part.Write(plaintext); err != nil {
t.Fatalf("Write failed: %v", err)
}
if err := writer.Close(); err != nil {
t.Fatalf("Writer close failed: %v", err)
}
req, _ := http.NewRequest("POST", server.URL+"/", body) req, _ := http.NewRequest("POST", server.URL+"/", body)
req.Header.Set("Content-Type", writer.FormDataContentType()) req.Header.Set("Content-Type", writer.FormDataContentType())
@@ -243,7 +250,11 @@ func TestIntegration_Upload_VerifyEncryption(t *testing.T) {
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
defer resp.Body.Close() defer func() {
if err := resp.Body.Close(); err != nil {
t.Errorf("Failed to close response body: %v", err)
}
}()
respBytes, _ := io.ReadAll(resp.Body) respBytes, _ := io.ReadAll(resp.Body)
slug := filepath.Base(strings.TrimSpace(string(respBytes))) slug := filepath.Base(strings.TrimSpace(string(respBytes)))
+5 -1
View File
@@ -67,7 +67,11 @@ func (app *App) HandleUpload(writer http.ResponseWriter, request *http.Request)
errChan <- err errChan <- err
}() }()
defer pr.Close() defer func() {
if closeErr := pr.Close(); closeErr != nil {
app.Logger.Error("Failed to close pipe reader", "err", closeErr)
}
}()
streamer, err := crypto.NewGCMStreamer(ephemeralKey) streamer, err := crypto.NewGCMStreamer(ephemeralKey)
if err != nil { if err != nil {