V1 calendrier

This commit is contained in:
ElPoyo
2025-10-10 14:58:05 +02:00
parent 080fb7d077
commit aae68f8ab7
26 changed files with 1328 additions and 847 deletions

View File

@@ -9,6 +9,11 @@
const {onRequest} = require("firebase-functions/v2/https");
const logger = require("firebase-functions/logger");
const admin = require('firebase-admin');
const { Storage } = require('@google-cloud/storage');
admin.initializeApp();
const storage = new Storage();
// Create and deploy your first functions
// https://firebase.google.com/docs/functions/get-started
@@ -18,22 +23,12 @@ const logger = require("firebase-functions/logger");
// response.send("Hello from Firebase!");
// });
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const { Storage } = require('@google-cloud/storage');
admin.initializeApp();
const storage = new Storage();
// Nouvelle version HTTP sécurisée
exports.moveEventFileV2 = functions.https.onRequest(async (req, res) => {
// Ajout des headers CORS
res.set('Access-Control-Allow-Origin', '*');
res.set('Access-Control-Allow-Headers', 'Content-Type, Authorization');
if (req.method === 'OPTIONS') {
res.set('Access-Control-Allow-Methods', 'POST, OPTIONS');
res.status(204).send('');
return;
}
exports.moveEventFileV2 = onRequest({cors: true}, async (req, res) => {
// La gestion CORS est maintenant gérée par l'option {cors: true}
// La vérification pour les requêtes OPTIONS n'est plus nécessaire
// Vérification du token Firebase dans l'en-tête Authorization
let uid = null;
if (req.headers.authorization && req.headers.authorization.startsWith('Bearer ')) {
@@ -42,11 +37,13 @@ exports.moveEventFileV2 = functions.https.onRequest(async (req, res) => {
const decodedToken = await admin.auth().verifyIdToken(idToken);
uid = decodedToken.uid;
} catch (e) {
res.status(401).json({ error: 'Invalid token' });
logger.error("Error while verifying Firebase ID token:", e);
res.status(401).json({ error: 'Unauthorized: Invalid token' });
return;
}
} else {
res.status(401).json({ error: 'No token provided' });
logger.warn("No Firebase ID token was passed as a Bearer token in the Authorization header.");
res.status(401).json({ error: 'Unauthorized: No token provided' });
return;
}
@@ -68,6 +65,7 @@ exports.moveEventFileV2 = functions.https.onRequest(async (req, res) => {
});
res.status(200).json({ url });
} catch (error) {
logger.error("Error moving file:", error);
res.status(500).json({ error: error.message });
}
});