You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1007 B
46 lines
1007 B
package main
|
|
|
|
import (
|
|
"os"
|
|
|
|
"marmic/servicetrade-toolbox/internal/api"
|
|
"marmic/servicetrade-toolbox/internal/menu"
|
|
"marmic/servicetrade-toolbox/internal/ui"
|
|
)
|
|
|
|
func main() {
|
|
ui.DisplayStartScreen()
|
|
|
|
email, password, err := ui.PromptCredentials()
|
|
if err != nil {
|
|
ui.DisplayError("Error getting credentials:", err)
|
|
os.Exit(1)
|
|
}
|
|
|
|
session := api.NewSession()
|
|
err = session.Login(email, password)
|
|
if err != nil {
|
|
ui.DisplayError("Authentication failed:", err)
|
|
os.Exit(1)
|
|
}
|
|
|
|
ui.DisplayMessage("Login successful!")
|
|
|
|
mainMenu := menu.GetMainMenu()
|
|
for {
|
|
choice := menu.DisplayMenuAndGetChoice(mainMenu, "Main Menu")
|
|
if choice == len(mainMenu)+1 {
|
|
ui.ClearScreen()
|
|
ui.DisplayMessage("Logging out...")
|
|
err := session.Logout()
|
|
if err != nil {
|
|
ui.DisplayError("Error during logout: ", err)
|
|
} else {
|
|
ui.DisplayMessage("Logout successful.")
|
|
}
|
|
ui.DisplayMessage("Exiting ServiceTrade CLI Toolbox. Goodbye!")
|
|
return
|
|
}
|
|
mainMenu[choice-1].Handler(session)
|
|
}
|
|
}
|
|
|