Upload 1.13

This commit is contained in:
AndrewTrieu
2023-03-23 15:07:20 +02:00
parent 5d66bf963f
commit 0aa93a7824
3 changed files with 37 additions and 16 deletions

View File

@@ -1,22 +1,22 @@
{
"persons":[
{
"name": "Arto Hellas",
"persons": [
{
"name": "Arto Hellas",
"number": "040-123456",
"id": 1
},
{
"name": "Ada Lovelace",
{
"name": "Ada Lovelace",
"number": "39-44-5323523",
"id": 2
},
{
"name": "Dan Abramov",
{
"name": "Dan Abramov",
"number": "12-43-234345",
"id": 3
},
{
"name": "Mary Poppendieck",
{
"name": "Mary Poppendieck",
"number": "39-23-6423122",
"id": 4
}

View File

@@ -1,5 +1,5 @@
import { useState, useEffect } from "react";
import axios from "axios";
import personService from "./services/personService.js";
import PersonForm from "./components/PersonForm";
import Filter from "./components/Filter";
import ShowPersons from "./components/ShowPersons";
@@ -11,9 +11,9 @@ const App = () => {
const [showedPersons, setShowedPersons] = useState([]);
useEffect(() => {
axios.get("http://localhost:3001/persons").then((response) => {
setPersons(response.data);
setShowedPersons(response.data);
personService.getAll().then((initialPersons) => {
setPersons(initialPersons);
setShowedPersons(initialPersons);
});
}, []);
@@ -23,9 +23,11 @@ const App = () => {
alert(`${newPerson.name} is already added to phonebook`);
return;
}
setPersons(persons.concat(newPerson));
setShowedPersons(persons.concat(newPerson));
setNewPerson({ name: "", number: "" });
personService.create(newPerson).then((returnedPerson) => {
setPersons(persons.concat(returnedPerson));
setShowedPersons(persons.concat(returnedPerson));
setNewPerson({ name: "", number: "" });
});
};
const handleChange = (event) => {

View File

@@ -0,0 +1,19 @@
import axios from "axios";
const baseUrl = "http://localhost:3001/persons";
const getAll = () => {
const request = axios.get(baseUrl);
return request.then((response) => response.data);
};
const create = (newObject) => {
const request = axios.post(baseUrl, newObject);
return request.then((response) => response.data);
};
const update = (id, newObject) => {
const request = axios.put(`${baseUrl}/${id}`, newObject);
return request.then((response) => response.data);
};
export default { getAll, create, update };