30 lines
947 B
JavaScript
30 lines
947 B
JavaScript
const { join } = require('path');
|
|
const express = require('express');
|
|
const { errorHandler } = require('./middleware');
|
|
|
|
const api = express();
|
|
|
|
// Static files
|
|
api.use(express.static(join(__dirname, 'public')));
|
|
api.use('/uploads', express.static(join(__dirname, 'data/uploads')));
|
|
api.get(/^\/(?!api)/, (req, res) => {
|
|
res.sendFile(join(__dirname, 'public/index.html'));
|
|
});
|
|
|
|
// Body parser
|
|
api.use(express.json());
|
|
|
|
// Link controllers with routes
|
|
api.use('/api/apps', require('./routes/apps'));
|
|
api.use('/api/config', require('./routes/config'));
|
|
api.use('/api/weather', require('./routes/weather'));
|
|
api.use('/api/categories', require('./routes/category'));
|
|
api.use('/api/bookmarks', require('./routes/bookmark'));
|
|
api.use('/api/queries', require('./routes/queries'));
|
|
api.use('/api/auth', require('./routes/auth'));
|
|
api.use('/api/themes', require('./routes/themes'));
|
|
|
|
// Custom error handler
|
|
api.use(errorHandler);
|
|
|
|
module.exports = api;
|