homey-api
Version:
43 lines (35 loc) • 1.06 kB
JavaScript
const FormData = require('form-data');
const Manager = require('./Manager');
class ManagerDevkit extends Manager {
/**
* Upload & run an app on Homey Pro.
* @param {Object} opts
* @param {ReadableStream} opts.app - A .tar.gz filestream.
* @param {Object} opts.env - Environment variables.
* @param {Boolean} opts.debug - Enable debug mode.
* @param {Boolean} opts.clean - Purge all app settings before running the app.
* @returns {Promise<any>}
* @function HomeyAPIV3Local.ManagerDevkit#runApp
*/
async runApp({
app,
env = {},
debug = false,
clean = false,
}) {
const form = new FormData();
form.append('app', app);
form.append('env', JSON.stringify(env));
form.append('debug', debug ? 'true' : 'false');
form.append('purgeSettings', clean ? 'true' : 'false');
return this.homey.call({
$timeout: 1000 * 60 * 5, // 5 minutes
method: 'POST',
path: '/api/manager/devkit/',
body: form,
json: false,
});
}
}
module.exports = ManagerDevkit;
;