gosuki/database/utils.go

48 lines
898 B
Go
Raw Normal View History

2018-12-04 03:34:30 +00:00
package database
import (
_ "io"
"embed"
2018-12-04 03:34:30 +00:00
"path/filepath"
2022-12-05 02:59:22 +00:00
"github.com/gchaincl/dotsql"
"github.com/swithek/dotsqlx"
2018-12-04 03:34:30 +00:00
)
func GetDefaultDBPath() string {
return DefaultDBPath
}
2018-12-04 03:34:30 +00:00
func GetDBFullPath() string {
dbdir := GetDefaultDBPath()
2018-12-04 03:34:30 +00:00
dbpath := filepath.Join(dbdir, DBFileName)
return dbpath
}
2022-12-05 02:59:22 +00:00
// Loads a dotsql <file> and, wraps it with dotsqlx
func DotxQuery(file string) (*dotsqlx.DotSqlx, error){
dot, err := dotsql.LoadFromFile(file)
if err != nil {
return nil, err
}
return dotsqlx.Wrap(dot), nil
}
// Loads a dotsql from an embedded FS
func DotxQueryEmbedFS(fs embed.FS, filename string) (*dotsqlx.DotSqlx, error){
rawsql, err := fs.ReadFile(filename)
if err != nil {
return nil, err
}
dot, err := dotsql.LoadFromString(string(rawsql))
if err != nil {
return nil, err
}
return dotsqlx.Wrap(dot), nil
}