-
Notifications
You must be signed in to change notification settings - Fork 226
feat: DataStore and API Lazy Loading with Custom Selection Set (data-dev-preview) #2658
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
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
9 tasks
royjit
previously approved these changes
Feb 8, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving, since all underlying PRs are approved and tested against integration test/
* adds selection set customization to api category * fix selection set indent logic * lazy load all commits * Add PrimaryKeyOnly flag to GraphQLRequestBuilders * API - Add initial PostComment4V2 tests * API progress on PostComment4V2 tests * API update and delete tests for PostComment4V2 tests * cancel subscription in subscription tests * Adding copy of DataStore tests and make buildable * updated codegen for postcomment and minor testSave tests * Setting up ProjectTeam codegen schemas and running initial test * API LL3 LL4 testing * API LL5 LL6 testing * API LL2 testing * disable unfinished tests * Update DataStore integ models with modePath * fix unit tests in API and DataStore * test DS integration tests * migrate LazyModel to LazyReference * code clean up * code clean up * Update Amplify-Package.xcscheme * add geo scheme * code clean up * address PR comments 1 - remove duplicate state enum, move primaryKeysOnly check within decorator * fix primaryKey parameter * add L12 codegenerated files * API testing LL12 * DS LL12 test placeholder * enable reduced selection set for DataStore for all operations * disable reduced selection set for DataStore mutations * disable reduced selection set for DataStore mutations 2 * remove print statments * add typename from client side for DataStore MutationSync<AnyModel> * add _deleted to new subscription selection sets only for nested children, more API CommentPost schema integ tests, fix AWSPluginsCore unit tests * fix API integ tests for ProjectTeam 5/6 * optimize list and lazy reference decoding logic * remove public loadingStrategy configuration * fix race case for plugin resets wrt the ModelRegistry being reset * update models and fix tests * test stability - set up datastore only for selection set tests * reduce logging in Decorator * test stability - reduce syncMaxRecords to 100 * test stability - clearOnTearDown false for all tests * API integ tests - subscribe team project LL8/9 * API integ tests - refactor LL112 into 3 separate test classes * PhoneCall testing * fix error handling - remove DataError - return API or DataStore error from respective plugin model providers - return CoreError from core implementation * code clean up - rename shouldDecode to decode - use _ prefix for public but intended internal Co-authored-by: Daniel Rochetti <[email protected]>
…ly (#2684) * chore: enable lazy loading integration tests * fix(datastore): observe API mutation event decode to model successfully * update branches for GH workflows * fix typo
* fix(datastore): covert with schema fields * fix: remove redundant code * fix: mark empty record with nil * fix: graphQL payload generate order * fix: recursive function break condition
* chore: enable lazy loading integration tests * update branches for GH workflows * fix: test UserPostComment schema * add lazy load tests * add schema with Double field, fix PropertyPath
…ion (#2701) * testing DataStore HasOneParentChild * add more testing * Add list query API integ tests * remove config comment * Add DS lazy load observeQuery tests * add API include nested models * fix: do not set nil values for create mutation graphQL input translation * fix hasOneParent test * fix DataStore LL5 testSaveProjectWithTeamThenAccessProjectFromTeam
* fix: uni-directional has-many lazy list load * remove redundant log * rename targetNames to use associatedWithFields * rename associatedWithFields to associatedFields
…te key (#2737) * fix(datastore): load has-one reference with composite key * fix: update descretKeys split logic * fix: add associatedFields for hashOne and belongsTo * fix: change json object seralization
ccc7a3c to
bca901f
Compare
royjit
approved these changes
Feb 8, 2023
9 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Issue #, if available:
Description of changes:
Merging
data-dev-previewintomain. This mainly consists of DataStore/API Lazy Loading and Custom selection sets.Check points: (check or cross out if not relevant)
DataStore checkpoints (check when completed)
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.