package user import ( "fmt" "trankilou.fr/lassistanoque/backend/internal/domain" ) type Service struct { repo domain.UserRepository } func NewService(repo domain.UserRepository) *Service { return &Service{ repo, } } func (s *Service) GetUser(id string) (*domain.User, error) { user, err := s.repo.FindUser(id) if err != nil { return nil, err } if !user.Enabled { return nil, fmt.Errorf("unauthorized") } return user, nil } func (s *Service) UpdateUser(updUser *domain.User, fromAdmin bool) (*domain.User, error) { user, err := s.repo.FindUser(updUser.ID) if err != nil { return nil, err } if fromAdmin { user.Enabled = updUser.Enabled } user.Email = updUser.Email user.Firstname = updUser.Firstname user.Lastname = updUser.Lastname user.Theme = updUser.Theme user.Lang = updUser.Lang return s.repo.UpdateUser(user) }