Skip to content

avimoondra/airtable-block-graphql-import

Repository files navigation

Custom Block To Import Data via GraphQL

Demo Video!

Features

  • hit any GraphQL endpoint over http with any headers, which are synced to local storage for easier, repeated use
  • explore your data via GraphiQL interface. Access to historical queries, docs, etc.
  • import the data via a step-by-step wizard that helps you visualize tables and records that will be created
  • identifies field conflicts on existing tables
  • logs all queries made when importing in historical queries table

Future

  • feedback! and bug bashing!
  • (PR #2) disable import button if not editor/collaborator (has permission to create table/insert records)
  • schema discovery based on parsing the query vs. parsing a sample of the data with graphql-js or graphql-tag (see stackoverflow thread)
  • support for non-array (object) nestings in the graph
  • better types that match the GraphQL schema (not just "single line text" for all fields)
  • improve error handling / error messaging for the end user
  • add prompts to include ID at every level of nesting (or prompt the user to do so by parsing the query)
  • disallow mutations and subscriptions in GraphiQL and in importer
  • support for Relays spec (nodes, edges, etc.)
  • use monaco editor for query - https://github.com/microsoft/monaco-typescript

Screenshots

start


start


start

Local development

  1. Clone the repo
git clone [email protected]:avimoondra/airtable-block-graphql-import.git
  1. Install Airtable Blocks CLI
npm install -g @airtable/blocks-cli
  1. Update .block/remote.json to match your installation

  2. Install dependencies

cd airtable-block-graphql-import
npm install
  1. Run!
block run

About

Airtable Custom Block for importing data from GraphQL

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published