fix: fix util imports

This commit is contained in:
Stavros
2026-04-29 19:25:23 +03:00
parent eec75a6f49
commit c7efb71a5a
3 changed files with 32 additions and 33 deletions
+3 -4
View File
@@ -4,21 +4,20 @@ import (
"fmt" "fmt"
"os" "os"
"github.com/tinyauthapp/tinyauth/internal/config"
"github.com/tinyauthapp/paerser/cli" "github.com/tinyauthapp/paerser/cli"
"github.com/tinyauthapp/paerser/env" "github.com/tinyauthapp/paerser/env"
"github.com/tinyauthapp/tinyauth/internal/model"
) )
type EnvLoader struct{} type EnvLoader struct{}
func (e *EnvLoader) Load(_ []string, cmd *cli.Command) (bool, error) { func (e *EnvLoader) Load(_ []string, cmd *cli.Command) (bool, error) {
vars := env.FindPrefixedEnvVars(os.Environ(), config.DefaultNamePrefix, cmd.Configuration) vars := env.FindPrefixedEnvVars(os.Environ(), model.DefaultNamePrefix, cmd.Configuration)
if len(vars) == 0 { if len(vars) == 0 {
return false, nil return false, nil
} }
if err := env.Decode(vars, config.DefaultNamePrefix, cmd.Configuration); err != nil { if err := env.Decode(vars, model.DefaultNamePrefix, cmd.Configuration); err != nil {
return false, fmt.Errorf("failed to decode configuration from environment variables: %w", err) return false, fmt.Errorf("failed to decode configuration from environment variables: %w", err)
} }
+13 -13
View File
@@ -7,7 +7,7 @@ import (
"github.com/rs/zerolog" "github.com/rs/zerolog"
"github.com/rs/zerolog/log" "github.com/rs/zerolog/log"
"github.com/tinyauthapp/tinyauth/internal/config" "github.com/tinyauthapp/tinyauth/internal/model"
) )
type Logger struct { type Logger struct {
@@ -22,7 +22,7 @@ var (
App zerolog.Logger App zerolog.Logger
) )
func NewLogger(cfg config.LogConfig) *Logger { func NewLogger(cfg model.LogConfig) *Logger {
baseLogger := log.With(). baseLogger := log.With().
Timestamp(). Timestamp().
Caller(). Caller().
@@ -44,24 +44,24 @@ func NewLogger(cfg config.LogConfig) *Logger {
} }
func NewSimpleLogger() *Logger { func NewSimpleLogger() *Logger {
return NewLogger(config.LogConfig{ return NewLogger(model.LogConfig{
Level: "info", Level: "info",
Json: false, Json: false,
Streams: config.LogStreams{ Streams: model.LogStreams{
HTTP: config.LogStreamConfig{Enabled: true}, HTTP: model.LogStreamConfig{Enabled: true},
App: config.LogStreamConfig{Enabled: true}, App: model.LogStreamConfig{Enabled: true},
Audit: config.LogStreamConfig{Enabled: false}, Audit: model.LogStreamConfig{Enabled: false},
}, },
}) })
} }
func NewTestLogger() *Logger { func NewTestLogger() *Logger {
return NewLogger(config.LogConfig{ return NewLogger(model.LogConfig{
Level: "trace", Level: "trace",
Streams: config.LogStreams{ Streams: model.LogStreams{
HTTP: config.LogStreamConfig{Enabled: true}, HTTP: model.LogStreamConfig{Enabled: true},
App: config.LogStreamConfig{Enabled: true}, App: model.LogStreamConfig{Enabled: true},
Audit: config.LogStreamConfig{Enabled: true}, Audit: model.LogStreamConfig{Enabled: true},
}, },
}) })
} }
@@ -72,7 +72,7 @@ func (l *Logger) Init() {
App = l.App App = l.App
} }
func createLogger(component string, streamCfg config.LogStreamConfig, baseLogger zerolog.Logger) zerolog.Logger { func createLogger(component string, streamCfg model.LogStreamConfig, baseLogger zerolog.Logger) zerolog.Logger {
if !streamCfg.Enabled { if !streamCfg.Enabled {
return zerolog.Nop() return zerolog.Nop()
} }
+16 -16
View File
@@ -6,14 +6,14 @@ import (
"net/mail" "net/mail"
"strings" "strings"
"github.com/tinyauthapp/tinyauth/internal/config" "github.com/tinyauthapp/tinyauth/internal/model"
) )
func ParseUsers(usersStr []string, userAttributes map[string]config.UserAttributes) ([]config.User, error) { func ParseUsers(usersStr []string, userAttributes map[string]model.UserAttributes) (*[]model.LocalUser, error) {
var users []config.User var users []model.LocalUser
if len(usersStr) == 0 { if len(usersStr) == 0 {
return []config.User{}, nil return &users, nil
} }
for _, user := range usersStr { for _, user := range usersStr {
@@ -22,22 +22,22 @@ func ParseUsers(usersStr []string, userAttributes map[string]config.UserAttribut
} }
parsed, err := ParseUser(strings.TrimSpace(user)) parsed, err := ParseUser(strings.TrimSpace(user))
if err != nil { if err != nil {
return []config.User{}, err return nil, err
} }
if attrs, ok := userAttributes[parsed.Username]; ok { if attrs, ok := userAttributes[parsed.Username]; ok {
parsed.Attributes = attrs parsed.Attributes = attrs
} }
users = append(users, parsed) users = append(users, *parsed)
} }
return users, nil return &users, nil
} }
func GetUsers(usersCfg []string, usersPath string, userAttributes map[string]config.UserAttributes) ([]config.User, error) { func GetUsers(usersCfg []string, usersPath string, userAttributes map[string]model.UserAttributes) (*[]model.LocalUser, error) {
var usersStr []string var usersStr []string
if len(usersCfg) == 0 && usersPath == "" { if len(usersCfg) == 0 && usersPath == "" {
return []config.User{}, nil return &[]model.LocalUser{}, nil
} }
if len(usersCfg) > 0 { if len(usersCfg) > 0 {
@@ -48,7 +48,7 @@ func GetUsers(usersCfg []string, usersPath string, userAttributes map[string]con
contents, err := ReadFile(usersPath) contents, err := ReadFile(usersPath)
if err != nil { if err != nil {
return []config.User{}, err return nil, err
} }
lines := strings.SplitSeq(contents, "\n") lines := strings.SplitSeq(contents, "\n")
@@ -65,7 +65,7 @@ func GetUsers(usersCfg []string, usersPath string, userAttributes map[string]con
return ParseUsers(usersStr, userAttributes) return ParseUsers(usersStr, userAttributes)
} }
func ParseUser(userStr string) (config.User, error) { func ParseUser(userStr string) (*model.LocalUser, error) {
if strings.Contains(userStr, "$$") { if strings.Contains(userStr, "$$") {
userStr = strings.ReplaceAll(userStr, "$$", "$") userStr = strings.ReplaceAll(userStr, "$$", "$")
} }
@@ -73,27 +73,27 @@ func ParseUser(userStr string) (config.User, error) {
parts := strings.SplitN(userStr, ":", 4) parts := strings.SplitN(userStr, ":", 4)
if len(parts) < 2 || len(parts) > 3 { if len(parts) < 2 || len(parts) > 3 {
return config.User{}, errors.New("invalid user format") return nil, errors.New("invalid user format")
} }
for i, part := range parts { for i, part := range parts {
trimmed := strings.TrimSpace(part) trimmed := strings.TrimSpace(part)
if trimmed == "" { if trimmed == "" {
return config.User{}, errors.New("invalid user format") return nil, errors.New("invalid user format")
} }
parts[i] = trimmed parts[i] = trimmed
} }
user := config.User{ user := model.LocalUser{
Username: parts[0], Username: parts[0],
Password: parts[1], Password: parts[1],
} }
if len(parts) == 3 { if len(parts) == 3 {
user.TotpSecret = parts[2] user.TOTPSecret = parts[2]
} }
return user, nil return &user, nil
} }
func CompileUserEmail(username string, domain string) string { func CompileUserEmail(username string, domain string) string {