feat(service,user): add logging to methods

This commit is contained in:
Guz
2025-06-10 19:05:00 -03:00
parent 4975a65406
commit 9a110a814b

View File

@@ -2,6 +2,7 @@ package service
import (
"errors"
"log/slog"
"time"
"forge.capytal.company/capytalcode/project-comicverse/model"
@@ -13,7 +14,9 @@ import (
type User struct {
repo *repository.User
assert tinyssert.Assertions
log *slog.Logger
}
func NewUser(repo *repository.User, logger *slog.Logger, assert tinyssert.Assertions) *User {
@@ -25,6 +28,11 @@ func NewUser(repo *repository.User, logger *slog.Logger, assert tinyssert.Assert
func (svc *User) Register(username, password string) (model.User, error) {
svc.assert.NotNil(svc.repo)
svc.assert.NotNil(svc.log)
log := svc.log.With(slog.String("username", username))
log.Info("Registering user")
defer log.Info("Finished registering user")
if _, err := svc.repo.GetByUsername(username); err == nil {
return model.User{}, ErrAlreadyExists
@@ -60,6 +68,11 @@ func (svc *User) Register(username, password string) (model.User, error) {
func (svc *User) Login(username, password string) (user model.User, err error) {
svc.assert.NotNil(svc.repo)
svc.assert.NotNil(svc.log)
log := svc.log.With(slog.String("username", username))
log.Info("Logging in user")
defer log.Info("Finished logging in user")
user, err = svc.repo.GetByUsername(username)
if err != nil {