Not a Propaganda Machine

    @nutshelllab/aws-apollo-tools

    1.0.11 • Public • Published

    aws-apollo-tools Node version

    Just make GraphQL requests through AWS LambdaInvoke or HTTP

    Install

    $ yarn add @nutshelllab/aws-apollo-tools
    

    Usage

    Prerequisites

    in serverless.yml

    ...
    provider:
      ...
      environment:
        SLS_STAGE: ${self:provider.stage} 
      iamRoleStatements:
        - Effect: Allow
          Action: # Set permissions for specific Lambdas
            - execute-api:*
          Resource: '*'
    ...

    LambdaRequest

    import gql from 'graphql-tag'
    import graphqlLambdaRequest from '@nutshelllab/aws-apollo-tools/lambda-request'
    
    const request = gql`
      query getItem($id: ID!) {
        getItem(id: $id) {
          id
        }
      }
    `
    
    const variables = {
      id: '110e8400-e29b-11d4-a716-446655440000'
    }
    
    const test = await graphqlLambdaRequest({
      lambdaName: 'my-lambda-name',
      region: 'eu-west-1',
      request,
      variables
    })

    Options

    name required type info
    lambdaName true string The lambda endpoint must provide an apollo server
    region true string
    request true string It must be a GraphQL query graphql-tag
    variables false object
    headers false object

    HttpRequest

    import gql from 'graphql-tag'
    import graphqlHttpRequest from '@nutshelllab/aws-apollo-tools/http-request'
    
    const request = gql`
      query getItem($id: ID!) {
        getItem(id: $id) {
          id
        }
      }
    `
    
    const variables = {
      id: '110e8400-e29b-11d4-a716-446655440000'
    }
    
    const test = await graphqlHttpRequest({
      uri: 'https://my-apollo-server-endpoint.com',
      region: 'eu-west-1',
      request,
      variables,
      signed: true
    })

    Options

    name required type info
    uri true string The http endpoint must provide an apollo server
    region true string
    request true string It must be a GraphQL query graphql-tag
    signed false bool Setting to true enable aws signature v4, be sure that your http endpoint as authorizer: aws_iam
    variables false object
    headers false object

    License

    MIT © Nutshell

    Install

    npm i @nutshelllab/aws-apollo-tools

    DownloadsWeekly Downloads

    1

    Version

    1.0.11

    License

    GNU GENERAL PUBLIC LICENSE Version 3

    Unpacked Size

    340 kB

    Total Files

    17

    Last publish

    Collaborators

    • 7hanith
    • bluer4v3n
    • vblitz