52 lines
1.3 KiB
JavaScript
52 lines
1.3 KiB
JavaScript
const express = require('express');
|
|
const dotenv = require('dotenv');
|
|
const cors = require('cors');
|
|
const {auth} = require('./auth/middleware');
|
|
const cookieParser = require('cookie-parser');
|
|
const {updateAll} = require('./jobs');
|
|
|
|
dotenv.config();
|
|
|
|
const app = express();
|
|
app.use(cookieParser());
|
|
app.use(express.json());
|
|
app.use(cors());
|
|
|
|
app.listen(process.env.PORT || 5000, () => {
|
|
console.log(`Server is running on port ${process.env.PORT || 5000}`);
|
|
});
|
|
|
|
//run a function every 12 hours
|
|
setInterval(() => {
|
|
console.log('Updating homepage');
|
|
updateAll();
|
|
}, 43200000);
|
|
|
|
app.get('/logout', (req, res) => {
|
|
//clear all cookies
|
|
res.clearCookie('accessToken');
|
|
res.clearCookie('refreshToken');
|
|
res.clearCookie('permToken');
|
|
});
|
|
|
|
app.get('/', (req, res) => {
|
|
res.send('alive and well');
|
|
});
|
|
|
|
app.get('/jwt', auth, (req, res) => {
|
|
res.json({user: req.user});
|
|
});
|
|
|
|
app.get('/refreshtoken',auth, (req, res) => {
|
|
res.send('refresh');
|
|
});
|
|
|
|
app.use('/register', require('./routes/register.js'));
|
|
app.use('/login', require('./routes/login.js'));
|
|
app.use('/user', require('./routes/user.js'));
|
|
app.use('/create', require('./routes/create.js'));
|
|
app.use('/post', require('./routes/posts.js'));
|
|
app.use('/search', require('./routes/search.js'));
|
|
app.use('/home', require('./routes/homepage.js'));
|
|
|
|
module.exports = app; |