refactor(frontend): introduce data store injection boundary #16

Merged
addison merged 3 commits from feature/data-store-abstraction into main 2026-08-25 17:49:39 -04:00
Collaborator

Summary

  • introduce a domain-facing DataStore interface and Angular injection token
  • keep the abstraction independent from the in-memory implementation provider
  • rename the mock implementation to InMemoryDataStore
  • add an initialization lifecycle and async persistence commands for future remote stores
  • move client, contractor, and job address/contact persistence behind aggregate save commands
  • update application components and tests to use the new boundary
  • keep PocketBase implementation out of scope for a follow-up PR

Validation

  • npm run lint --prefix frontend
  • npx ng build --no-progress (from frontend)
## Summary - introduce a domain-facing `DataStore` interface and Angular injection token - keep the abstraction independent from the in-memory implementation provider - rename the mock implementation to `InMemoryDataStore` - add an initialization lifecycle and async persistence commands for future remote stores - move client, contractor, and job address/contact persistence behind aggregate save commands - update application components and tests to use the new boundary - keep PocketBase implementation out of scope for a follow-up PR ## Validation - `npm run lint --prefix frontend` - `npx ng build --no-progress` (from `frontend`)
refactor(frontend): introduce data store injection boundary
Some checks failed
Pull Request CI / Frontend checks (pull_request) Failing after 44s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m12s
Pull Request CI / Backend checks (pull_request) Successful in 2m24s
ac0504640e
Amp-Thread-ID: https://ampcode.com/threads/T-01a0393a-f082-7356-be20-5677f672ccd8
Co-authored-by: Addison Emig <[email protected]>
refactor(frontend): prepare datastore for async backends
Some checks failed
Pull Request CI / Frontend checks (pull_request) Failing after 44s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m19s
Pull Request CI / Backend checks (pull_request) Successful in 2m19s
23b916b121
Amp-Thread-ID: https://ampcode.com/threads/T-01a0393a-f082-7356-be20-5677f672ccd8
Co-authored-by: Addison Emig <[email protected]>
style(frontend): format datastore test provider
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m23s
Pull Request CI / Backend checks (pull_request) Successful in 2m15s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m4s
690f225b31
Amp-Thread-ID: https://ampcode.com/threads/T-01a0393a-f082-7356-be20-5677f672ccd8
Co-authored-by: Addison Emig <[email protected]>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kwila/kalzar!16
No description provided.