summaryrefslogtreecommitdiffstats
path: root/server/api/ipxe.js
diff options
context:
space:
mode:
authorJannik Schönartz2019-01-31 05:39:40 +0100
committerJannik Schönartz2019-01-31 05:39:40 +0100
commitab83a69b71edb684e13ac4eb8db5dbaf8f20aac9 (patch)
tree1f1514792171e0a2dcba034234a7dfeebb95ef49 /server/api/ipxe.js
parent[backends] Fixed offset-y depricated errors (diff)
downloadbas-ab83a69b71edb684e13ac4eb8db5dbaf8f20aac9.tar.gz
bas-ab83a69b71edb684e13ac4eb8db5dbaf8f20aac9.tar.xz
bas-ab83a69b71edb684e13ac4eb8db5dbaf8f20aac9.zip
[ipxe builder] Disable building/cleaning if a build process is already running
Diffstat (limited to 'server/api/ipxe.js')
-rw-r--r--server/api/ipxe.js31
1 files changed, 22 insertions, 9 deletions
diff --git a/server/api/ipxe.js b/server/api/ipxe.js
index 549eb6f..5d95fa2 100644
--- a/server/api/ipxe.js
+++ b/server/api/ipxe.js
@@ -7,10 +7,6 @@ var router = express.Router()
var noAuthRouter = express.Router()
// GET requests.
-router.get('/build', (req, res) => {
- shell.buildIpxe(req, res)
-})
-
router.get('/:version/script', (req, res) => {
res.setHeader('content-type', 'text/plain')
res.sendFile(path.join(__appdir, 'ipxe', 'embedded_' + req.params.version + '.ipxe'))
@@ -64,14 +60,31 @@ router.put('/:version/:filename', (req, res) => {
* @return: Rebuild the ipxe.
*/
router.get('/:version/build', async (req, res) => {
- if (req.params.version === 'efi' || req.params.version === 'bios') await shell.buildIpxe(req, res)
- res.status(200).send({ status: 'success' })
+ if (req.params.version === 'efi' || req.params.version === 'bios') {
+ shell.buildIpxe(req, res)
+ } else {
+ res.status(400).send({ status: 'error', msg: 'Unknown ipxe version (' + req.params.version + ')' })
+ }
+})
+
+noAuthRouter.get('/:version/stop', async (req, res) => {
+ if (req.params.version === 'efi' || req.params.version === 'bios') {
+ shell.stopBuilding(req, res)
+ } else {
+ res.status(400).send({ status: 'error', msg: 'Unknown ipxe version (' + req.params.version + ')' })
+ }
})
router.get('/:version/clean', (req, res) => {
- if (req.params.version === 'efi') shell.clean('efi')
- else if (req.params.version === 'bios') shell.clean('bios')
- res.send()
+ if (req.params.version === 'efi' || req.params.version === 'bios') {
+ shell.clean(req, res)
+ } else {
+ res.status(400).send({ status: 'error', msg: 'Unknown ipxe version (' + req.params.version + ')' })
+ }
+})
+
+router.get('/:version/status', (req, res) => {
+ res.send({ status: 'SUCCESS', data: shell.status(req.params.version) })
})
module.exports.router = router