Files
lassistanoque/backend/internal/service/user/service.go
T
2026-08-08 23:12:37 +02:00

48 lines
858 B
Go

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)
}