index.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. const express = require('express');
  2. const bodyparser = require('body-parser');
  3. const mongoose = require('mongoose');
  4. const cors = require('cors');
  5. const config = require('./config/db.config');
  6. const userRoutes = require('./routes/user');
  7. const employeeRoutes = require('./routes/employee');
  8. const authRoutes = require('./routes/auth');
  9. const ticketRoutes = require('./routes/ticket');
  10. const emailsRoutes = require('./routes/emailing');
  11. const authGoogle = require('./routes/google');
  12. const authFacebook = require('./routes/facebook');
  13. const tirageRoutes = require('./routes/tirage');
  14. const contactRoutes = require('./routes/contact');
  15. const restaurantRoutes = require('./routes/restaurant');
  16. const Logger = require('./logging')
  17. //metrics
  18. const makeApiMiddleware = require("api-express-exporter");
  19. //const apiMetrics = require('prometheus-api-metrics');
  20. const promBundle = require("express-prom-bundle");
  21. const metricsMiddleware = promBundle({includeMethod: true, includePath: true});
  22. const app = express();
  23. Logger.error('hello world', 'Nan c est juste pour tester les logs')
  24. app.use(metricsMiddleware);
  25. //app.use(apiMetrics());
  26. //metrics
  27. app.use(makeApiMiddleware());
  28. app.get("/api", (req, res) => {
  29. res.status(200).send("Api Works.");
  30. });
  31. var corsOptions = {
  32. origin: 'angular-preprod.foodgame.fr',
  33. optionsSuccessStatus: 200
  34. }
  35. //Définition des CORS Middleware
  36. app.use(function(req, res, next) {
  37. res.setHeader(
  38. "Access-Control-Allow-Headers",
  39. "X-Requested-With,content-type, Accept,Authorization,Origin"
  40. );
  41. res.setHeader("Access-Control-Allow-Origin", "*");
  42. res.setHeader(
  43. "Access-Control-Allow-Methods",
  44. "GET, POST, OPTIONS, PUT, PATCH, DELETE"
  45. );
  46. res.setHeader("Access-Control-Allow-Credentials", true);
  47. next();
  48. });
  49. // parse requests body params
  50. app.use(bodyparser.json());
  51. app.use(bodyparser.urlencoded({extended: true}));
  52. //simple route
  53. app.use('/api/users', userRoutes );
  54. app.use('/api/employees', employeeRoutes );
  55. app.use('/api/tickets', ticketRoutes );
  56. app.use('/api/auth', authRoutes );
  57. app.use('/api/emails', emailsRoutes );
  58. app.use('/api/auth/google', authGoogle );
  59. app.use('/api/auth/facebook', authFacebook );
  60. app.use('/api/tirage', tirageRoutes );
  61. app.use('/api/contact', contactRoutes );
  62. app.use('/api/restaurants', restaurantRoutes );
  63. //connexion database
  64. require('./lib/db');
  65. //listen for requests
  66. const PORT = process.env.PORT || 4000;
  67. app.listen(PORT, () => {
  68. console.log(`Api listen on port ${PORT}.`);
  69. });