bzrk / eventsauce-messagestorage-gcp
Implementation of EventSauce Message- and SnapshotRepository for Google Firestore and Google Datastore
Package info
github.com/bzrk/EventSauce-MessageStorage-GCP
pkg:composer/bzrk/eventsauce-messagestorage-gcp
1.1.0
2024-04-02 11:33 UTC
Requires
- php: >=8.2
- bzrk/php-stream: ^1.0
- eventsauce/eventsauce: ^3.6
- google/cloud-datastore: ^1.28
- google/cloud-firestore: ^1.42
- ramsey/uuid: 4.7.5
- webmozart/assert: ^1.11
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^11.0
- squizlabs/php_codesniffer: ^3.9
README
Implementation of EventSauce Message- and SnapshotRepository for Google Firestore and Google Datastore
Usage Firestore
$firestoreClient = new FirestoreClient(); $this->messageRepository = new MessageRepository( $firestoreClient, 'collectionForAggregateEvents', new ConstructingMessageSerializer() ); $this->snapshotRepository = new SnapshotRepository( $firestoreClient, 'collectionForAggregateSnapshots' );
Usage Datastore
$datastoreClient = new DatastoreClient(); $this->messageRepository = new MessageRepository( $datastoreClient, 'collectionForAggregateEvents', new ConstructingMessageSerializer() ); $this->snapshotRepository = new SnapshotRepository( $datastoreClient, 'collectionForAggregateSnapshots' );
Running Tests
// starts needed Containers docker-compose up // running qualtity tools docker-compose run --rm php composer verify