package main

import (
	"fmt"
	"os"
)

func cliToolMode() {
	var c = readCfg(fmConfig)
	if verifyConfig(c) {
		if len(os.Args) > 1 {
			switch os.Args[1] {
			case "start":
				startStopServer("start", c)
			case "stop":
				startStopServer("stop", c)
			case "help", "h", "--help", "-h":
				fmt.Printf("Start Server: %s start\nStop Server: %s stop\n", os.Args[0], os.Args[0])
				fmt.Printf("Run backup\n\tFull backup: %s backup full", os.Args[0])
				fmt.Printf("\n\tBackup saves: %s backup saves\n", os.Args[0])
			case "backup":
				if len(os.Args) > 2 {
					switch os.Args[2] {
					case "full":
						backUp("full", c)
					case "saves":
						backUp("saves", c)
					default:
						fmt.Println("Invalid backup type: use 'full' or 'saves'")
					}
				} else {
					fmt.Println("Missing backup type: use 'full' or 'saves'")
				}
			default:
				fmt.Printf("Unknown command: %s. Use 'start', 'stop', or 'backup'.\n", os.Args[1])
			}
		} else {
			fmt.Println("Use 'start', 'stop', or 'backup' command\nex. factoryman start\nTo configure edit 'conifg.yml'")
		}
	}
}
