type UserService struct
type Repository interface
  FindById(id string) → (*User, error)
  Save(user *User) → error
func NewUserService(repo Repository) → *UserService
func (s) GetUser(id string) → (*User, error)
func (s) CreateUser(data CreateUserDto) → (*User, error)
func HashPassword(password string) → (string, error)
