The unofficial Aspera on Cloud SDK for Javascript.
Install via npm
$ npm install aspera-on-cloud-sdk-js
Register an API client via the Aspera on Cloud Admin application
import { AsperaOnCloud } from 'aspera-on-cloud-sdk-js'
const aoc = new AsperaOnCloud({ accessToken: 'ACCESS_TOKEN' });
aoc.api.workspaces.getWorkspaces()
.then(res => console.log(res))
.catch(err => console.error(err));
aoc.api.users.getUsers()
.then(res => console.log(res))
.catch(err => console.error(err));
aoc.api.nodes.getInformationonaSpecificNode('42')
.then(res => console.log(res))
.catch(err => console.error(err));
aoc.api.users.updateUser('7', { first_name: 'David' })
.then(res => console.log(res))
.catch(err => console.error(err));
// Using search params
aoc.api.users.getUsers({}, { query: { per_page: 1, page: 1 }})
.then(res => console.log(res))
.catch(err => console.error(err));
For more complete usage, check out the Documentation for detailed information about which functions are available.
See Examples for how to use the SDK to perform various tasks, including retrieving an OAuth access token. More on OAuth below:
This SDK supports multiple application types and grant types for exchanging for an access token:
authorization_codeflow (example) - Recommended for apps that run a node backend web server and intend the user to authenticate via a browser.jwt-bearerflow (example) - Recommended for browser-less experiences (such as a CLI) in which the app makes requests on behalf of the user.tokenflow (example) - Simple, browser-based example to retrieve an access token. Your API integration may or may not support this.authorization_codeflow with PKCE - While this is recommended for performing OAuth2 in the user's browser or other public apps, Aspera On Cloud does not yet support the PKCE extension.
If you require an API call that is not supported by the SDK, you can use the request method to manually construct your own API call.
let axiosOptions = {
method: 'POST'
data: { ... }
};
aoc.request('/foo', axiosOptions)
.then(res => console.log(res))
.catch(err => console.error(err));