| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- 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 { TextEncoder, TextDecoder } = require('util');
- global.TextEncoder = TextEncoder;
- global.TextDecoder = TextDecoder;
- 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 Logger = require('./logging');
- const makeApiMiddleware = require('api-express-exporter');
- const promBundle = require('express-prom-bundle');
- const metricsMiddleware = promBundle({ includeMethod: true, includePath: true });
- const { app: ssrApp } = require('./dist/fatboar/server/main');
- const app = express();
- app.use(compression());
- app.use(cors({
- origin: 'https://angular-preprod.foodgame.fr',
- optionsSuccessStatus: 200
- }));
- app.use(metricsMiddleware);
- app.use(makeApiMiddleware());
- app.use(bodyParser.json());
- app.use(bodyParser.urlencoded({ extended: true }));
- app.use(express.urlencoded({ extended: true }));
- app.use(session({
- secret: 'this_is_a_secret',
- resave: true,
- saveUninitialized: true,
- rolling: true,
- cookie: {
- maxAge: 360000,
- secure: false
- }
- }));
- app.use(passport.initialize());
- app.use(express.static('dist/fatboar/browser'));
- app.get('/sitemap.xml', async (req, res) => {
- res.header('Content-Type', 'application/xml');
- const baseUrl = 'https://angular-preprod.foodgame.fr';
- let xml = `<?xml version="1.0" encoding="UTF-8"?>
- <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">`;
- const staticPages = [
- { url: '/', lastmod: '2025-06-24', changefreq: 'daily', priority: '1.0' },
- { url: '/home', lastmod: '2025-06-24', changefreq: 'daily', priority: '0.9' },
- { url: '/register', lastmod: '2025-06-24', changefreq: 'weekly', priority: '0.8' },
- { url: '/cgu', lastmod: '2025-06-24', changefreq: 'monthly', priority: '0.7' },
- { url: '/mention-legales', lastmod: '2025-06-24', changefreq: 'monthly', priority: '0.7' },
- { url: '/politique-de-confidentialite', lastmod: '2025-06-24', changefreq: 'monthly', priority: '0.7' },
- { url: '/contact', lastmod: '2025-06-24', changefreq: 'weekly', priority: '0.8' },
- { url: '/tirage', lastmod: '2025-06-24', changefreq: 'daily', priority: '0.9' }
- ];
- staticPages.forEach(page => {
- xml += `
- <url>
- <loc>${baseUrl}${page.url}</loc>
- <lastmod>${page.lastmod}</lastmod>
- <changefreq>${page.changefreq}</changefreq>
- <priority>${page.priority}</priority>
- </url>`;
- });
- xml += `
- </urlset>`;
- res.send(xml);
- });
- app.get('/robots.txt', (req, res) => {
- res.sendFile('robots.txt', { root: 'dist/fatboar/browser' });
- });
- 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);
- app.use(ssrApp());
- require('./lib/db');
- const PORT = process.env.PORT || 4000;
- app.listen(PORT, () => {
- console.log(`Api listen on port ${PORT}.`);
- });
|