Ola a todos tudo bem?? Logo apos seguir como foi passado na aula, meu código esta aparecendo erro ao salvar pensamento, esse é meu codigo,
const URL_BASE = "http://localhost:3000";
const converterStringParaData = (datString) => {
const [ano, mes, dia] = dataString.split("-");
return new Date(Date.UTC(ano, mes - 1, dia));
};
const api = {
async buscarPensamentos() {
try {
const response = await axios.get(`${URL_BASE}/pensamentos`);
return await response.data;
} catch {
alert("Erro ao buscar pensamentos");
throw error;
}
},
async salvarPensamento(pensamento) {
try {
const data = converterStringParaData(pensamento);
const response = await axios.post(`${URL_BASE}/pensamentos`, {
...pensamento,
data,
});
return await response.data;
} catch {
alert("Erro ao salvar pensamento");
throw error;
}
},
async buscarPensamentoPorId(id) {
try {
const response = await axios.get(`${URL_BASE}/pensamentos/${id}`);
return await response.data;
} catch {
alert("Erro ao buscar pensamento");
throw error;
}
},
async editarPensamento(pensamento) {
try {
const response = await axios.put(
`${URL_BASE}/pensamentos/${pensamento.id}`,
pensamento
);
return await response.data;
} catch {
alert("Erro ao editar pensamento");
throw error;
}
},
async excluirPensamento(id) {
try {
const response = await axios.delete(`${URL_BASE}/pensamentos/${id}`);
} catch {
alert("Erro ao excluir um pensamento");
throw error;
}
},
async buscarPensamentoPorTermo(termo) {
try {
const pensamentos = await this.buscarPensamentos();
const termoEmMinusculas = termo.toLowerCase();
const pensamentosFiltrados = pensamentos.filter((pensamento) => {
return (
pensamento.conteudo.toLowerCase().includes(termoEmMinusculas) ||
pensamento.autoria.toLowerCase().includes(termoEmMinusculas)
);
});
return pensamentosFiltrados;
} catch (error) {
alert("Erro ao filtrar pensamentos");
throw error;
}
},
async atualizarFavorito(id, favoritos) {
try {
const response = await axios.patch(`${URL_BASE}/pensamentos/${id}`, {
favoritos,
});
return response.data;
} catch (error) {
alert("Erro ao atualizar favorito");
throw error;
}
},
};
export default api;