Skip to content
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

Refactor: Better Projections #111

Open
wants to merge 100 commits into
base: main
Choose a base branch
from
Open

Conversation

the-avid-engineer
Copy link
Member

No description provided.

prevents using one DbContext for multiple snapshots (and therefore prevents related snapshots)
Tests should be running in TestMode, and should not actually commit data.
…d/delete tags/leases, must use the I(Add/Delete)(Leases/Tags)Command interface
- use ITransaction and ITransactionCommand as inputs to GetProjectionIdOrDefault and Reduce (gives access to command and agent signature)
@the-avid-engineer the-avid-engineer added this to the 10.0.0 milestone Dec 20, 2022
@the-avid-engineer the-avid-engineer self-assigned this Dec 20, 2022
@the-avid-engineer the-avid-engineer temporarily deployed to beta December 20, 2022 22:37 — with GitHub Actions Inactive
@the-avid-engineer the-avid-engineer temporarily deployed to beta December 21, 2022 01:46 — with GitHub Actions Inactive
@the-avid-engineer the-avid-engineer temporarily deployed to beta December 21, 2022 20:23 — with GitHub Actions Inactive
@the-avid-engineer the-avid-engineer temporarily deployed to beta December 31, 2022 09:08 — with GitHub Actions Inactive
1. Load - requires existing stream
2. Create - assumes a new stream
3. First message for Create is always Version.One so that optimistic concurrency exceptions get logged
4. Rename Stage to Append to be consistent
5. Allow Append without Message Key
6. Allow Deltas to manage leases/tags
1. attributes belong to sources, not states
2. move TimeStamp from ValueObjects to Sources
3. move Pointer and Version to states, prefix with State
4. move Id to top level abstraction
5. don't pass message key directly to Append, check if delta implements IAddMessageKeyDelta
6. refactor Message.NewMessage to handle all lease collection (entities in the future might have key support?)
7. move Key to common, replace with IStateKey and IMessageKey in abstractions
8. move pointer satisfied check to the exception it always ends up throwing if fall
not all appends are async.. wasted on non-async appends
stripe test mode webhook doesn't send an idempotency key :/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant