directus-sdk-javascript
Directus SDK for JavaScript (Node and Browser)
Installation
Install the package using npm or Yarn:
npm install directus-sdk-javascript --production
or yarn add directus-sdk-javascript
Or download the repo and include /dist/remote.js
into your document:
<script src="/dist/remote.js"></script>
Or use a service that distributes npm packages like unpkg:
<script src="https://unpkg.com/directus-sdk-javascript/dist/remote.js"></script>
Usage
Create a new client passing it the options needed to create a connection:
const RemoteInstance = require('directus-sdk-javascript/remote');
import { RemoteInstance } from 'directus-sdk-javascript';
const client = new RemoteInstance({
url: 'http://instance.directus.io/',
version: '1.1',
accessToken: [user-token]
});
The client provides methods for each API endpoint. Every endpoint returns a promise which resolves the APIs JSON on success and rejects on an error:
client.getItems('projects')
.then(res => console.log(res))
.catch(err => console.log(err));
Get and update the current logged in user:
client.getMe()
.then(res => console.log(res))
.catch(err => console.log(err));
client.updateMe({first_name: 'John', last_name: 'Doe'})
.then(res => console.log(res))
.catch(err => console.log(err));
Custom api endpoints, implemented on the server under customs/endpoints
, are also available. Here is an example for calling the http://instance.directus.io/api/example
endpoint:
client.getApi('example')
.then(res => console.log(res))
.catch(err => console.log(err));
client.postApi('example', {custom_var: 'value'})
.then(res => console.log(res))
.catch(err => console.log(err));
Since the SDK uses promises, you can also use it with async/await:
const projects = await client.getItems('projects');
Check the official API docs for a complete overview of all endpoints and available methods