53 lines
1.5 KiB
JavaScript
53 lines
1.5 KiB
JavaScript
const express = require('express');
|
|
const cors = require('cors');
|
|
const mongoose = require('mongoose');
|
|
const dotenv = require('dotenv');
|
|
|
|
// Chargement des variables d'environnement
|
|
dotenv.config(); // Utilise le fichier .env dans le répertoire courant
|
|
|
|
// Initialisation de l'application Express
|
|
const app = express();
|
|
|
|
// Middleware
|
|
app.use(cors());
|
|
app.use(express.json());
|
|
|
|
// Routes
|
|
const authRoutes = require('./routes/auth');
|
|
const sonarrRoutes = require('./routes/sonarr');
|
|
const radarrRoutes = require('./routes/radarr');
|
|
const settingsRoutes = require('./routes/settings');
|
|
|
|
app.use('/api/auth', authRoutes);
|
|
app.use('/api/sonarr', sonarrRoutes);
|
|
app.use('/api/radarr', radarrRoutes);
|
|
app.use('/api/settings', settingsRoutes);
|
|
|
|
// Route de base pour vérifier que l'API fonctionne
|
|
app.get('/', (req, res) => {
|
|
res.json({ message: 'API Managerr fonctionne correctement' });
|
|
});
|
|
|
|
// Gestion des erreurs
|
|
app.use((err, req, res, next) => {
|
|
console.error(err.stack);
|
|
res.status(500).json({ message: 'Une erreur est survenue', error: err.message });
|
|
});
|
|
|
|
// Connexion à la base de données MongoDB
|
|
const PORT = process.env.PORT || 5000;
|
|
const DB_URI = process.env.MONGODB_URI || 'mongodb://localhost:27017/managerr';
|
|
|
|
mongoose
|
|
.connect(DB_URI)
|
|
.then(() => {
|
|
console.log('Connecté à la base de données MongoDB');
|
|
app.listen(PORT, () => {
|
|
console.log(`Serveur démarré sur le port ${PORT}`);
|
|
});
|
|
})
|
|
.catch((err) => {
|
|
console.error('Erreur de connexion à MongoDB:', err);
|
|
process.exit(1);
|
|
});
|