diff --git a/service/user.go b/service/user.go index 5390bb6..ab0f1ea 100644 --- a/service/user.go +++ b/service/user.go @@ -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 {