| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- const express = require('express');
- const compression = require('compression');
- const bodyParser = require('body-parser');
- const passport = require('passport');
- const mongoose = require('mongoose');
- const session = require('express-session');
- const cors = require('cors');
- const { createProxyMiddleware } = require('http-proxy-middleware');
- const { TextEncoder, TextDecoder } = require('util');
- global.TextEncoder = TextEncoder;
- global.TextDecoder = TextDecoder;
- // Import des routes (conservez toutes vos routes existantes)
- const userRoutes = require('./routes/user');
- const employeeRoutes = require('./routes/employee');
- const authRoutes = require('./routes/auth');
- const ticketRoutes = require('./routes/ticket');
- const emailsRoutes = require('./routes/emailing');
- const authGoogle = require('./routes/google');
- const authFacebook = require('./routes/facebook');
- const tirageRoutes = require('./routes/tirage');
- const contactRoutes = require('./routes/contact');
- const restaurantRoutes = require('./routes/restaurant');
- const app = express();
- // Middlewares (conservés inchangés)
- app.use(compression());
- app.use(bodyParser.json());
- app.use(bodyParser.urlencoded({ extended: true }));
- app.use(express.urlencoded({ extended: true }));
- // CORS (configuration d'origine conservée)
- app.use(cors({
- origin: 'https://angular-preprod.foodgame.fr',
- optionsSuccessStatus: 200
- }));
- // Session (conservée inchangée)
- app.use(session({
- secret: 'this_is_a_secret',
- resave: true,
- saveUninitialized: true,
- rolling: true,
- cookie: {
- maxAge: 360000,
- secure: false
- }
- }));
- app.use(passport.initialize());
- // Proxy vers Angular SSR (modifié pour exclure /api)
- app.use('/', createProxyMiddleware({
- target: 'http://angular_ssr_preprod:4000',
- changeOrigin: true,
- pathFilter: (path) => !path.startsWith('/api')
- }));
- // Routes API (conservées inchangées)
- app.get('/api', (req, res) => {
- res.status(200).send('Api Works.');
- });
- app.use('/api/users', userRoutes);
- app.use('/api/employees', employeeRoutes);
- app.use('/api/tickets', ticketRoutes);
- app.use('/api/auth', authRoutes);
- app.use('/api/emails', emailsRoutes);
- app.use('/api/auth/google', authGoogle);
- app.use('/api/auth/facebook', authFacebook);
- app.use('/api/tirage', tirageRoutes);
- app.use('/api/contact', contactRoutes);
- app.use('/api/restaurants', restaurantRoutes);
- // Connexion MongoDB (conservée inchangée)
- require('./lib/db');
- const PORT = process.env.PORT || 4000;
- app.listen(PORT, () => {
- console.log(`Api listen on port ${PORT}.`);
- });
|