This repository has been archived on 2023-08-24. You can view files and clone it, but cannot push or open issues or pull requests.
OwlBoard/app.js

44 lines
1.5 KiB
JavaScript

// OwlBoard - © Fred Boniface 2022 - Licensed under GPLv3 (or later)
// Please see the included LICENSE file. Statically served fonts are
// licensed separately, each folder contains a license file where a
// different license applies.
const express = require('express');
const app = express();
const config = require('./src/configs/server.configs');
const version = require('./src/configs/version.configs');
const testRtr = require('./src/routes/test.routes');
const listRtr = require('./src/routes/list.routes');
const ldbRtr = require('./src/routes/ldb.routes');
const kubeRtr = require('./src/routes/kube.routes');
// Print version number:
console.log(`Starting OwlBoard - App Version: ${version.app} - API versions: ${version.api}`);
// Express Error Handling:
app.use((err, req, res, next) => {
const statusCode = err.statuscode || 500;
console.error(err.message, err.stack);
res.status(statusCode).json({'message': err.message});
return;
});
// Express Submodules:
app.use(express.json()); //JSON Parsing for POST Requests
app.use(express.static('static')); //Serve static content from /static
// Express Routes
app.use('/api/v1/test', testRtr);
app.use('/api/v1/list', listRtr);
app.use('/api/v1/ldb', ldbRtr);
app.use('/api/kube', kubeRtr);
// Start Express
app.listen(config.port, config.listen, (error) =>{
if(!error) {
console.log(`Started server on http://${config.listen}:${config.port}`);
} else {
console.log("Error occurred, server can't start", error);
}
});