65 lines
1.9 KiB
JavaScript
65 lines
1.9 KiB
JavaScript
require('dotenv').config();
|
|
|
|
const express = require('express');
|
|
const path = require('path');
|
|
const config = require('./api_v1/config');
|
|
|
|
const { jwtMiddleware } = require('./middleware/jwt');
|
|
const staticMiddleware = require('./middleware/static');
|
|
const hlsMiddleware = require('./middleware/hls');
|
|
|
|
const authRouter = require('./routes/auth');
|
|
const configRouter = require('./routes/config');
|
|
const scanRouter = require('./routes/scan');
|
|
const autoScanRouter = require('./routes/autoScan');
|
|
const shareRouter = require('./routes/share');
|
|
const photosRouter = require('./routes/photos');
|
|
const activitiesRouter = require('./routes/activities');
|
|
const scanActivitiesRouter = require('./routes/scanActivities');
|
|
const scanStatusRouter = require('./routes/scanStatus');
|
|
const usersRouter = require('./routes/users');
|
|
|
|
const server = express();
|
|
|
|
// Statici pubblici
|
|
server.use(staticMiddleware);
|
|
server.use('/hls', hlsMiddleware);
|
|
|
|
// Body parser
|
|
server.use(express.json());
|
|
server.use(express.urlencoded({ extended: true }));
|
|
|
|
// Login pubblico
|
|
server.get('/login', (req, res) => {
|
|
res.sendFile(path.join(__dirname, 'public/login.html'));
|
|
});
|
|
|
|
// Rotte pubbliche
|
|
server.use('/auth', authRouter);
|
|
server.use('/config', configRouter);
|
|
//server.use('/share', shareRouter);
|
|
|
|
// JWT per tutto il resto
|
|
server.use(
|
|
/^(?!\/auth)(?!\/share)(?!\/login)(?!\/login.html)(?!\/css)(?!\/js)(?!\/img)(?!\/fonts)(?!\/favicon).*$/,
|
|
jwtMiddleware
|
|
);
|
|
|
|
// Rotte protette
|
|
server.use('/share', shareRouter);
|
|
server.use('/users', usersRouter);
|
|
server.use('/photos', photosRouter);
|
|
server.use('/activities', activitiesRouter);
|
|
server.use('/scan', scanRouter);
|
|
server.use('/scanActivities', scanActivitiesRouter);
|
|
server.use('/api_v1/auto_scan', autoScanRouter);
|
|
server.use('/scanStatus', scanStatusRouter);
|
|
|
|
// Home
|
|
server.get('/', (req, res) => {
|
|
res.sendFile(path.resolve('public/index.html'));
|
|
});
|
|
|
|
server.listen(config.PORT, () => {
|
|
console.log(`Server running on port ${config.PORT}`);
|
|
});
|