fathom/commands/commands.go

53 lines
1.5 KiB
Go
Raw Normal View History

package commands
2016-12-11 13:50:01 +00:00
import (
"flag"
"github.com/dannyvankooten/ana/count"
"github.com/dannyvankooten/ana/db"
)
var (
runCreateUserCommand bool
runDeleteUserCommand bool
runStartServerCommand bool
runSeedDataCommand bool
runArchiveDataCommand bool
idArg int
emailArg string
passwordArg string
nArg int
2017-01-09 18:53:17 +00:00
portArg int
)
2016-12-24 09:00:29 +00:00
// Parse CLI arguments
func Parse() {
2016-12-11 13:50:01 +00:00
// parse commands
flag.BoolVar(&runCreateUserCommand, "create_user", false, "Create a new user")
flag.BoolVar(&runDeleteUserCommand, "delete_user", false, "Deletes a user")
2016-12-24 09:00:29 +00:00
flag.BoolVar(&runStartServerCommand, "start_server", true, "Start the API web server, listen on -port")
flag.BoolVar(&runSeedDataCommand, "db_seed", false, "Seed the database -n times")
flag.BoolVar(&runArchiveDataCommand, "archive_data", false, "Aggregates data into daily totals")
2016-12-11 13:50:01 +00:00
flag.StringVar(&emailArg, "email", "", "Email address")
flag.StringVar(&passwordArg, "password", "", "Password")
flag.IntVar(&idArg, "id", 0, "Object ID")
flag.IntVar(&nArg, "n", 0, "Number")
2016-12-24 09:00:29 +00:00
flag.IntVar(&portArg, "port", 8080, "Port")
2016-12-11 13:50:01 +00:00
flag.Parse()
}
2016-12-24 09:00:29 +00:00
// Run parsed CLI command. Defaults to starting the HTTP server.
func Run() {
2016-12-11 13:50:01 +00:00
if runCreateUserCommand {
createUser()
} else if runDeleteUserCommand {
deleteUser()
} else if runSeedDataCommand {
db.Seed(nArg)
2016-12-11 13:50:01 +00:00
} else if runArchiveDataCommand {
count.Archive()
2016-12-11 13:50:01 +00:00
} else if runStartServerCommand {
2016-12-24 09:00:29 +00:00
startServer(portArg)
2016-12-11 13:50:01 +00:00
}
}