46 lines
815 B
Go
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)
|
|
}
|
|
}
|