From d14605d1388aaa7cc9ef1c230eae5ba14c9cef44 Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Sun, 21 Apr 2024 18:46:40 -0700 Subject: initial commit --- args/args.go | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 args/args.go (limited to 'args') diff --git a/args/args.go b/args/args.go new file mode 100644 index 0000000..dd080cb --- /dev/null +++ b/args/args.go @@ -0,0 +1,52 @@ +package args + +import ( + "flag" + "strings" +) + +type Arguments struct { + DatabasePath string + TemplatePath string + StaticPath string + + Migrate bool + Scheduler bool + + NtfyEndpoint string + NtfyTopics []string + + Port int + Server bool +} + +func GetArgs() (*Arguments, error) { + databasePath := flag.String("database-path", "./backupnotify.db", "Path to the SQLite database") + + templatePath := flag.String("template-path", "./templates", "Path to the template directory") + staticPath := flag.String("static-path", "./static", "Path to the static directory") + + scheduler := flag.Bool("scheduler", false, "Run scheduled jobs via cron") + migrate := flag.Bool("migrate", false, "Run the migrations") + ntfyEndpoint := flag.String("ntfy-endpoint", "https://ntfy.sh", "") + ntfyTopics := flag.String("ntfy-topics", "server-backup", "") + + port := flag.Int("port", 8080, "Port to listen on") + server := flag.Bool("server", false, "Run the server") + + flag.Parse() + + arguments := &Arguments{ + DatabasePath: *databasePath, + TemplatePath: *templatePath, + StaticPath: *staticPath, + Port: *port, + Server: *server, + Migrate: *migrate, + Scheduler: *scheduler, + NtfyEndpoint: *ntfyEndpoint, + NtfyTopics: strings.Split(*ntfyTopics, ","), + } + + return arguments, nil +} -- cgit v1.2.3-70-g09d2