UNPKG

homey-api

Version:
43 lines (35 loc) 1.06 kB
'use strict'; 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;