refactor: make error handling simpler (#55)

This commit is contained in:
Stavros
2025-03-19 16:41:19 +02:00
committed by GitHub
parent f3471880ee
commit 3ccc831a1f
15 changed files with 145 additions and 139 deletions

View File

@@ -117,8 +117,8 @@ var rootCmd = &cobra.Command{
docker := docker.NewDocker()
// Initialize docker
dockerErr := docker.Init()
HandleError(dockerErr, "Failed to initialize docker")
err = docker.Init()
HandleError(err, "Failed to initialize docker")
// Create auth service
auth := auth.NewAuth(docker, users, oauthWhitelist, config.SessionExpiry)

View File

@@ -18,7 +18,7 @@ import (
// Interactive flag
var interactive bool
// i stands for input
// Input user
var iUser string
var GenerateCmd = &cobra.Command{
@@ -46,18 +46,18 @@ var GenerateCmd = &cobra.Command{
)
// Run form
formErr := form.WithTheme(baseTheme).Run()
err := form.WithTheme(baseTheme).Run()
if formErr != nil {
log.Fatal().Err(formErr).Msg("Form failed")
if err != nil {
log.Fatal().Err(err).Msg("Form failed")
}
}
// Parse user
user, parseErr := utils.ParseUser(iUser)
user, err := utils.ParseUser(iUser)
if parseErr != nil {
log.Fatal().Err(parseErr).Msg("Failed to parse user")
if err != nil {
log.Fatal().Err(err).Msg("Failed to parse user")
}
// Check if user was using docker escape
@@ -73,13 +73,13 @@ var GenerateCmd = &cobra.Command{
}
// Generate totp secret
key, keyErr := totp.Generate(totp.GenerateOpts{
key, err := totp.Generate(totp.GenerateOpts{
Issuer: "Tinyauth",
AccountName: user.Username,
})
if keyErr != nil {
log.Fatal().Err(keyErr).Msg("Failed to generate totp secret")
if err != nil {
log.Fatal().Err(err).Msg("Failed to generate totp secret")
}
// Create secret

View File

@@ -12,7 +12,10 @@ import (
"golang.org/x/crypto/bcrypt"
)
// Interactive flag
var interactive bool
// Docker flag
var docker bool
// i stands for input
@@ -51,10 +54,10 @@ var CreateCmd = &cobra.Command{
// Use simple theme
var baseTheme *huh.Theme = huh.ThemeBase()
formErr := form.WithTheme(baseTheme).Run()
err := form.WithTheme(baseTheme).Run()
if formErr != nil {
log.Fatal().Err(formErr).Msg("Form failed")
if err != nil {
log.Fatal().Err(err).Msg("Form failed")
}
}
@@ -66,10 +69,10 @@ var CreateCmd = &cobra.Command{
log.Info().Str("username", iUsername).Str("password", iPassword).Bool("docker", docker).Msg("Creating user")
// Hash password
password, passwordErr := bcrypt.GenerateFromPassword([]byte(iPassword), bcrypt.DefaultCost)
password, err := bcrypt.GenerateFromPassword([]byte(iPassword), bcrypt.DefaultCost)
if passwordErr != nil {
log.Fatal().Err(passwordErr).Msg("Failed to hash password")
if err != nil {
log.Fatal().Err(err).Msg("Failed to hash password")
}
// Convert password to string

View File

@@ -12,7 +12,10 @@ import (
"golang.org/x/crypto/bcrypt"
)
// Interactive flag
var interactive bool
// Docker flag
var docker bool
// i stands for input
@@ -60,18 +63,18 @@ var VerifyCmd = &cobra.Command{
)
// Run form
formErr := form.WithTheme(baseTheme).Run()
err := form.WithTheme(baseTheme).Run()
if formErr != nil {
log.Fatal().Err(formErr).Msg("Form failed")
if err != nil {
log.Fatal().Err(err).Msg("Form failed")
}
}
// Parse user
user, userErr := utils.ParseUser(iUser)
user, err := utils.ParseUser(iUser)
if userErr != nil {
log.Fatal().Err(userErr).Msg("Failed to parse user")
if err != nil {
log.Fatal().Err(err).Msg("Failed to parse user")
}
// Compare username
@@ -80,9 +83,9 @@ var VerifyCmd = &cobra.Command{
}
// Compare password
verifyErr := bcrypt.CompareHashAndPassword([]byte(user.Password), []byte(iPassword))
err = bcrypt.CompareHashAndPassword([]byte(user.Password), []byte(iPassword))
if verifyErr != nil {
if err != nil {
log.Fatal().Msg("Ppassword is incorrect")
}
@@ -96,9 +99,9 @@ var VerifyCmd = &cobra.Command{
}
// Check totp code
totpOk := totp.Validate(iTotp, user.TotpSecret)
ok := totp.Validate(iTotp, user.TotpSecret)
if !totpOk {
if !ok {
log.Fatal().Msg("Totp code incorrect")
}