This repository has been archived on 2025-11-25. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
combluotion-old/cmd/combluotion/main.go
Dan Jones 6f06adc37d ♻️ Refactor config
Make it easier to setup stores
2025-01-26 20:07:45 -06:00

58 lines
925 B
Go

package main
// @todo
import (
"fmt"
"os"
"codeberg.org/danjones000/combluotion"
"codeberg.org/danjones000/combluotion/config"
"codeberg.org/danjones000/combluotion/store"
)
func main() {
f := getTomlFile()
defer os.Remove(f)
conf, err := config.LoadFromToml(f)
quitErr(err)
fmt.Printf("%+v\n", conf)
db, err := store.MakeStore(conf.StoreName(), conf)
quitErr(err)
app, err := combluotion.NewApp(config.Version, conf, db)
quitErr(err)
fmt.Println(app)
serv := app.Service()
out, _ := serv.MarshalJSON()
fmt.Println(string(out))
fmt.Println(serv.ID)
}
func quitErr(err error) {
if err != nil {
panic(err)
}
}
func getTomlFile() string {
tmp, err := os.CreateTemp("", "*.toml")
quitErr(err)
defer tmp.Close()
p := tmp.Name()
fmt.Fprintln(tmp, confStr)
return p
}
var confStr = `
base_url = "http://localhost:4523/"
[stores]
store = "sqlite"
[stores.settings.sqlite]
path = "storage"
`