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
@@ -36,6 +36,7 @@ const (
MinRetention = 24 * time.Hour
MaxRetention = 365 * 24 * time.Hour
DBDirName = "db"
DBFileName = "safebin.db"
DBBucketName = "files"
DBBucketIndexName = "expiry_index"
+7 -1
View File
@@ -1,6 +1,7 @@
package app
import (
"os"
"path/filepath"
"time"
@@ -15,7 +16,12 @@ type FileMeta struct {
}
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})
if err != nil {
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) {
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{}
writer := multipart.NewWriter(body)
part, _ := writer.CreateFormFile("file", "secret.txt")
part.Write(plaintext)
writer.Close()
part, err := writer.CreateFormFile("file", "secret.txt")
if err != nil {
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.Header.Set("Content-Type", writer.FormDataContentType())
@@ -243,7 +250,11 @@ func TestIntegration_Upload_VerifyEncryption(t *testing.T) {
if err != nil {
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)
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
}()
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)
if err != nil {