model refactor

This commit is contained in:
nquidox 2025-09-09 23:17:41 +03:00
parent 42b53012dc
commit 0fdc00e2cc
3 changed files with 13 additions and 9 deletions

View file

@ -5,7 +5,7 @@ import (
"time" "time"
) )
type RefreshToken struct { type Session struct {
Id uint `gorm:"primary_key"` Id uint `gorm:"primary_key"`
CreatedAt time.Time `gorm:"column:created_at"` CreatedAt time.Time `gorm:"column:created_at"`
UpdatedAt sql.NullTime `gorm:"column:updated_at"` UpdatedAt sql.NullTime `gorm:"column:updated_at"`
@ -15,3 +15,7 @@ type RefreshToken struct {
SessionUuid string `gorm:"column:session_uuid"` SessionUuid string `gorm:"column:session_uuid"`
Expires time.Time `gorm:"column:expires"` Expires time.Time `gorm:"column:expires"`
} }
func (Session) TableName() string {
return "sessions"
}

View file

@ -6,8 +6,8 @@ import (
) )
type Repository interface { type Repository interface {
CreateRefreshToken(token *RefreshToken) error CreateRefreshToken(token *Session) error
ReadRefreshToken(userUuid, tokenUuid, sessionUuid string) (RefreshToken, error) ReadRefreshToken(userUuid, tokenUuid, sessionUuid string) (Session, error)
InvalidateRefreshToken(userUuid, refreshUuid, sessionUuid string) error InvalidateRefreshToken(userUuid, refreshUuid, sessionUuid string) error
} }
@ -19,12 +19,12 @@ func newRepository(db *gorm.DB) *repo {
return &repo{db: db} return &repo{db: db}
} }
func (r *repo) CreateRefreshToken(token *RefreshToken) error { func (r *repo) CreateRefreshToken(token *Session) error {
return r.db.Create(token).Error return r.db.Create(token).Error
} }
func (r *repo) ReadRefreshToken(userUuid, tokenUuid, sessionUuid string) (RefreshToken, error) { func (r *repo) ReadRefreshToken(userUuid, tokenUuid, sessionUuid string) (Session, error) {
var tokenData RefreshToken var tokenData Session
if err := r.db. if err := r.db.
Where("user_uuid = ?", userUuid). Where("user_uuid = ?", userUuid).
@ -32,7 +32,7 @@ func (r *repo) ReadRefreshToken(userUuid, tokenUuid, sessionUuid string) (Refres
Where("session_uuid = ?", sessionUuid). Where("session_uuid = ?", sessionUuid).
Where("deleted_at IS NULL"). Where("deleted_at IS NULL").
First(&tokenData).Error; err != nil { First(&tokenData).Error; err != nil {
return RefreshToken{}, err return Session{}, err
} }
return tokenData, nil return tokenData, nil
@ -40,7 +40,7 @@ func (r *repo) ReadRefreshToken(userUuid, tokenUuid, sessionUuid string) (Refres
func (r *repo) InvalidateRefreshToken(userUuid, refreshUuid, sessionUuid string) error { func (r *repo) InvalidateRefreshToken(userUuid, refreshUuid, sessionUuid string) error {
return r.db. return r.db.
Model(&RefreshToken{}). Model(&Session{}).
Where("user_uuid = ?", userUuid). Where("user_uuid = ?", userUuid).
Where("refresh_uuid = ?", refreshUuid). Where("refresh_uuid = ?", refreshUuid).
Where("session_uuid = ?", sessionUuid). Where("session_uuid = ?", sessionUuid).

View file

@ -71,7 +71,7 @@ func (s *Service) createSession(userUuid, sessionUuid string) (shared.AuthData,
expires := time.Now().UTC().Add(s.refreshExpiry) expires := time.Now().UTC().Add(s.refreshExpiry)
refreshCookie := s.jwtProvider.CreateRefreshToken(refreshUuid, expires) refreshCookie := s.jwtProvider.CreateRefreshToken(refreshUuid, expires)
err = s.repo.CreateRefreshToken(&RefreshToken{ err = s.repo.CreateRefreshToken(&Session{
Expires: expires, Expires: expires,
UserUuid: userUuid, UserUuid: userUuid,
RefreshUuid: refreshUuid, RefreshUuid: refreshUuid,