UNPKG

@bitdiver/result-rest-api

Version:
96 lines (73 loc) 2.3 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _promise = require('babel-runtime/core-js/promise'); var _promise2 = _interopRequireDefault(_promise); exports.startServer = startServer; exports.getParameter = getParameter; var _cors = require('cors'); var _cors2 = _interopRequireDefault(_cors); var _express = require('express'); var _express2 = _interopRequireDefault(_express); var _ArrangoDB = require('./ArrangoDB'); var _ArrangoDB2 = _interopRequireDefault(_ArrangoDB); var _logAdapter = require('./logAdapter'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const app = (0, _express2.default)(); app.use((0, _cors2.default)()); const arrangoDB = new _ArrangoDB2.default(); const LOGGER = (0, _logAdapter.getLogAdapter)(); LOGGER.writeConsole = true; app.get('/runs', async (req, res) => { res.send((await arrangoDB.getRuns())); }); app.get('/testcases/:runId', async (req, res) => { res.send((await arrangoDB.getTestcases(req.params.runId))); }); app.get('/teststeps/:testcaseId', async (req, res) => { res.send((await arrangoDB.getTeststeps(req.params.testcaseId))); }); app.on('close', () => { LOGGER.logInfo('Call Server close()'); app.close(); }); app.get('/ready', (req, res) => { res.send('OK'); }); app.get('/live', (req, res) => { res.status(200); res.send('OK'); }); app.get('/health', (req, res) => { LOGGER.logInfo('/health'); res.send({ health: arrangoDB }); }); /** * Startet die Express APP. * @param expressPort {numbner} Der Port der Express Application * @return app {object} Die Express app */ async function startServer({ expressPort } = getParameter()) { LOGGER.logInfo('Rest Service startet at port: ' + expressPort); // Starten des Express servers return new _promise2.default((resolve, reject) => { const httpServer = app.listen(expressPort, err => { if (err) { reject(err); } else { resolve({ httpServer, express: app }); } }); }); } /** * Reads all the expected variables and checks that they exsist * @returns env {object} An object with all the needed parameters */ function getParameter() { const env = { expressPort: process.env.EXPRESS_PORT || 3000 }; return env; }