model

package
v0.0.0-...-60e5973 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 8, 2023 License: AGPL-3.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidPerson      = errors.New("model: player has to be a valid person")
	ErrPlayerUpdateFailed = errors.New("model: player update failed")
)
View Source
var (
	ErrInvalidGroup     = errors.New("model: team has to be a valid group")
	ErrTeamUpdateFailed = errors.New("model: team update failed")
)

Functions

This section is empty.

Types

type Player

type Player struct {
	// contains filtered or unexported fields
}

Player is a aggregate that combines all entities needed to represent a player.

func NewPlayer

func NewPlayer(p entity.Person) (*Player, error)

NewPlayer is a factory to create a new Player aggregate.

func NewPlayerFromEvents

func NewPlayerFromEvents(events []event.Event) *Player

NewFromEvents is a helper method that creates a new player from a series of events.

func (*Player) Activate

func (p *Player) Activate() error

Activate activates player.

func (*Player) Apply

func (p *Player) Apply(e event.Event, new bool)

Apply applies player events to the player aggregate.

func (*Player) AssignTeam

func (p *Player) AssignTeam(t *Team) error

AssignTeam assigns team to player.

func (*Player) Deactivate

func (p *Player) Deactivate() error

Deactivate deactivates player.

func (Player) Events

func (p Player) Events() []event.Event

Events returns the uncommitted events from the player aggregate.

func (*Player) GetEntity

func (p *Player) GetEntity() entity.Person

GetEntity returns the player root entity.

func (*Player) GetID

func (p *Player) GetID() uuid.UUID

GetID returns the player root ID.

func (*Player) GetName

func (p *Player) GetName() string

GetName returns the name of the player.

func (*Player) GetTeams

func (p *Player) GetTeams() (teams []entity.Group)

func (*Player) IsActivated

func (p *Player) IsActivated() bool

IsActivated returns whether the player is activated.

func (*Player) UnassignTeam

func (p *Player) UnassignTeam(t *Team) error

UnassignTeam unassigns team from player.

func (Player) Version

func (p Player) Version() int

Version returns the last version of the aggregate before changes.

type Team

type Team struct {
	// contains filtered or unexported fields
}

Team is a aggregate that combines all entities needed to represent a team.

func NewTeam

func NewTeam(g entity.Group) (*Team, error)

NewTeam is a factory to create a new Team aggregate.

func NewTeamFromEvents

func NewTeamFromEvents(events []event.Event) *Team

NewFromEvents is a helper method that creates a new team from a series of events.

func (*Team) Activate

func (t *Team) Activate() error

Activate activates team.

func (*Team) Apply

func (t *Team) Apply(e event.Event, new bool)

Apply applies team events to the team aggregate.

func (*Team) AssignPlayer

func (t *Team) AssignPlayer(p *Player) error

AssignPlayer assigns player to team.

func (*Team) Deactivate

func (t *Team) Deactivate() error

Deactivate deactivates team.

func (Team) Events

func (t Team) Events() []event.Event

Events returns the uncommitted events from the team aggregate.

func (*Team) GetEntity

func (t *Team) GetEntity() entity.Group

GetEntity returns the team root entity.

func (*Team) GetID

func (t *Team) GetID() uuid.UUID

GetID returns the team root ID.

func (*Team) GetName

func (t *Team) GetName() string

GetName returns the name of the team.

func (*Team) GetPlayers

func (t *Team) GetPlayers() (players []entity.Person)

func (*Team) IsActivated

func (t *Team) IsActivated() bool

IsActivated returns whether the team is activated.

func (*Team) UnassignPlayer

func (t *Team) UnassignPlayer(p *Player) error

UassignPlayer assigns player from team.

func (Team) Version

func (t Team) Version() int

Version returns the last version of the aggregate before changes.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL