-
Notifications
You must be signed in to change notification settings - Fork 243
Stored Procedure support for new Execute operation - REST and GraphQL #1107
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
…e only allowed to define execute. Also, GraphQL field generation properly prefixes execute
…L entity settings.
…specification to note different behavior between QueryBuilder and MutationBuilder
…Azure/data-api-builder into dev/seleonar/operationSpExecute
…Azure/data-api-builder into dev/seleonar/operationSpExecute
…s created via CLI
…ndling for StoredProcedure
Created #1167 to track In reply to: 1406999396 |
Aniruddh25
reviewed
Feb 2, 2023
Aniruddh25
reviewed
Feb 2, 2023
Aniruddh25
reviewed
Feb 2, 2023
Aniruddh25
reviewed
Feb 2, 2023
Aniruddh25
reviewed
Feb 2, 2023
Aniruddh25
reviewed
Feb 2, 2023
Aniruddh25
reviewed
Feb 2, 2023
Aniruddh25
approved these changes
Feb 2, 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.
Thanks for @seantleonard and @severussundar on getting this late requested rfc implemented both for CLI and engine!
Observations for future for more qualitative review:
Before starting implementation:
- split the overall rfc into smaller scoped issues,
- determine which issues might depend on each other( 1 way to find that is based on project dependencies) and which can be worked on independently. eg. here
Config
dll could have been a separate change. - Scope CLI and engine changes, and dont be afraid to temporarily ignore some tests specific to stored procs given that you were the only ones modifying it.
Aniruddh25
approved these changes
Feb 2, 2023
ayush3797
approved these changes
Feb 2, 2023
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.
Why make this change?
execute
. Theexecute
operation may only be assigned as an action within stored procedure entities.What is this change?
execute
operation which is required to be assigned as the only operation for all roles assigned to stored proceduresoperation
whose value must be eithermutation
(implicit default) orquery
. The value assigned to operation is utilized in the GraphQL schema builder to determine whether to generate a mutation or query field for the stored procedure within the GraphQL schema.methods
which expects an array of HTTP verbs e.g. ["POST", "GET"] (default: implicit POST). These HTTP verbs represent the restriction placed on the REST endpoint for which actions are allowed to execute the stored procedure.How was this tested?
Sample GraphQL Schema
Stored Procedure As Queries
Sample Config
Sample Request(s)
Example
Entities
section of Runtime configuration demonstrating Execute permission for both GraphQL (explicitly set operation to mutation), and REST (explicitly set allowed HTTP verbs to POST and GET