UNPKG

internet-of-things

Version:

Netbeast Internet Of Things Open Source documentation packaged to run offline

75 lines (61 loc) 2.12 kB
# Dashboard RESTful API > This document has to improve a lot, in the meanwhile, check how the frontend makes use of it. ### public/components/apps/app.jsx ```javascript launch () { const { name } = this.props request.post('/api/activities/' + name).then(() => { return request.get('/i/' + name).promise() }).then(() => { this.router.push('/i/' + name) }).catch((err) => { if (err.status === 404) return toastr.info(`${name} is running`) toastr.error(err.message) }) } install () { const url = this.props.git_url request.post('/api/apps').send({ url }).then((res) => { const name = res.body.name const props = res.body.netbeast const type = props ? props.type : 'app' toastr.success(`${name} has been installed!`) if (type === 'plugin' || type === 'service' || props.bootOnLoad) return request.post('/api/activities/' + name).promise() }).then((res) => { toastr.success(`${res.body.name} is running`) }) .catch((fail, res) => toastr.error(res.text)) } stop () { const { name } = this.props request.del('/api/activities/' + name).end((err, res) => { if (err) return toastr.error(res.text) this.setState({ hidden: true }) toastr.info(name + ' has been stopped.') }) } uninstall () { const { name } = this.props request.del('/api/apps/' + name).end((err, res) => { if (err) return toastr.error(res.text) this.setState({ hidden: true }) toastr.info(name + ' has been removed.') }) } ``` ### public/components/apps/drawer.jsx _**query** can be modules, apps, activities or plugins_ ```javascript loadApps (props, done) { const { route } = props const pathname = route.path ? route.path : 'apps' const query = pathname === 'uninstall' ? 'modules' : pathname request.get(`/api/${query}/`).end((err, res) => { if (err) return toastr.error(err) let apps = [ ...res.body ] // smart copy apps.forEach((app) => app.type = pathname) Session.save('apps', apps) this.setState({ apps: apps, pathname: pathname }) }) } ```