Skip to content

es cqrs.Repository

Sclable CI edited this page Sep 11, 2024 · 198 revisions

Class: Repository<T>

es-cqrs.Repository

An aggregate repository is a storage handler for aggregates. It recreates an aggregate every time from the event store, but to speed things up, it first tries to load up a snapshot of the aggregate. It is also responsible for persisting the aggregate by saving its events.

Typeparam

T an Aggregate

Type parameters

Name Type
T extends Aggregate

Table of contents

Properties

Methods

Properties

aggregateType

Private Readonly aggregateType: AggregateConstructor<T>

Defined in

packages/es-cqrs/src/repository.ts:27


eventStore

Private Readonly eventStore: EventStoreProvider

Defined in

packages/es-cqrs/src/repository.ts:29


publisher

Private Readonly publisher: EventPublisher<Event>

Defined in

packages/es-cqrs/src/repository.ts:28

Methods

find

find(id, userId?): Promise<T>

Recreate an aggregate from the events

Parameters

Name Type Description
id string aggregate id
userId? string user id for subsequent operations, can be omitted for reading

Returns

Promise<T>

an aggregate

Defined in

packages/es-cqrs/src/repository.ts:43


persist

persist(aggregate): Promise<void>

Persist an aggregate by saving its events

Parameters

Name Type
aggregate T

Returns

Promise<void>

Defined in

packages/es-cqrs/src/repository.ts:54

Clone this wiki locally