Created
May 7, 2021 01:36
-
-
Save sc0ttdav3y/76e370ecf7047c036b19d57b419fb126 to your computer and use it in GitHub Desktop.
AWS AppSync GraphQL scalars and directives to support type completion and error checking in Webstorm IDEs
This file contains 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
# These are here to help the IDE recognise AWS types. | |
# | |
# Place this file outside the 'schema' directory so are not pushed to AWS, | |
# but are still picked up by PhpStorm's GraphQL plugin to help | |
# validate schemas. | |
# | |
# https://docs.aws.amazon.com/appsync/latest/devguide/scalars.html | |
# | |
scalar AWSDateTime | |
scalar AWSDate | |
scalar AWSTime | |
scalar AWSTimestamp | |
scalar AWSEmail | |
scalar AWSJSON | |
scalar AWSURL | |
scalar AWSPhone | |
scalar AWSIPAddress | |
# | |
# The below directives came from a GitHub issue here: | |
# https://github.com/apollographql/eslint-plugin-graphql/issues/263 | |
# | |
"""This directive allows results to be deferred during execution""" | |
directive @defer on FIELD | |
""" | |
Tells the service this field/object has access authorized by an OIDC token. | |
""" | |
directive @aws_oidc on OBJECT | FIELD_DEFINITION | |
"""Directs the schema to enforce authorization on a field""" | |
directive @aws_auth( | |
"""List of cognito user pool groups which have access on this field""" | |
cognito_groups: [String] | |
) on FIELD_DEFINITION | |
""" | |
Tells the service which subscriptions will be published to when this mutation is | |
called. This directive is deprecated use @aws_susbscribe directive instead. | |
""" | |
directive @aws_publish( | |
""" | |
List of subscriptions which will be published to when this mutation is called. | |
""" | |
subscriptions: [String] | |
) on FIELD_DEFINITION | |
""" | |
Tells the service this field/object has access authorized by a Cognito User Pools token. | |
""" | |
directive @aws_cognito_user_pools( | |
"""List of cognito user pool groups which have access on this field""" | |
cognito_groups: [String] | |
) on OBJECT | FIELD_DEFINITION | |
"""Tells the service which mutation triggers this subscription.""" | |
directive @aws_subscribe( | |
""" | |
List of mutations which will trigger this subscription when they are called. | |
""" | |
mutations: [String] | |
) on FIELD_DEFINITION | |
""" | |
Tells the service this field/object has access authorized by sigv4 signing. | |
""" | |
directive @aws_iam on OBJECT | FIELD_DEFINITION | |
""" | |
Tells the service this field/object has access authorized by an API key. | |
""" | |
directive @aws_api_key on OBJECT | FIELD_DEFINITION |
I forked and added the @model, @connection and @auth directives
thank you
You made my day! Thank you! :)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thank you for this