mongodb

package
v0.0.0-...-1759ba1 Latest Latest
Warning

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

Go to latest
Published: Sep 20, 2016 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrCouldNotClearDB = errors.New("could not clear database")

ErrCouldNotClearDB is when the database could not be cleared.

View Source
var ErrCouldNotDialDB = errors.New("could not dial database")

ErrCouldNotDialDB is when the database could not be dialed.

View Source
var ErrCouldNotLoadAggregate = errors.New("could not load aggregate")

ErrCouldNotLoadAggregate is when an aggregate could not be loaded.

View Source
var ErrCouldNotMarshalEvent = errors.New("could not marshal event")

ErrCouldNotMarshalEvent is when an event could not be marshaled into BSON.

View Source
var ErrCouldNotSaveAggregate = errors.New("could not save aggregate")

ErrCouldNotSaveAggregate is when an aggregate could not be saved.

View Source
var ErrCouldNotUnmarshalEvent = errors.New("could not unmarshal event")

ErrCouldNotUnmarshalEvent is when an event could not be unmarshaled into a concrete type.

View Source
var ErrEventNotRegistered = errors.New("event not registered")

ErrEventNotRegistered is when an event is not registered.

View Source
var ErrInvalidEvent = errors.New("invalid event")

ErrInvalidEvent is when an event does not implement the Event interface.

View Source
var ErrModelNotSet = errors.New("model not set")

ErrModelNotSet is when an model is not set on a read repository.

View Source
var ErrNoDBSession = errors.New("no database session")

ErrNoDBSession is when no database session is set.

Functions

This section is empty.

Types

type EventStore

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

EventStore implements an EventStore for MongoDB.

func NewEventStore

func NewEventStore(eventBus eventhorizon.EventBus, url, database string) (*EventStore, error)

NewEventStore creates a new EventStore.

func NewEventStoreWithSession

func NewEventStoreWithSession(eventBus eventhorizon.EventBus, session *mgo.Session, database string) (*EventStore, error)

NewEventStoreWithSession creates a new EventStore with a session.

func (*EventStore) Clear

func (s *EventStore) Clear() error

Clear clears the event storge.

func (*EventStore) Close

func (s *EventStore) Close()

Close closes the database session.

func (*EventStore) Load

Load loads all events for the aggregate id from the database. Returns ErrNoEventsFound if no events can be found.

func (*EventStore) RegisterEventType

func (s *EventStore) RegisterEventType(event eventhorizon.Event, factory func() eventhorizon.Event) error

RegisterEventType registers an event factory for a event type. The factory is used to create concrete event types when loading from the database.

An example would be:

eventStore.RegisterEventType(&MyEvent{}, func() Event { return &MyEvent{} })

func (*EventStore) Save

func (s *EventStore) Save(events []eventhorizon.Event) error

Save appends all events in the event stream to the database.

func (*EventStore) SetDB

func (s *EventStore) SetDB(db string)

SetDB sets the database session.

type ReadRepository

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

ReadRepository implements an MongoDB repository of read models.

func NewReadRepository

func NewReadRepository(url, database, collection string) (*ReadRepository, error)

NewReadRepository creates a new ReadRepository.

func NewReadRepositoryWithSession

func NewReadRepositoryWithSession(session *mgo.Session, database, collection string) (*ReadRepository, error)

NewReadRepositoryWithSession creates a new ReadRepository with a session.

func (*ReadRepository) Clear

func (r *ReadRepository) Clear() error

Clear clears the read model database.

func (*ReadRepository) Close

func (r *ReadRepository) Close()

Close closes a database session.

func (*ReadRepository) Find

func (r *ReadRepository) Find(id eventhorizon.UUID) (interface{}, error)

Find returns one read model with using an id. Returns ErrModelNotFound if no model could be found.

func (*ReadRepository) FindAll

func (r *ReadRepository) FindAll() ([]interface{}, error)

FindAll returns all read models in the repository.

func (*ReadRepository) FindCustom

func (r *ReadRepository) FindCustom(callback func(*mgo.Collection) *mgo.Query) ([]interface{}, error)

FindCustom uses a callback to specify a custom query.

func (*ReadRepository) Remove

func (r *ReadRepository) Remove(id eventhorizon.UUID) error

Remove removes a read model with id from the repository. Returns ErrModelNotFound if no model could be found.

func (*ReadRepository) Save

func (r *ReadRepository) Save(id eventhorizon.UUID, model interface{}) error

Save saves a read model with id to the repository.

func (*ReadRepository) SetDB

func (r *ReadRepository) SetDB(db string)

SetDB sets the database session and database.

func (*ReadRepository) SetModel

func (r *ReadRepository) SetModel(factory func() interface{})

SetModel sets a factory function that creates concrete model types.

Jump to

Keyboard shortcuts

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