sanger/limber

View on GitHub
app/frontend/javascript/shared/devourApi.js

Summary

Maintainability
A
0 mins
Test Coverage
// Import
import devourClient from 'devour-client'
import pluralize from 'pluralize'

pluralize.addUncountableRule('labware')

const devourApi = (apiOptions, resources, apiKey) => {
  // Initialize the api
  const jsonApi = new devourClient({ pluralize, ...apiOptions })
  // Add the Sequencescape API key
  jsonApi.headers['X-Sequencescape-Client-Id'] = apiKey
  // define the resources
  resources.forEach((resourceConfig) => {
    jsonApi.define(resourceConfig.resource, resourceConfig.attributes, resourceConfig.options)
  })

  return jsonApi
}

export default devourApi