1.0.5 • Published 4 years ago

standardapi-client v1.0.5

Weekly downloads
-
License
MIT
Repository
-
Last release
4 years ago

StandardAPI Client

npm version wlaeri install size

A javascript client for making StandardAPI calls.

Installation

Using npm:

$ npm install standardapi-client

Using yarn:

$ yarn add standardapi-client

Implementation

First the client must be instantiated.

import StandardAPIClient from 'standardapi-client';

const client = new StandardAPIClient({
  baseURL: API_BASE_URL
})

If the Rails server uses authorization headers you can add them on instantiation.

import StandardAPIClient from 'standardapi-client';

const client = new StandardAPIClient({
  baseURL: API_BASE_URL,
  headers: {
    'Api-Key': API_KEY,
    'Api-Version': API_VERSION,
  }
})

Usage

Essentially, StandardAPI Client extends axios under the hood, adding five methods create, read, update, destroy, and count for making StandardAPI calls.

client.create(baseModel, payload)

Sends a POST request to the Rails server to create a record.

const response = await client.create('todos', {
  description: 'Update the StandardAPI Client docs.',
  priority: 'MEDIUM'
})

console.log(response.data) // Newly created todo record.

client.read(baseModel, params)

Sends a GET request to the Rails server to query a record set.

const response = await client.read('todos', {
  limit: 5,
  offset: 10,
  where: {
    priority: 'HIGH'
  },
  include: {
    photos: true
  },
  order: {
    created_at: 'desc'
  }
})

console.log(response.data) // The array of todo records that match the query parameters.

client.update(baseModel, payload)

Sends a PATCH request to the Rails server to update a record.

const response = await client.update('todos', {
  id: 'abc-123',
  priority: 'HIGH'
})

console.log(response.data) // The updated todo record.

client.destroy(baseModel, id)

Sends a DELETE request to the Rails server to destroy a record.

const response = await client.delete('todos', 'abc-123')

console.log(response.status) // Returns 204 if record is successfully deleted.

client.count(baseModel, params)

Sends a GET request to the Rails server to return the count of a record set.

const response = await client.count('todos', {
  where: {
    priority: 'HIGH'
  }
})

console.log(response.data) // The number of todo records that match the query parameters.

Resources

License

MIT

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago