govukapp-1108 data storage modularization #266
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently branched off the govukapp-1105 modulariation.
This PR demonstrates two ways that a contributor to the app might make use of local persistence: Either by creating their own core data store, or accessing a shared repository.
To facilitate this the CoreDataRepository and associated files were moved to GOVKit. This makes it easier for consumer to spin up their own store using the CoreDataRepository class.
Additionally, a dependency to Factory was added to GOVKit, along with the Container extensions for creating repositories. This was more of a convenience and would not necessarily have to be part of the final implementation.
A TestWidgetRepository was added that creates it's own persistent store, leveraging CoreDataRepository to make it easier. The TestViewController now demonstrates saving a simple object to that store
TestViewController also now makes use of Factory to get access to the ActivityRepository to access shared data.