Fix sqlite file not created

This commit is contained in:
Tobias B 2021-11-16 09:05:55 +01:00
parent 1d787f5c70
commit 9ad5a55af5
No known key found for this signature in database
GPG Key ID: 5EF4C92355A3B53D
4 changed files with 37 additions and 48 deletions

View File

@ -1,5 +1,5 @@
AUTH_CONFIG_PATH=
FILE_STORAGE_PATH=
FILE_NAME_LENGTH=
FILE_META_DB_FILE=
FILE_EXPIRATION_CYCLE=
AUTH_CONFIG_PATH=
FILE_STORAGE_PATH=
FILE_NAME_LENGTH=
FILE_META_DB_PATH=
FILE_EXPIRATION_CYCLE=

View File

@ -1 +1 @@
0.4.0
0.4.1

View File

@ -2,6 +2,7 @@ package storage
import (
"database/sql"
"os"
"time"
)
@ -21,16 +22,37 @@ type FileMetaDatabase interface {
}
type SqliteFileMetaDatabase struct {
DbFilePath string
DbFolderPath string
DbFilePath string
}
func NewSqliteFileMetaDatabase(filePath string) *SqliteFileMetaDatabase {
func NewSqliteFileMetaDatabase(folderPath string) *SqliteFileMetaDatabase {
return &SqliteFileMetaDatabase{
DbFilePath: filePath,
DbFolderPath: folderPath,
DbFilePath: folderPath + "files.db",
}
}
func (s *SqliteFileMetaDatabase) Connect() error {
err := os.MkdirAll(s.DbFolderPath, os.ModePerm)
if err != nil {
return err
}
db, err := sql.Open("sqlite", s.DbFilePath)
if err != nil {
return err
}
defer db.Close()
_, err = db.Exec(`create table if not exists files (
id text not null primary key,
uploaded_at integer,
expires_at integer
);`)
if err != nil {
return err
}
return nil
}
@ -41,11 +63,6 @@ func (s *SqliteFileMetaDatabase) WriteFile(sf *StoredFile) error {
}
defer db.Close()
err = prepareDb(db)
if err != nil {
return err
}
stmt, err := db.Prepare(`insert into files(id, uploaded_at, expires_at) values(?, ?, ?)`)
if err != nil {
return err
@ -66,11 +83,6 @@ func (s *SqliteFileMetaDatabase) DeleteFile(id string) error {
}
defer db.Close()
err = prepareDb(db)
if err != nil {
return err
}
stmt, err := db.Prepare(`delete from files where id = ?`)
if err != nil {
return err
@ -88,11 +100,6 @@ func (s *SqliteFileMetaDatabase) GetFile(id string) (*StoredFile, error) {
}
defer db.Close()
err = prepareDb(db)
if err != nil {
return nil, err
}
stmt, err := db.Prepare(`select * from files where id = ?`)
if err != nil {
return nil, err
@ -131,11 +138,6 @@ func (s *SqliteFileMetaDatabase) GetAllFiles() ([]*StoredFile, error) {
}
defer db.Close()
err = prepareDb(db)
if err != nil {
return nil, err
}
rows, err := db.Query(`select * from files`)
if err != nil {
return nil, err
@ -173,11 +175,6 @@ func (s *SqliteFileMetaDatabase) GetAllExpired() ([]*StoredFile, error) {
}
defer db.Close()
err = prepareDb(db)
if err != nil {
return nil, err
}
stmt, err := db.Prepare(`select * from files where expires_at > 0 and expires_at <= ?`)
if err != nil {
return nil, err
@ -214,15 +211,3 @@ func (s *SqliteFileMetaDatabase) GetAllExpired() ([]*StoredFile, error) {
}
return sfs, nil
}
func prepareDb(db *sql.DB) (err error) {
_, err = db.Exec(`create table if not exists files (
id text not null primary key,
uploaded_at integer,
expires_at integer
);`)
if err != nil {
return
}
return nil
}

View File

@ -36,10 +36,14 @@ type FileStorage struct {
}
func NewFileStorage() *FileStorage {
metaDbFilePath := env.StringOrDefault("FILE_META_DB_FILE", "./files.db")
metaDbFilePath := env.StringOrDefault("FILE_META_DB_PATH", "/var/lib/aqua/")
fileMetaDb := NewSqliteFileMetaDatabase(metaDbFilePath)
err := fileMetaDb.Connect()
if err != nil {
klog.Errorf("Could not connect to file meta db: %v", err)
}
fileStoragePath := env.StringOrDefault("FILE_STORAGE_PATH", "/var/lib/aqua/")
fileStoragePath := env.StringOrDefault("FILE_STORAGE_PATH", "/var/lib/aqua/files/")
fileSystem := NewLocalFileStorage(fileStoragePath)
return &FileStorage{