Ajout de la gestion CORS pour permettre les requêtes depuis le frontend
This commit is contained in:
@@ -1,4 +1,3 @@
|
|||||||
// routes/api.js
|
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
const db = require('../db');
|
const db = require('../db');
|
||||||
@@ -9,6 +8,14 @@ const fileUtils = require('../utils/fileUtils');
|
|||||||
const serverError = require('../utils/serverError');
|
const serverError = require('../utils/serverError');
|
||||||
const video = require('../utils/video');
|
const video = require('../utils/video');
|
||||||
const dbTester = require('../test/dbTester');
|
const dbTester = require('../test/dbTester');
|
||||||
|
const cors = require('cors'); // Import the cors package
|
||||||
|
|
||||||
|
// Use the cors middleware
|
||||||
|
router.use(cors({
|
||||||
|
origin: 'http://localhost:5500', // Replace with your frontend URL
|
||||||
|
methods: 'GET,POST,PUT,DELETE',
|
||||||
|
allowedHeaders: 'Content-Type',
|
||||||
|
}));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @swagger
|
* @swagger
|
||||||
@@ -59,8 +66,7 @@ router.get('/projects/:id/create-video', async (req, res) => {
|
|||||||
} catch (error) {
|
} catch (error) {
|
||||||
serverError.sendError('Error creating video:', res, error);
|
serverError.sendError('Error creating video:', res, error);
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @swagger
|
* @swagger
|
||||||
@@ -113,9 +119,6 @@ router.get('/projects/:id', async (req, res) => {
|
|||||||
router.get('/projects/:id/videos', (req, res) => {
|
router.get('/projects/:id/videos', (req, res) => {
|
||||||
const projectId = req.params.id;
|
const projectId = req.params.id;
|
||||||
const query = 'SELECT * FROM public.videos WHERE project_id = $1';
|
const query = 'SELECT * FROM public.videos WHERE project_id = $1';
|
||||||
res.setHeader('Access-Control-Allow-Origin', 'http://localhost:5500');
|
|
||||||
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
|
|
||||||
res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
|
|
||||||
db.query(query, [projectId], (err, results) => {
|
db.query(query, [projectId], (err, results) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
serverError.sendError('Erreur lors de la récupération des vidéos pour le projet:', res, err);
|
serverError.sendError('Erreur lors de la récupération des vidéos pour le projet:', res, err);
|
||||||
@@ -145,9 +148,6 @@ router.get('/projects/:id/videos', (req, res) => {
|
|||||||
router.get('/projects/:id/measurements', (req, res) => {
|
router.get('/projects/:id/measurements', (req, res) => {
|
||||||
const projectId = req.params.id;
|
const projectId = req.params.id;
|
||||||
const query = 'SELECT * FROM public.measurements WHERE project_id = $1';
|
const query = 'SELECT * FROM public.measurements WHERE project_id = $1';
|
||||||
res.setHeader('Access-Control-Allow-Origin', 'http://localhost:5500');
|
|
||||||
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
|
|
||||||
res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
|
|
||||||
db.query(query, [projectId], (err, results) => {
|
db.query(query, [projectId], (err, results) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
serverError.sendError('Erreur lors de la récupération des mesures pour le projet:', res, err);
|
serverError.sendError('Erreur lors de la récupération des mesures pour le projet:', res, err);
|
||||||
@@ -245,9 +245,6 @@ router.delete('/projects/:id', async (req, res) => {
|
|||||||
*/
|
*/
|
||||||
router.get('/measurements', (req, res) => {
|
router.get('/measurements', (req, res) => {
|
||||||
const query = 'SELECT * FROM public.measurements';
|
const query = 'SELECT * FROM public.measurements';
|
||||||
res.setHeader('Access-Control-Allow-Origin', 'http://localhost:5500');
|
|
||||||
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
|
|
||||||
res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
|
|
||||||
db.query(query, (err, results) => {
|
db.query(query, (err, results) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
serverError.sendError('Erreur lors de la récupération des mesures:', res, err);
|
serverError.sendError('Erreur lors de la récupération des mesures:', res, err);
|
||||||
@@ -277,9 +274,6 @@ router.get('/measurements', (req, res) => {
|
|||||||
router.get('/measurements/:id', (req, res) => {
|
router.get('/measurements/:id', (req, res) => {
|
||||||
const measurementId = req.params.id;
|
const measurementId = req.params.id;
|
||||||
const query = 'SELECT * FROM public.measurements WHERE id = $1';
|
const query = 'SELECT * FROM public.measurements WHERE id = $1';
|
||||||
res.setHeader('Access-Control-Allow-Origin', 'http://localhost:5500');
|
|
||||||
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
|
|
||||||
res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
|
|
||||||
db.query(query, [measurementId], (err, results) => {
|
db.query(query, [measurementId], (err, results) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
serverError.sendError('Erreur lors de la récupération de la mesure:', res, err);
|
serverError.sendError('Erreur lors de la récupération de la mesure:', res, err);
|
||||||
@@ -356,9 +350,6 @@ router.delete('/measurements/:id', (req, res) => {
|
|||||||
*/
|
*/
|
||||||
router.get('/videos', (req, res) => {
|
router.get('/videos', (req, res) => {
|
||||||
const query = 'SELECT * FROM public.videos';
|
const query = 'SELECT * FROM public.videos';
|
||||||
res.setHeader('Access-Control-Allow-Origin', 'http://localhost:5500');
|
|
||||||
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
|
|
||||||
res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
|
|
||||||
db.query(query, (err, results) => {
|
db.query(query, (err, results) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
serverError.sendError('Erreur lors de la récupération des vidéos:', res, err);
|
serverError.sendError('Erreur lors de la récupération des vidéos:', res, err);
|
||||||
@@ -388,9 +379,6 @@ router.get('/videos', (req, res) => {
|
|||||||
router.get('/videos/:id', (req, res) => {
|
router.get('/videos/:id', (req, res) => {
|
||||||
const videoId = req.params.id;
|
const videoId = req.params.id;
|
||||||
const query = 'SELECT * FROM public.videos WHERE id = $1';
|
const query = 'SELECT * FROM public.videos WHERE id = $1';
|
||||||
res.setHeader('Access-Control-Allow-Origin', 'http://localhost:5500');
|
|
||||||
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
|
|
||||||
res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
|
|
||||||
db.query(query, [videoId], (err, results) => {
|
db.query(query, [videoId], (err, results) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
serverError.sendError('Erreur lors de la récupération de la vidéo:', res, err);
|
serverError.sendError('Erreur lors de la récupération de la vidéo:', res, err);
|
||||||
@@ -508,9 +496,6 @@ router.delete('/videos/:id', (req, res) => {
|
|||||||
* description: Image not found
|
* description: Image not found
|
||||||
*/
|
*/
|
||||||
router.get('/smile', (req, res) => {
|
router.get('/smile', (req, res) => {
|
||||||
res.setHeader('Access-Control-Allow-Origin', 'http://localhost:5500');
|
|
||||||
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
|
|
||||||
res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
|
|
||||||
const imagePath = path.join(__dirname, '../storage/smile.jpg');
|
const imagePath = path.join(__dirname, '../storage/smile.jpg');
|
||||||
fs.access(imagePath, fs.constants.F_OK, (err) => {
|
fs.access(imagePath, fs.constants.F_OK, (err) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
|
|||||||
Reference in New Issue
Block a user