const {initializeApp} = require("firebase-admin/app");
const {getFirestore} = require("firebase-admin/firestore");
const axios = require("axios");
initializeApp();
const db = getFirestore();
exports["onQuestCreate"] = onDocumentCreated(
{
document: "topics/{topicId}"
},
async (event) => {
const snap = event.data;
if (!snap) {
console.error("
return;
}
const data = snap.data();
const topic = data.name;
const classLevel = data.classLevel;
const topicId = event.params.topicId;
try {
const response = await axios.post(//REQUEST HERE);
const data = JSON.parse(response);
// Create batch write
const batch = db.batch();
data.forEach((q) => {
const questionRef = db.collection("questions").doc();
batch.set(questionRef, {
topicId,
classLevel,
questionType: q.questionType,
question: q.question,
options: q.options || null,
correctAnswer: q.correctAnswer || null,
audioAnswerUrl: null,
createdAt: new Date(),
});
});
await batch.commit();
console.log(`
} catch (error) {
console.error("
throw error;
}
});
< /code>
Я пытаюсь сохранить данные в Firestore на основе документов, обработанных в коллекции Firestore. WHE I код без запроса Axios, который я получаю данные от API. Он работает нормально и запускается, но с помощью запроса он не запускается, а также перечисляется в функции: список как запуск HTTP. Что я делаю не так?
Funciton указан как:
/п>
Подробнее здесь: https://stackoverflow.com/questions/794 ... ed-by-http
Мобильная версия