bzrk / eventsauce-messagestorage-gcp
Implementation of EventSauce Message- and SnapshotRepository for Google Firestore and Google Datastore
Installs: 2 480
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 0
Open Issues: 0
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