all repos

onasty @ 423cbf0

a one-time notes service
6 files changed, 20 insertions(+), 23 deletions(-)
refactor: use models in verification tokes repo (#113)

* refactor(vertokrepo): use models

* fixup! refactor(vertokrepo): use models

* hash: naming
Author: Smirnov Oleksandr ss2316544@gmail.com
Committed by: GitHub noreply@github.com
Committed at: 2025-05-21 17:01:56 +0300
Parent: 218bb4e
M cmd/server/main.go

@@ -158,9 +158,9 @@ }()

} // graceful shutdown - quit := make(chan os.Signal, 1) - signal.Notify(quit, os.Interrupt) - <-quit + quitCh := make(chan os.Signal, 1) + signal.Notify(quitCh, os.Interrupt) + <-quitCh if err := srv.Stop(ctx); err != nil { return errors.Join(errors.New("failed to stop http server"), err)
M e2e/apiv1_auth_test.go

@@ -274,8 +274,6 @@ e.Equal(body.RefreshToken, sessionDB.RefreshToken)

} func (e *AppTestSuite) TestAuthV1_RefreshTokens_wrong() { - // requests a new token pair with a wrong refresh token - httpResp := e.httpRequest( http.MethodPost, "/api/v1/auth/refresh-tokens",
M internal/hasher/sha256_test.go

@@ -27,7 +27,7 @@ err = hasher.Compare(hashed, input)

require.NoError(t, err) }) - t.Run("hashes mismatch", func(t *testing.T) { + t.Run("mismatch", func(t *testing.T) { hashed, err := hasher.Hash(input + "4") require.NoError(t, err) require.NotEmpty(t, hashed)
M internal/models/tokens.go

@@ -22,3 +22,10 @@

func (p ResetPasswordToken) IsExpired() bool { return p.ExpiresAt.Before(time.Now()) } + +type VerificationToken struct { + UserID uuid.UUID + Token string + CreatedAt time.Time + ExpiresAt time.Time +}
M internal/service/usersrv/usersrv.go

@@ -118,13 +118,12 @@ return uuid.Nil, err

} verificationToken := uuid.Must(uuid.NewV4()).String() - if err := u.vertokrepo.Create( - ctx, - verificationToken, - userID, - time.Now(), - time.Now().Add(u.verificationTokenTTL), - ); err != nil { + if err := u.vertokrepo.Create(ctx, models.VerificationToken{ + UserID: userID, + Token: verificationToken, + CreatedAt: time.Now(), + ExpiresAt: time.Now().Add(u.verificationTokenTTL), + }); err != nil { return uuid.Nil, err }
M internal/store/psql/vertokrepo/vertokrepo.go

@@ -11,12 +11,7 @@ "github.com/olexsmir/onasty/internal/store/psqlutil"

) type VerificationTokenStorer interface { - Create( - ctx context.Context, - token string, - userID uuid.UUID, - createdAt, expiresAt time.Time, - ) error + Create(ctx context.Context, token models.VerificationToken) error GetUserIDByTokenAndMarkAsUsed( ctx context.Context,

@@ -46,14 +41,12 @@ }

func (r *VerificationTokenRepo) Create( ctx context.Context, - token string, - userID uuid.UUID, - createdAt, expiresAt time.Time, + token models.VerificationToken, ) error { query, aggs, err := pgq. Insert("verification_tokens"). Columns("user_id", "token", "created_at", "expires_at"). - Values(userID, token, createdAt, expiresAt). + Values(token.UserID, token.Token, token.CreatedAt, token.ExpiresAt). SQL() if err != nil { return err