Я создал вызов базы данных из файла действий приставки, он всегда возвращает пустой объект.Данные для заданного дня задач вложены в объект даты в JSON, я пытаюсь получить доступ только к тем задачам, которые данный пользователь отправил в базу данных Firebase.
Я могу разрешить пользователям извлекать данные из Firebase беззапрашивая конкретные задачи, но при использовании параметров запроса (см. вызов axios) ниже он возвращает:
{}
И ничего более.
Вызов axios.get в файле действий приставки
export const fetchTasks = (token, userId) => {
return dispatch => {
dispatch( fetchTasksStart(token, userId));
const queryParams = '?auth=' + token + '&orderBy="userId"&equalTo="' + userId + '"';
axios.get('./tasks.json' + queryParams)
.then( response => {
const fetchedTasks = [];
for (let key in response.data) {
fetchedTasks.push( {
...response.data[key],
id: key
} );
}
console.log(response.data);
dispatch(fetchTasksSuccess(fetchedTasks));
} )
.catch(err => {
dispatch(fetchTasksFail(err));
} );
};
};
Данные JSON в базе данных Firebase
{
"tasks" : {
"20181025" : {
"-LPelcWwUK2vB2mxqETB" : {
"date" : "20181025",
"end" : "2018-10-25T10:30:30.113Z",
"hours" : 0,
"minutes" : 0,
"name" : "a",
"seconds" : 2,
"start" : "2018-10-25T10:30:28.521Z",
"token" : "placeholder",
"userId" : "placeholder"
}
}
}
}
Правила Firebase:
{
"rules": {
"tasks": {
".read": "auth != null",
".write": "auth != null",
".indexOn": ["userId"]
}
}
}