Socket
Socket
Sign inDemoInstall

@8base/api-client

Package Overview
Dependencies
78
Maintainers
6
Versions
230
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @8base/api-client

The 8base SDK provides a convient way of initializing an API client to start making GraphQL calls to a workspace.


Version published
Weekly downloads
259
increased by280.88%
Maintainers
6
Install size
23.0 MB
Created
Weekly downloads
 

Readme

Source

8base SDK - Client Module

The 8base SDK provides a convient way of initializing an API client to start making GraphQL calls to a workspace.

This client library is used by the other 8base service packages to make requests to the 8base API. You can also use it independently to make custom requests to the API.

Usage

The Client module exposes a number of different methods that can be used to configure itself. Those functions are listed below with relevant descriptions.

In the most basic case, the client can be used to query public resources from a given workspace.

/* Import client module */
import { Client } from '@8base/api-client';

/* Instantiate new instance with workspace endpoint */
const client = new Client('https://api.8base.com/cjz1n2qrk00f901jt2utcc3m0');

/* Run a query with a callback handler */
client.request(`
  query {
    __schema {
      types {
        name
      }
    }
  }
`).then(console.log);

Should an idToken or apiToken need to get set, the client.setIdToken(tk) method can be used. Under the hood, this will set the supplied value as a Bearer token header on subsequent requests.

/* Set the Token */
client.setIdToken('MY_API_TOKEN')

/* Run a query with a callback handler */
client.request(`
  query {
    privateResourceList {
      items {
        id
      }
    }
  }
`).then(console.log);

Client Methods

setIdToken(token: String!)

Update the id token.

setRefreshToken(token: String!)

Update the refresh token.

setEmail(email: String!)

Update the user email.

setWorkspaceId(id: String!)

Update the workspace identifier.

request(query: GraphqlString!, variables: Object)

Send request to the API with variables that will be used when executing the query. . Returns promise to be resolved.

/* Set variables */
const variables = {
    search: "ste"
}

/* Set query */
const query = /* GraphQL */`
  query($search: String!) {
    resourceList(filter: {
        name: {
            contains: $search
        }
    }) {
      items {
        id
      }
    }
  }
`

/* Run a query with a callback handler */
client.request(query, variables).then(console.log);

Alternatives

There any a number of ways developers can connect to their workspace and begin executing queries. The Client module is only one of them! If you're curious about alternatives for how you can create a client, check out the following video. However, remember that all GraphQL calls are only HTTP post requests – and connecting to your 8base workspace is no different!

Connecting to the API

FAQs

Last updated on 22 Mar 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc