-
-
Notifications
You must be signed in to change notification settings - Fork 94
Snapshot support (as an event) #479
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Snapshot support (as an event) #479
Conversation
alexey-troshkin-xpress
commented
Nov 29, 2025
•
edited by qodo-free-for-open-source-projects
bot
Loading
edited by qodo-free-for-open-source-projects
bot
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
|||||||||||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
||||||||||||
Test Results 51 files + 34 51 suites +34 41m 54s ⏱️ + 31m 5s Results for commit cdac775. ± Comparison against base commit 2f9d974. This pull request removes 5 and adds 15 tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
fe1f82c to
8cfd469
Compare
…age strategies. Added logic to retrieve and register storage strategies for snapshots, ensuring proper handling during snapshot type registration
…vice; implement snapshot handling logic for SeparateStream and SeparateStore strategies
User description
Added snapshot support according to the description in #468, except that the attribute is called Snapshots instead of HasRollingSnapshots, registration is done through source generators, and also added a project with an example of usage
PR Type
Enhancement
Description
Added rolling snapshot support with
Snapshotsattribute for state typesImplemented source generator to auto-register snapshot type mappings
Added
ReadStreamAfterSnapshotmethod to read events from latest snapshotCreated banking sample demonstrating snapshot usage with deposit/withdraw operations
Diagram Walkthrough
File Walkthrough
7 files
Core snapshot type registration and attribute definitionSource generator for automatic snapshot type mappingHelper utility for global type name formattingRefactored to use shared MakeGlobal helper methodImplemented ReadStreamAfterSnapshot for backward event readingIntegrated snapshot support in LoadState methodIntegrated snapshot support in LoadAggregate method9 files
Added snapshot attribute constants for generatorsDomain project file with core dependenciesAPI project file with KurrentDB and generator referencesAppHost project file with Aspire configurationAPI application settings configurationAPI development logging configurationAppHost application settings configurationAppHost development logging configurationAdded banking sample projects to solution5 files
State with Snapshots attribute and snapshot event handlerDomain events including snapshot event definitionCommand service with snapshot creation logicAPI setup with KurrentDB and command service registrationAspire AppHost configuration for banking sample1 files
Documentation for snapshot feature usage1 files
Added KurrentDB Aspire package versions