Files
photodisk/cmd/backend/main.go
Artem Mamonov acf9b43671 Initial commit
2025-02-06 02:36:10 +01:00

46 lines
815 B
Go

package main
import (
"flag"
"log"
"os"
"photodisk/internal/api"
"photodisk/internal/config"
db "photodisk/internal/db/sqlite"
)
var Flags struct {
Help bool
ConfigPath string
}
func flags(path string) {
fs := flag.NewFlagSet(os.Args[0], flag.ContinueOnError)
fs.BoolVar(&Flags.Help, "h", false, "Help message")
fs.StringVar(&Flags.ConfigPath, "path", path, "Path to config file")
fs.Parse(os.Args[1:])
if Flags.Help {
fs.PrintDefaults()
os.Exit(0)
}
}
func main() {
// read config filename from flags
flags("config.yaml")
if err := config.ReadConfig(Flags.ConfigPath); err != nil {
log.Fatal(err)
}
if _, err := db.OpenDb(config.Get().Db); err != nil {
log.Fatal(err)
}
defer db.CloseDb()
db.InitTables()
if err := api.Start(":8080"); err != nil {
log.Fatal(err)
}
}