Appetizer
A Node.js REST based API client for Appetize.io.
Installation
The API client is released to the public npm registry and can be installed.
npm install --save appetizer
Part of the Appetizer suite
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.
API
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 to v1
endpoint
Location of the API we're hitting.
Once you've created your own appetizer
API instance you can use the following
methods:
create
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) {
}
});
See official API docs for accepted fields
update
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) {
}
});
See official API docs for accepted fields
remove
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) {
}
});
list
List all uploaded applications.
app.usage(function (err, data) {
if (err) {
}
});
See more to list more applications.
See official API docs for accepted fields
more
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) {
}
});
usage
Get usage statistics of applications.
app.usage(function (err, data) {
if (err) {
}
});
Testing
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
License
MIT