Files
msw-open-music/main.go
2022-12-17 21:13:09 +08:00

55 lines
882 B
Go

package main
import (
"embed"
"encoding/json"
"flag"
"io/fs"
"log"
"msw-open-music/pkg/api"
"msw-open-music/pkg/commonconfig"
"os"
)
var ConfigFilePath string
func init() {
flag.StringVar(&ConfigFilePath, "config", "config.json", "backend config file path")
}
//go:embed web/build
var WEBFILES embed.FS
func main() {
var err error
flag.Parse()
WEBFS, err := fs.Sub(WEBFILES, "web/build")
if err != nil {
log.Fatal(err)
}
config := commonconfig.Config{
WEBFS: WEBFS,
}
configFile, err := os.Open(ConfigFilePath)
if err != nil {
log.Fatal(err)
}
err = json.NewDecoder(configFile).Decode(&config)
if err != nil {
log.Fatal(err)
}
configFile.Close()
api, err := api.NewAPI(config)
if err != nil {
log.Fatal(err)
}
log.Println("Starting",
config.APIConfig.DatabaseName,
config.APIConfig.Addr,
)
log.Fatal(api.Server.ListenAndServe())
}