-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmulheres.js
112 lines (82 loc) · 2.25 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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
//aqui estou iniciando o express
const express = require("express")
//configurando primeira parte da rota
const router = express.Router()
const cors = require('cors')
//ligando ao arquivo bancoDeDados
const conectaBancoDeDados = require('./bancoDeDados')
conectaBancoDeDados()
const Mulher = require('./mulherModel')
//iniciando o app
const app = express()
app.use(express.json())
app.use(cors())
const porta = 3333//criando a porta
//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()
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 = request.body.imagem
}
if(request.body.minibio){
mulherEncontrada.minibio = request.body.minibio
}
if (request.body.citacao){
mulherEncontrada = request.body.citacao
}
const mulherAtualizadaNoBancoDeDados = await mulherEncontrada.save()
response.json(mulherAtualizadaNoBancoDeDados)
} catch(erro) {
console.log(erro)
}
}
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)
}
//rota GET /mulheres
app.use(router.get('/mulheres', mostraMulheres))
//rota POST /mulheres
app.use(router.post('/mulheres',criaMulher))
//rota PATCH /mulheres/:id
app.use(router.patch('/mulheres/:id', corrigeMulher))
//rota Delete
app.use(router.delete('/mulheres/:id',deletaMulher))
//Servidor ouvindo a porta
app.listen(porta, mostraPorta)