2022-11-30 22:08:27 +00:00
|
|
|
// 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
|
2022-11-30 00:21:59 +00:00
|
|
|
|
2022-11-30 22:08:27 +00:00
|
|
|
// Load & prepare modules:
|
2022-11-30 14:32:36 +00:00
|
|
|
const express = require('express');
|
|
|
|
const app = express();
|
2022-12-01 13:40:24 +00:00
|
|
|
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');
|
2022-11-30 00:21:59 +00:00
|
|
|
|
2022-12-06 01:20:43 +00:00
|
|
|
// TESTING ONLY
|
|
|
|
const corpus = require('./src/utils/corpus.utils');
|
|
|
|
|
|
|
|
corpus.getCorpus();
|
|
|
|
|
2022-12-01 13:40:24 +00:00
|
|
|
// Print version number:
|
2022-12-01 22:07:20 +00:00
|
|
|
console.log(`Starting OwlBoard - App Version: ${version.app} - API versions: ${version.api}`);
|
2022-11-30 00:21:59 +00:00
|
|
|
|
2022-12-01 22:07:20 +00:00
|
|
|
// Check database:
|
|
|
|
// Check for presece of DB Credentials
|
|
|
|
// Check tables are correct
|
|
|
|
// Build lookup table is not present or if not been updated in X time.
|
2022-12-01 13:55:42 +00:00
|
|
|
|
|
|
|
// Error Handling:
|
2022-12-01 13:40:24 +00:00
|
|
|
app.use((err, req, res, next) => {
|
|
|
|
const statusCode = err.statuscode || 500;
|
|
|
|
console.error(err.message, err.stack);
|
|
|
|
res.status(statusCode).json({'message': err.message});
|
2022-12-01 13:53:32 +00:00
|
|
|
return;
|
2022-11-30 00:21:59 +00:00
|
|
|
});
|
|
|
|
|
2022-12-01 22:07:20 +00:00
|
|
|
// Submodules:
|
|
|
|
app.use(express.json()); //JSON Parsing for POST Requests
|
|
|
|
app.use(express.static('static')); //Serve static content from static
|
|
|
|
|
2022-12-01 13:40:24 +00:00
|
|
|
// Point to Routes
|
2022-12-01 22:07:20 +00:00
|
|
|
app.use('/api/v1/test', testRtr);
|
|
|
|
app.use('/api/v1/list', listRtr);
|
2022-11-30 00:21:59 +00:00
|
|
|
|
2022-12-01 13:40:24 +00:00
|
|
|
// Start server
|
|
|
|
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);
|
|
|
|
}
|
|
|
|
});
|