Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/aaronhayes/hasura-sdk

Hasura Schema & Metadata Typescript SDK
https://github.com/aaronhayes/hasura-sdk

admin graphql hasura hasura-sdk metadata node query schema sdk typescript

Last synced: 3 months ago
JSON representation

Hasura Schema & Metadata Typescript SDK

Awesome Lists containing this project

README

        

Hasura SDK


Hasura Schema and Metadata Node SDK


npm version

license: MIT


code style: prettier









---

Hasura Schema/Metadata API SDK. Written in TypeScript!

- ✅ 100% in TypeScript
- 🏋️ Uses Axios under the hood

## Installation

### yarn

- `yarn add @aaronhayes/hasura-sdk`

### npm

- `npm install @aaronhayes/hasura-sdk`

## Usage

```JavaScript
import Hasura from '@aaronhayes/hasura-sdk`;

// Note: just the base url - don't add /v1/graphql!
const HASURA_GRAPHQL_ENDPOINT = 'http://localhost:8080';

// Hint: use process.env.HASURA_GRAPHQL_ADMIN_SECRET
const HASURA_GRAPHQL_ADMIN_SECRET = 'yousecret';

const hasura = new Hasura({
endpoint: HASURA_GRAPHQL_ENDPOINT,
adminSecret: HASURA_GRAPHQL_ADMIN_SECRET
});

// Using Async/Await Functions
try {
const resp = await hasura.createCronTrigger({
name: 'newcronjob',
schedule: '* * * * *', // every minute
webhook: '{{EVENT_BASE_URL}}/cron',
payload: {
hello: "world"
},
comment: 'test cron job every minute'
});
} catch (error) {
// handle error
}

// Using Promises
hasura.createCronTrigger({
name: 'newcronjob',
schedule: '* * * * *',
webhook: '{{EVENT_BASE_URL}}/cron',
payload: {
hello: "world"
},
comment: 'test cron job every minute'
}).then(data => {
// axios response
}).catch(error => {
// handle error
});
```

## Schema/Metadata API References

- [Full documentation](https://aaronhayes.github.io/hasura-sdk/)
- [Hasura Docs](https://hasura.io/docs/1.0/graphql/manual/api-reference/schema-metadata-api/index.html#metadata-apis)

## Supported APIs

We currently only support a small range of Hasura APIs. Be assured we working on adding more - if you need something be sure to create an issue!

| API | Support |
| ------------------------- | ---------- |
| Run SQL | Yes |
| Tables/Views | Yes |
| Custom SQL Functions | No |
| Relationships | No |
| Computed Fields | No |
| Permissions | No |
| Event Triggers | Yes |
| Scheduled Triggers | Yes |
| Remote Schemas | No |
| Query Collections | No |
| Custom Types | No |
| Actions | No |
| Manage Metadata | No |

## Give us a star!

Every star helps build a little more