@aaronhayes/hasura-sdk
v1.4.0
Published
Hasura Schema/Metadata API SDK. Written in TypeScript!
Downloads
39
Maintainers
Readme
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
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
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