Files
sonr/internal/db/options.go
T

41 lines
815 B
Go
Raw Normal View History

2024-09-05 01:24:57 -04:00
package db
import (
2024-09-11 15:10:54 -04:00
_ "github.com/ncruces/go-sqlite3/embed"
2024-09-14 12:47:25 -04:00
"github.com/onsonr/sonr/internal/db/orm"
2024-09-05 01:24:57 -04:00
)
type DBOption func(config *DBConfig)
2024-09-14 12:47:25 -04:00
func WitDir(dir string) DBOption {
2024-09-05 01:24:57 -04:00
return func(config *DBConfig) {
config.Dir = dir
}
}
func WithSecretKey(secretKey string) DBOption {
return func(config *DBConfig) {
config.SecretKey = secretKey
}
}
type DBConfig struct {
Dir string
SecretKey string
2024-09-14 12:47:25 -04:00
fileName string
initialAccounts []*orm.Account
initialAssets []*orm.Asset
initialCredentials []*orm.Credential
initialKeyshares []*orm.Keyshare
initialPermissions []*orm.Permission
initialProfiles []*orm.Profile
initialProperties []*orm.Property
2024-09-05 01:24:57 -04:00
}
func (config *DBConfig) ConnectionString() string {
connStr := "file:"
2024-09-14 12:47:25 -04:00
connStr += config.fileName
2024-09-05 01:24:57 -04:00
return connStr
}