Files
kno-logic-api/index.js
2021-05-17 23:54:14 -04:00

47 lines
1.2 KiB
JavaScript

require('log-timestamp');
const express = require('express');
const app = express();
const PORT = 4000;
const cors = require('cors');
const mongoose = require('mongoose');
const utils = require ('./utils');
const CronJob = require('cron').CronJob;
const config = require('./DB.js');
const userRoutes = require('./user.route');
const postRoutes = require('./post.route');
const categoryRoutes = require('./category.route');
console.log("Starting Kno-Logic Backend Server");
// Handle MongoDB connection
mongoose.Promise = global.Promise;
mongoose.connect(config.DB, { useNewUrlParser: true, useUnifiedTopology: true }).then(
() => {
console.log('Connected to dabase');
utils.loadDefaultTemplates();
utils.purgeSessions();
},
err => {
console.log('Could not connect to database: ');
console.log(err);
}
);
// Express server
app.use(cors());
app.use(express.urlencoded({ extended: true }))
app.use(express.json());
// Express routes
app.use('/user', userRoutes);
app.use('/post', postRoutes);
app.use('/category', categoryRoutes);
app.listen(PORT, () => {
console.log('Express server running on port:', PORT);
});
// Cron jobs
var purge = new CronJob('*/5 * * * *', utils.purgeSessions);
purge.start();