From 32c7e8e04542afe7229999d74abc00a8f624c41b Mon Sep 17 00:00:00 2001 From: Stavros Date: Wed, 27 Aug 2025 14:04:26 +0300 Subject: [PATCH] fix: coderabbit suggestions --- internal/controller/oauth_controller.go | 12 +++++++++++- internal/model/session_model.go | 2 +- internal/service/auth_service.go | 4 ++-- internal/service/database_service.go | 2 ++ 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/internal/controller/oauth_controller.go b/internal/controller/oauth_controller.go index 411fb98..31b21f0 100644 --- a/internal/controller/oauth_controller.go +++ b/internal/controller/oauth_controller.go @@ -169,8 +169,18 @@ func (controller *OAuthController) oauthCallbackHandler(c *gin.Context) { name = fmt.Sprintf("%s (%s)", utils.Capitalize(strings.Split(user.Email, "@")[0]), strings.Split(user.Email, "@")[1]) } + var usename string + + if user.PreferredUsername != "" { + log.Debug().Msg("Using preferred username from OAuth provider") + usename = user.PreferredUsername + } else { + log.Debug().Msg("No preferred username from OAuth provider, using pseudo username") + usename = strings.Replace(user.Email, "@", "_", -1) + } + controller.Auth.CreateSessionCookie(c, &config.SessionCookie{ - Username: user.PreferredUsername, + Username: usename, Name: name, Email: user.Email, Provider: req.Provider, diff --git a/internal/model/session_model.go b/internal/model/session_model.go index 53f0116..45e6065 100644 --- a/internal/model/session_model.go +++ b/internal/model/session_model.go @@ -1,7 +1,7 @@ package model type Session struct { - UUID string `gorm:"column:uuid"` + UUID string `gorm:"column:uuid;primaryKey"` Username string `gorm:"column:username"` Email string `gorm:"column:email"` Name string `gorm:"column:name"` diff --git a/internal/service/auth_service.go b/internal/service/auth_service.go index b10f5de..f55961c 100644 --- a/internal/service/auth_service.go +++ b/internal/service/auth_service.go @@ -222,13 +222,13 @@ func (auth *AuthService) CreateSessionCookie(c *gin.Context, data *config.Sessio } func (auth *AuthService) DeleteSessionCookie(c *gin.Context) error { - session, err := auth.GetSessionCookie(c) + cookie, err := c.Cookie(auth.Config.SessionCookieName) if err != nil { return err } - res := auth.Database.Unscoped().Where("uuid = ?", session.UUID).Delete(&model.Session{}) + res := auth.Database.Unscoped().Where("uuid = ?", cookie).Delete(&model.Session{}) if res.Error != nil { return res.Error diff --git a/internal/service/database_service.go b/internal/service/database_service.go index 638f21a..858ba4c 100644 --- a/internal/service/database_service.go +++ b/internal/service/database_service.go @@ -39,6 +39,8 @@ func (ds *DatabaseService) Init() error { return err } + sqlDB.SetMaxOpenConns(1) + err = ds.migrateDatabase(sqlDB) if err != nil && err != migrate.ErrNoChange {