refactor: log errors

This commit is contained in:
Stavros
2025-01-24 18:24:20 +02:00
parent 35854f5ce4
commit f61b6dbad4
6 changed files with 19 additions and 28 deletions

View File

@@ -1,7 +1,6 @@
package cmd
import (
"os"
cmd "tinyauth/cmd/user"
"tinyauth/internal/api"
"tinyauth/internal/auth"
@@ -38,7 +37,6 @@ var rootCmd = &cobra.Command{
if config.UsersFile == "" && config.Users == "" {
log.Fatal().Msg("No users provided")
os.Exit(1)
}
usersString := config.Users
@@ -108,14 +106,12 @@ func Execute() {
err := rootCmd.Execute()
if err != nil {
log.Fatal().Err(err).Msg("Failed to execute command")
os.Exit(1)
}
}
func HandleError(err error, msg string) {
if err != nil {
log.Fatal().Err(err).Msg(msg)
os.Exit(1)
}
}

View File

@@ -3,7 +3,6 @@ package create
import (
"errors"
"fmt"
"os"
"strings"
"github.com/charmbracelet/huh"
@@ -47,13 +46,11 @@ var CreateCmd = &cobra.Command{
if formErr != nil {
log.Fatal().Err(formErr).Msg("Form failed")
os.Exit(1)
}
}
if username == "" || password == "" {
log.Error().Msg("Username and password cannot be empty")
os.Exit(1)
}
log.Info().Str("username", username).Str("password", password).Bool("docker", docker).Msg("Creating user")
@@ -62,7 +59,6 @@ var CreateCmd = &cobra.Command{
if passwordErr != nil {
log.Fatal().Err(passwordErr).Msg("Failed to hash password")
os.Exit(1)
}
passwordString := string(passwordByte)

View File

@@ -2,7 +2,6 @@ package verify
import (
"errors"
"os"
"strings"
"github.com/charmbracelet/huh"
@@ -53,23 +52,19 @@ var VerifyCmd = &cobra.Command{
if formErr != nil {
log.Fatal().Err(formErr).Msg("Form failed")
os.Exit(1)
}
}
if username == "" || password == "" || user == "" {
log.Error().Msg("Username, password and user cannot be empty")
os.Exit(1)
log.Fatal().Msg("Username, password and user cannot be empty")
}
log.Info().Str("user", user).Str("username", username).Str("password", password).Bool("docker", docker).Msg("Verifying user")
userSplit := strings.Split(user, ":")
if userSplit[1] == "" {
log.Error().Msg("User is not formatted correctly")
os.Exit(1)
log.Fatal().Msg("User is not formatted correctly")
}
if docker {
@@ -79,8 +74,7 @@ var VerifyCmd = &cobra.Command{
verifyErr := bcrypt.CompareHashAndPassword([]byte(userSplit[1]), []byte(password))
if verifyErr != nil || username != userSplit[0] {
log.Error().Msg("Username or password incorrect")
os.Exit(1)
log.Fatal().Msg("Username or password incorrect")
} else {
log.Info().Msg("Verification successful")
}

View File

@@ -48,7 +48,6 @@ func (api *API) Init() {
if distErr != nil {
log.Fatal().Err(distErr).Msg("Failed to get UI assets")
os.Exit(1)
}
fileServer := http.FileServer(http.FS(dist))
@@ -101,6 +100,7 @@ func (api *API) SetupRoutes() {
userContext, userContextErr := api.Hooks.UseUserContext(c)
if userContextErr != nil {
log.Error().Err(userContextErr).Msg("Failed to get user context")
c.JSON(500, gin.H{
"status": 500,
"message": "Internal Server Error",
@@ -124,6 +124,7 @@ func (api *API) SetupRoutes() {
})
if queryErr != nil {
log.Error().Err(queryErr).Msg("Failed to build query")
c.JSON(501, gin.H{
"status": 501,
"message": "Internal Server Error",
@@ -140,6 +141,7 @@ func (api *API) SetupRoutes() {
err := c.BindJSON(&login)
if err != nil {
log.Error().Err(err).Msg("Failed to bind JSON")
c.JSON(400, gin.H{
"status": 400,
"message": "Bad Request",
@@ -192,6 +194,7 @@ func (api *API) SetupRoutes() {
userContext, userContextErr := api.Hooks.UseUserContext(c)
if userContextErr != nil {
log.Error().Err(userContextErr).Msg("Failed to get user context")
c.JSON(500, gin.H{
"status": 500,
"message": "Internal Server Error",
@@ -238,6 +241,7 @@ func (api *API) SetupRoutes() {
bindErr := c.BindUri(&request)
if bindErr != nil {
log.Error().Err(bindErr).Msg("Failed to bind URI")
c.JSON(400, gin.H{
"status": 400,
"message": "Bad Request",
@@ -276,6 +280,7 @@ func (api *API) SetupRoutes() {
bindErr := c.BindUri(&providerName)
if bindErr != nil {
log.Error().Err(bindErr).Msg("Failed to bind URI")
c.JSON(400, gin.H{
"status": 400,
"message": "Bad Request",
@@ -306,6 +311,7 @@ func (api *API) SetupRoutes() {
token, tokenErr := provider.ExchangeToken(code)
if tokenErr != nil {
log.Error().Err(tokenErr).Msg("Failed to exchange token")
c.JSON(500, gin.H{
"status": 500,
"message": "Internal Server Error",
@@ -333,6 +339,7 @@ func (api *API) SetupRoutes() {
})
if queryErr != nil {
log.Error().Err(queryErr).Msg("Failed to build query")
c.JSON(501, gin.H{
"status": 501,
"message": "Internal Server Error",

View File

@@ -4,7 +4,6 @@ import (
"context"
"net/http"
"github.com/rs/zerolog/log"
"golang.org/x/oauth2"
)
@@ -33,7 +32,6 @@ func (oauth *OAuth) GetAuthURL() string {
func (oauth *OAuth) ExchangeToken(code string) (string, error) {
token, err := oauth.Config.Exchange(oauth.Context, code, oauth2.VerifierOption(oauth.Verifier))
if err != nil {
log.Error().Err(err).Msg("Failed to exchange code")
return "", err
}
oauth.Token = token