-
Notifications
You must be signed in to change notification settings - Fork 0
/
mulheres.js
98 lines (74 loc) · 2.67 KB
/
mulheres.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
const express = require('express') //iniciando o express
const router = express.Router() //configurando a primeira parte da rota
const cors = require('cors')// trazendo o pacote cors que permite consumir essa api no frontend
const conectaBancoDeDados = require('./bancoDeDados') //ligando ao arquivo banco de dados
conectaBancoDeDados()//chamando a função que conecta o banco de dados
const Mulher = require('./mulherModel')
const app = express() //iniciando o app
app.use(express.json()) //para que sejam enviados infromações como JSON
app.use(cors())
const porta = 3333 //criando a porta
//função que mostra a lista de mulheres - GET
async function mostraMulheres(request, response){
try {
const mulheresVindasDoBancoDeDados = await Mulher.find()
response.json(mulheresVindasDoBancoDeDados)
}catch (erro){
console.log(erro)
}
}
//POST
async function criaMulher(request, response){
const novaMulher = new Mulher({
nome: request.body.nome,
imagem: request.body.imagem,
minibio: request.body.minibio,
citacao: request.body.citacao
})
try {
const mulherCriada = await novaMulher.save() //salva as inf da nova mulher no bd
response.status(201).json(mulherCriada)
}catch (erro) {
console.log(erro)
}
}
//PATCH
async function corrigeMulher(request, response){
try {
const mulherEncontrada = await Mulher.findById(request.params.id)
if (request.body.nome) {
mulherEncontrada.nome = request.body.nome
}
if (request.body.imagem) {
mulherEncontrada.imagem = request.body.imagem
}
if (request.body.minibio) {
mulherEncontrada.minibio = request.body.minibio
}
if (request.body.citacao){
mulherEncontrada.citacao = request.body.citacao
}
const mulherAtualizadaNoBancoDeDados = await mulherEncontrada.save()
response.json(mulherAtualizadaNoBancoDeDados)
}catch (erro) {
console.log(erro)
}
}
//DELETE
async function deletaMulher(request, response){
try {
await Mulher.findByIdAndDelete(request.params.id)
response.json({mensagem: 'Mulher deletada com sucesso!'})
}catch (erro) {
console.log(erro)
}
}
//PORTA
function mostraPorta(){
console.log("Servidor criado e rodando na porta:", porta)
}
app.use(router.get('/mulheres', mostraMulheres)) //configurei a rota GET /mulheres
app.use(router.post('/mulheres', criaMulher))
app.use(router.patch('/mulheres/:id', corrigeMulher))
app.use(router.delete('/mulheres/:id', deletaMulher))
app.listen(porta, mostraPorta) //Servidor ouvindo a porta