From 826ea4088aacbf4d3a15111b84bef5dafbc153e4 Mon Sep 17 00:00:00 2001 From: "Gustavo \"Guz\" L de Mello" Date: Mon, 16 Jun 2025 07:08:47 -0300 Subject: [PATCH] refactor(service,token): provide arguments via cfg struct --- service/token.go | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/service/token.go b/service/token.go index 9edc14f..f706a49 100644 --- a/service/token.go +++ b/service/token.go @@ -3,6 +3,7 @@ package service import ( "crypto/ed25519" "errors" + "fmt" "log/slog" "time" @@ -23,19 +24,27 @@ type Token struct { assert tinyssert.Assertions } -func NewToken( - privateKey ed25519.PrivateKey, - publicKey ed25519.PublicKey, - repo *repository.Token, - logger *slog.Logger, - assert tinyssert.Assertions, -) *Token { - assert.NotZero(privateKey) - assert.NotZero(publicKey) - assert.NotZero(repo) - assert.NotZero(logger) +func NewToken(cfg TokenConfig) *Token { + cfg.Assertions.NotZero(cfg.PrivateKey) + cfg.Assertions.NotZero(cfg.PublicKey) + cfg.Assertions.NotZero(cfg.Repository) + cfg.Assertions.NotZero(cfg.Logger) - return &Token{assert: assert} + return &Token{ + privateKey: cfg.PrivateKey, + publicKey: cfg.PublicKey, + repo: cfg.Repository, + log: cfg.Logger, + assert: cfg.Assertions, + } +} + +type TokenConfig struct { + PrivateKey ed25519.PrivateKey + PublicKey ed25519.PublicKey + Repository *repository.Token + Logger *slog.Logger + Assertions tinyssert.Assertions } func (svc *Token) Issue(user model.User) (string, error) { // TODO: Return a refresh token