-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexercices.js
100 lines (89 loc) · 2.4 KB
/
exercices.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
const express = require('express')
const app = express()
const morgan = require('morgan')
app.use(express.json())
//aqui es como si crearamos una variable para ponerla en el formato de abajo, se crea la variable body que lo que tiene es la
//info del body en la peticion
morgan.token('body', (req) => {
return JSON.stringify(req.body);
});
app.use(morgan(':method :url :status :res[content-length] - :response-time ms :body'))
let persons= [
{
"id": 1,
"name": "Arto Hellas",
"number": "040-123456"
},
{
"id": 2,
"name": "Ada Lovelace",
"number": "39-44-5323523"
},
{
"id": 3,
"name": "Dan Abramov",
"number": "12-43-234345"
},
{
"id": 4,
"name": "Mary Poppendieck",
"number": "39-23-6423122"
}
]
app.get('/api/persons',(request, response)=>{
response.json(persons)
})
app.get('/info',(request, response)=>{
const entrances= persons.length
console.log(entrances)
const options = {
timeZone: 'Europe/Kiev',
weekday: 'short',
year: 'numeric',
month: 'short',
day: 'numeric',
hour: '2-digit',
minute: '2-digit',
second: '2-digit',
timeZoneName: 'long',
};
var f= new Date()
const time= f.toLocaleString('en-US', options)
console.log(time);
response.send(`<p>Phonebook has info for ${entrances} people</p><p>${time}</p>`)
})
app.get('/api/persons/:id', (request, response)=>{
const id= Number(request.params.id)
const person= persons.find(p=>p.id===id)
if(person){
response.json(person)
}else{
response.status(404).end()
}
})
app.delete('/api/persons/:id', (request, response)=>{
const id= Number(request.params.id)
persons= persons.filter(person=> person.id!==id)
response.status(204).end()
})
app.post('/api/persons',(request, response)=>{
const body= request.body
if (!body.name || !body.number){
return response.status(400).json({
error: 'name or number misssing'
})
}else{
const newId= Math.floor(Math.random()*1000)
const newPerson= {
id: newId,
name: body.name,
number: body.number
}
persons.concat(newPerson)
response.json(newPerson)
}
})
const PORT = 3001
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`)
})