Files
svg-templater/internal/command/commandline.go

50 lines
1.1 KiB
Go

package command
import (
"flag"
"log"
"tomatentum.net/svg-templater/internal/database"
"tomatentum.net/svg-templater/internal/server"
"tomatentum.net/svg-templater/pkg/svg"
)
var (
help bool
generateTokenFlag bool
deleteTokenFlag bool
datapath string
)
func PrepareCommandLine() {
flag.BoolVar(&help, "help", false, "Displays the help String")
flag.BoolVar(&generateTokenFlag, "tokengen", false, "Generate token with name")
flag.BoolVar(&deleteTokenFlag, "tokendel", false, "Delete token with name")
flag.StringVar(&datapath, "data", "/var/lib/svg-templater", "Override data directory")
}
func HandleCommandline() {
flag.Parse()
if !help {
svg.Storage = svg.NewFileStorage(datapath, "public")
if err := database.OpenSQLite(datapath); err != nil {
log.Fatal("Failed opening DB:\n", err)
return
}
database.InitDB()
}
defer database.Close()
if generateTokenFlag {
GenerateTokenCommand()
} else if deleteTokenFlag {
DeleteTokenCommand()
} else if help {
flag.PrintDefaults()
} else {
server.PrepareHTTP()
server.Start()
}
}