Я использую Redux Saga + Redux Saga Firebase, но у меня проблема с выполнением функции облака. Я знаю, что электронная почта правильно отображается в саге, но не знаю, почему я получаю проблему статуса 400.
Ошибка:
Failed to load resource: the server responded with a status of 400 ()
addAdminSaga. js:
// Redux Saga: Add Admin
function* addAdminSaga(action) {
try {
console.log('SAGA: ADDING ADMIN');
// Firebase Cloud Function: Add Administrator
yield call(
reduxSagaFirebase.functions.call,
'https://us-central1-FIREBASE_URL_HERE.cloudfunctions.net/addAdministrator',
{
email: action.email,
},
);
// Firebase: Add Admin Success
yield put(addAdminSuccess());
}
catch (error) {
// Firebase: Add Admin Error
alert(error);
yield put(addAdminError(error));
}
};
index. js:
// Imports: Dependencies
const functions = require('firebase-functions');
const admin = require('firebase-admin');
// Firebase Admin: Initialize
admin.initializeApp(functions.config().firebase);
// Cloud Function: Add Administrator
exports.addAdministrator = functions.https.onCall((data, context) => {
// get user and add admin custom claim
return admin.auth().getUserByEmail(data.email).then(user => {
return admin.auth().setCustomUserClaims(user.uid, {
admin: true
})
}).then(() => {
return {
message: `Success! ${data.email} has been made an admin.`
}
}).catch(error => {
throw new functions.https.HttpsError('unknown', error.message, error);
});
});