UNPKG

strider

Version:

Brilliant continuous deployment platform

73 lines 2.36 kB
const common = require('../../common'); const debug = require('debug')('strider:routes:api:config'); const ssh = require('../../utils/ssh'); const cache = {}; module.exports = { keygen: keygen, cacheConfig: cacheConfig, server: server, }; function keygen(req, res) { const branch = req.project.branch(req.query.branch); if (!branch) return res.status(404).send('Branch not found'); ssh.generateKeyPair(`${req.project.name} - stridercd`, function (err, priv, pub) { if (err) return res.status(500).send('Failed to generate keypair'); branch.privkey = priv; branch.pubkey = pub; req.project.save(function (err) { if (err) return res.status(500).send('Failed to save project'); res.send({ privkey: priv, pubkey: pub, }); }); }); } function cacheConfig(loader, next) { loader.initConfig(function (err, jstext, csstext, configs) { if (err) return next(err); cache['config'] = { js: jstext, css: csstext, }; debug('loaded config pages'); common.pluginConfigs = configs; loader.initUserConfig(function (err, jstext, csstext, configs) { if (err) return next(err); cache['account'] = { js: jstext, css: csstext, }; debug('loaded account config pages'); common.userConfigs = configs; loader.initStatusBlocks(function (err, jstext, csstext, blocks) { if (err) return next(err); cache['status'] = { js: jstext, css: csstext, }; debug('loaded plugin status blocks'); common.statusBlocks = blocks; next(); }); }); }); } function server(name, which) { return function (req, res) { res.set('Content-type', `text/${which === 'css' ? 'css' : 'javascript'}`); if (!cache['config']) { return res .status(500) .send('looks like config was not compiled correctly'); } res.send(cache[name][which]); }; } //# sourceMappingURL=config.js.map