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

feat: add graphql support for create form with relationships #1010

Merged

Conversation

rtpascual
Copy link
Contributor

Problem

Customers who do not use DataStore are not able to build create forms with relationships with GraphQL APIs.

Solution

Conditionally generate needed code for GraphQL APIs rather than using the DataStore library for create forms with relationships. Refactoring some of the DataStore specific functions to accommodate config to determine if the customer is using GraphQL.

Additional Notes

Links

Ticket

GitHub issue _____

Other links

Verification

Manual tests

Automated tests

  • Unit tests added/updated
  • E2E tests added/updated
  • N/A - (provide a reason)
  • deferred - (provide GitHub issue for tracking)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@rtpascual rtpascual marked this pull request as ready for review May 15, 2023 17:40
@rtpascual rtpascual requested a review from a team as a code owner May 15, 2023 17:40
@rtpascual rtpascual force-pushed the graphql-create-form-relationships branch 3 times, most recently from 05843b2 to 57cf33c Compare May 16, 2023 23:49
@codecov-commenter
Copy link

codecov-commenter commented May 16, 2023

Codecov Report

Merging #1010 (7f703b5) into tagged-release/graphql-support (03fde39) will decrease coverage by 0.09%.
The diff coverage is 82.69%.

❗ Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.

Impacted file tree graph

@@                        Coverage Diff                         @@
##           tagged-release/graphql-support    #1010      +/-   ##
==================================================================
- Coverage                           93.76%   93.68%   -0.09%     
==================================================================
  Files                                 122      122              
  Lines                                5485     5526      +41     
  Branches                             1638     1653      +15     
==================================================================
+ Hits                                 5143     5177      +34     
- Misses                                325      330       +5     
- Partials                               17       19       +2     
Impacted Files Coverage Δ
...-react/lib/forms/form-renderer-helper/cta-props.ts 100.00% <ø> (ø)
...act/lib/forms/form-renderer-helper/relationship.ts 88.23% <76.92%> (-2.75%) ⬇️
...form-renderer-helper/bidirectional-relationship.ts 96.20% <100.00%> (+0.48%) ⬆️
.../codegen-ui-react/lib/forms/react-form-renderer.ts 97.51% <100.00%> (+0.02%) ⬆️

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 03fde39...7f703b5. Read the comment docs.

@rtpascual rtpascual force-pushed the graphql-create-form-relationships branch from 57cf33c to 72b4105 Compare May 17, 2023 00:53
@rtpascual rtpascual force-pushed the graphql-create-form-relationships branch from 72b4105 to 7f703b5 Compare May 17, 2023 01:03
@rtpascual rtpascual merged commit 4a8c84f into tagged-release/graphql-support May 17, 2023
@rtpascual rtpascual deleted the graphql-create-form-relationships branch May 17, 2023 18:10
letsbelopez added a commit that referenced this pull request Jul 19, 2023
* feat: add graphql support for components

* feat: add graphql support for create form (#1008)

* feat: add graphql support for create form with relationships (#1010)

* Update GraphQL API import and refactor GraphQL call expressions (#1012)

* chore: update graphql api import

* chore: refactor graphql call expressions to common function

* chore: use pluralize for graphql list queries

* feat: add graphql support for update form (#1015)

* feat: add graphql support for update form

* fix: update snapshot

* feat: add more assertions to check for graphql support

* fix: removing obselete snapshot

* fix: force update mutation to use id var

* chore: add declaration snapshots (#1018)

* Update from main (#1025)

* fix: parse operand value when field is number type (#1013)

Co-authored-by: Justin Shih <jushih@amazon.com>

* chore(release): v2.14.0 (#1014)

Co-authored-by: Justin Shih <jushih@amazon.com>

* fix: fix storage field prop import to storagemanager (#1016)

Co-authored-by: Justin Shih <jushih@amazon.com>

* chore(release): v2.14.1 (#1017)

Co-authored-by: Justin Shih <jushih@amazon.com>

* fix: add getOverrideProps to StorageManager (#1020)

* fix: add getOverrideProps to StorageManager

* fix: add overrideProps to Field component

* Revert "fix: add overrideProps to Field component"

This reverts commit 6393718.

* chore(release): v2.14.2 (#1022)

* fix: return theme declaration file from render func (#1023)

Co-authored-by: Doesnt Matter <not@used.com>

* fix: alias colliding imported model name in hasMany relationship (#1019)

Co-authored-by: Justin Shih <jushih@amazon.com>

* chore: update cli check

---------

Co-authored-by: Justin Shih <36183898+Jshhhh@users.noreply.github.com>
Co-authored-by: Justin Shih <jushih@amazon.com>
Co-authored-by: Charles Shin <charlshi@amazon.com>
Co-authored-by: David Lopez <letsbelopez@gmail.com>
Co-authored-by: Doesnt Matter <not@used.com>
Co-authored-by: Roshane Pascual <rotp@amazon.com>

* feat: update GraphqlRenderConfig to use separate props for each file path

* feat: graphql support for collections (#1027)

* feat: graphql support for collections

* chore: refactor collection element to helper function and update addMappedImport

* feat: adding graphql support for update forms with relationship (#1030)

* fix: wrapping list graphql result for await (#1032)

* feat: add graphql support for relationship forms with autocomplete field

* fix: autocomplete options prop using incorrect records (#1035)

* feat: add graphql support for relationship forms with autocomplete field

* fix: autocomplete options prop using incorrect records

* feat: add helpers to identify api dependencies

* fix: use related model name instead of field in generating graphql qu… (#1039)

* fix: use related model name instead of field in generating graphql queries

* fix: updating invalid schema in integ test

* feat: exit early in integ test failure

* fix: lowering nyc coverage threshold

---------

Co-authored-by: Albert Winberg <winberga@amazon.com>
Co-authored-by: Roshane Pascual <rtpascual@users.noreply.github.com>
Co-authored-by: Charles Shin <charlshi@amazon.com>
Co-authored-by: awinberg-aws <100880084+awinberg-aws@users.noreply.github.com>
Co-authored-by: Justin Shih <36183898+Jshhhh@users.noreply.github.com>
Co-authored-by: Justin Shih <jushih@amazon.com>
Co-authored-by: David Lopez <lopezbnd@amazon.com>
Co-authored-by: Roshane Pascual <rotp@amazon.com>
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.

4 participants