mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-16 18:42:30 +03:00
ee7c7b1672
* Allow computed fields to have access to Hasura's session variables * Inform about session args for computed fields in changelog and docs * Add tests for session arguments for computed fields (and the respective errors) Co-authored-by: Tirumarai Selvan <tiru@hasura.io> Co-authored-by: Marion Schleifer <marion@hasura.io> Co-authored-by: Rakesh Emmadi <12475069+rakeshkky@users.noreply.github.com>
80 lines
1.6 KiB
YAML
80 lines
1.6 KiB
YAML
- description: Add a computed field for author table
|
|
url: /v1/query
|
|
status: 200
|
|
query:
|
|
type: add_computed_field
|
|
args:
|
|
table: author
|
|
name: get_articles
|
|
definition:
|
|
function: fetch_articles
|
|
table_argument: author_row
|
|
response:
|
|
message: success
|
|
|
|
- description: Drop computed field of a non existed table
|
|
url: /v1/query
|
|
status: 400
|
|
query:
|
|
type: drop_computed_field
|
|
args:
|
|
table: random
|
|
name: get_articles
|
|
response:
|
|
path: "$.args.table"
|
|
error: table "random" does not exist
|
|
code: not-exists
|
|
|
|
- description: Drop a non existed computed field
|
|
url: /v1/query
|
|
status: 400
|
|
query:
|
|
type: drop_computed_field
|
|
args:
|
|
table: author
|
|
name: random
|
|
response:
|
|
path: "$.args.name"
|
|
error: computed field "random" does not exist
|
|
code: not-exists
|
|
|
|
- description: Drop a valid computed field
|
|
url: /v1/query
|
|
status: 200
|
|
query:
|
|
type: drop_computed_field
|
|
args:
|
|
table: author
|
|
name: get_articles
|
|
response:
|
|
message: success
|
|
|
|
- description: Add a computed field, passing the Hasura session argument
|
|
url: /v1/query
|
|
status: 200
|
|
query:
|
|
type: add_computed_field
|
|
args:
|
|
table: author
|
|
name: test_session
|
|
definition:
|
|
function: test_session
|
|
session_argument: session
|
|
response:
|
|
message: success
|
|
|
|
- description: obtain the session variable via computed fields
|
|
url: /v1/graphql
|
|
status: 200
|
|
query:
|
|
query: |
|
|
query {
|
|
author_by_pk(id: 1) {
|
|
test_session(args:{key:"x-hasura-role"})
|
|
}
|
|
}
|
|
response:
|
|
data:
|
|
author_by_pk:
|
|
test_session: admin
|