48 lines
773 B
Go
48 lines
773 B
Go
package cli
|
|
|
|
import (
|
|
"database/sql"
|
|
"errors"
|
|
"fmt"
|
|
"os/exec"
|
|
"sevenkeys/logic"
|
|
)
|
|
|
|
func MainCliLoop(db *sql.DB) {
|
|
var command string
|
|
|
|
for {
|
|
ShowSplashScreen()
|
|
ShowStorageInfo()
|
|
|
|
command = GetStringResponse("SEVENKEYS $")
|
|
|
|
switch command {
|
|
case "quit":
|
|
return
|
|
case "storage":
|
|
GetStorageOptions()
|
|
break
|
|
case "criteria":
|
|
getSearchCriteria()
|
|
break
|
|
case "search":
|
|
getSearchOptions(db)
|
|
var err error
|
|
selectedCardPrintingId, selectedCardPrintingSearchLine, err = logic.Search(searchOptions)
|
|
var exitError *exec.ExitError
|
|
if errors.As(err, &exitError) {
|
|
break
|
|
}
|
|
logic.Check(err)
|
|
break
|
|
case "insert":
|
|
InsertSelectedCard(db)
|
|
break
|
|
default:
|
|
fmt.Println("Unrecognized command:", command)
|
|
break
|
|
}
|
|
}
|
|
}
|