mirror of https://github.com/Superioz/aqua.git
Fix sqlite file not created
This commit is contained in:
parent
1d787f5c70
commit
9ad5a55af5
10
.env.dist
10
.env.dist
|
@ -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=
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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{
|
||||
|
|
Loading…
Reference in New Issue