Versions in this module Expand all Collapse all v0 v0.2.1 Sep 22, 2023 Changes in this version + var ErrInvalidBirthDate = fmt.Errorf("user.User: invalid birth date, not specified") + var ErrInvalidEmail = fmt.Errorf("user.User: invalid email, is empty") + var ErrInvalidFirstName = fmt.Errorf("user.User: invalid first name, is empty") + var ErrInvalidLastName = fmt.Errorf("user.User: invalid last name, is empty") + var Type = aggregate.Type[uuid.UUID, *User] + type CreateCommand struct + BirthDate time.Time + Email string + FirstName string + LastName string + func (CreateCommand) Name() string + type CreateCommandHandler struct + UUIDGenerator func() uuid.UUID + UserRepository aggregate.Saver[uuid.UUID, *User] + func (h CreateCommandHandler) Handle(ctx context.Context, cmd command.Envelope[CreateCommand]) error + type EmailWasUpdated struct + Email string + func (EmailWasUpdated) Name() string + type User struct + func Create(id uuid.UUID, firstName, lastName, email string, birthDate time.Time) (*User, error) + func (user *User) AggregateID() uuid.UUID + func (user *User) Apply(event event.Event) error + func (user *User) UpdateEmail(email string) error + type WasCreated struct + BirthDate time.Time + Email string + FirstName string + ID uuid.UUID + LastName string + func (WasCreated) Name() string