51 lines
1.1 KiB
Go
51 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", "fonts")
|
|
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 {
|
|
svg.Storage = svg.NewFileStorage(datapath, "public", "fonts")
|
|
server.PrepareHTTP()
|
|
server.Start()
|
|
}
|
|
}
|