Делаю клон на твиттера, завис на точке где пытаюсь добавлять твиты на базу данных таким образом, чтобы при загрузке, эти твиты загружались с именами (авторами), так вот, правильна ли моя структура загрузки и хранения данных на Firebase?
И так же, правильно ли написан мой код загрузки твитов на базу данных?
actions.js (VueX)
export default {
async addTweet(context, payload) {
const userId = context.rootGetters.userId;
// const token = context.rootGetters.token;
const response = await fetch(
`https://twitter-clone-e8a3c-default-rtdb.firebaseio.com/users/${userId}/tweets.json`,
{
method: "POST",
body: JSON.stringify({
tweet: payload.tweet,
}),
}
);
const responseData = await response.json();
if (!response.ok) {
const error = new Error(responseData.message || "Failed to fetch.");
throw error;
}
context.commit("addTweet", {
tweet: payload.tweet,
});
},
async fetchTweets(context) {
const userId = context.rootGetters.userId;
// const token = context.rootGetters.token;
const response = await fetch(
`https://twitter-clone-e8a3c-default-rtdb.firebaseio.com/users/${userId}/tweets.json`
);
const responseData = await response.json();
if (!response.ok) {
const error = new Error(responseData.message || "Failed to fetch.");
throw error;
}
const tweets = [];
for (const key in responseData) {
const tweet = {
id: key,
tweet: responseData[key].tweet,
};
tweets.push(tweet);
}
setTimeout(() => {
context.commit("loadTweets", tweets);
}, 2000);
},
};