A Node.js REST based API client for Appetize.io.
The API client is released to the public npm registry and can be installed.
npm install --save appetizer
This module is part of a larger suite of components that work excellent with each other. If you liked this module we highly suggest checking out:
- appetizer A Node.js component for interacting with the Appetize.io API.
- appetizer-bundle Prepares and packs your React-Native application for uploading to Appetize.io.
- appetizer-component A React Component to embed your uploaded application.
const Appetizer = require('appetizer');
const app = new Appetizer({ opts });
The following opts are supported:
key
required The API key, which is required to use the library.version
Version number of the API we're communicating with, defaults tov1
endpoint
Location of the API we're hitting.
Once you've created your own appetizer
API instance you can use the following
methods:
Create a new application, you can either point to a pre-uploaded application so
the API can download it, or specify a file
property in the data as
ReadableStream
or Buffer and upload that with the API call.
app.create({
url: 'https://url.com/path/to/app.zip'
}, function (err, data) {
if (err) {
// Handle errors
}
});
See official API docs for accepted fields
Update an existing application with new details. First argument should be the
public_id
of the application you want to update, second argument the data that
needs to be changed.
app.update(public_id, {
url: 'https://url.com/path/to/app.zip',
note: 'Hello'
}, function (err, data) {
if (err) {
// Handle errors
}
});
See official API docs for accepted fields
Remove a uploaded application. First argument is the public_id
of the
application you wish to remove.
app.remove(public_id, function (err) {
if (err) {
// Handle errors
}
});
List all uploaded applications.
app.usage(function (err, data) {
if (err) {
// Handle errors
}
});
See more to list more applications. See official API docs for accepted fields
There can be more applications created than the list API can return. In
that case the data will have a hasMore
property set to true
and a nextKey
property. If you want to retrieve more applications, pass the nextKey
in to
the more API to retrieve the next batch of applications.
app.more('adf8a09sdf8a098af', function (err) {
if (err) {
// Handle errors
}
});
Get usage statistics of applications.
app.usage(function (err, data) {
if (err) {
// Handle errors
}
});
There are 2 sets of tests in this project. Normal unit tests that are ran using:
npm test
And a set of integration tests which requires you to have an API key to the appetize.io service so we can verify that we've integrated the API's correctly. These are run using:
API=your-api-key-here npm run integration