Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 25 additions & 19 deletions servidor-em-aula/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,29 @@
- devo conseguir atualizar qualquer parte do post separadamente

## rotas
[GET] "/posts"
getAll que retorna todos os posts
[GET] "/posts"
getAll que retorna todos os posts
[GET] "/posts/:id"
getById que retorna um post especifico

[DELETE] "/posts/:id" deletePost deleta um post

[POST] "/posts/create"
createPost criar publicação
json
{
"id": randomico,
"dataCriacao": new Date(),
"titulo": "string",
"conteudo": "string",
"etiquetas": [LISTA]
}

[PUT] "posts/:id"
replacePost atualiza postagem/publicação

[PATCH] "posts/updateTitle/:id"
updateTitle atualizar somente o titulo da postagem
[PATCH] "/posts/update/:id"
updateAnything atualizar qualquer parte do post separadamente

[GET] "/posts/:id"
getById que retorna um post especifico

[DELETE] "/posts/:id"
deletePost deleta um post

[POST] "/posts/create"
createPost criar publicação

[PUT] "posts/:id"
replacePost atualiza postagem/publicação

[PATCH] "posts/updateTitle/:id"
updateTitle atualizar somente o titulo da postagem

[PATCH] "/posts/update/:id"
updateAnything atualizar qualquer parte do post separadamente
19 changes: 19 additions & 0 deletions servidor-em-aula/package.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,23 @@
{

"name": "servidor-em-aula",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon server.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"cors": "^2.8.5",
"express": "^4.17.1",
"nodemon": "^2.0.7"
}
}

"name": "servidor-em-aula",
"version": "1.0.0",
"description": "",
Expand Down
4 changes: 4 additions & 0 deletions servidor-em-aula/server.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
const app = require("./src/app")
const PORT = 8080


app.listen(PORT, () => {

app.listen(PORT, ()=>{

console.log(`alo alo alo to ligando na ${PORT}`)
})
107 changes: 107 additions & 0 deletions servidor-em-aula/src/controllers/postsController.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
const postsJson = require("../models/posts.json")

const getAll = (request, response) => {
response.status(200).json(postsJson)
}

const getById = (request, response) => {
const idRequerido = request.params.id
const postFiltrado = postsJson.find(post => post.id == idRequerido)

response.status(200).send(postFiltrado)
}

const creatPost = (request, response) => {
let tituloRequerido = request.body.titulo
let conteudoRequerido = request.body.conteudo
let etiquetasRequeridas = request.body.etiquetas

let newPost = {
id: Math.random().toString(32).substr(2, 6),
dataCriacao: new Date(),
titulo: tituloRequerido,
conteudo: conteudoRequerido,
etiquetas: etiquetasRequeridas
}

postsJson.push(newPost)

response.status(201).json([{
"mensagem": "Post criado",
newPost
}])
}

const replacePost = (request, response) => {
const idRequerido = request.params.id
let postBody = request.body
const postFiltrado = postsJson.find(post => post.id == idRequerido)

let postAtualizado = {
id: postFiltrado.id,
dataCriacao: postFiltrado.dataCriacao,
titulo: postBody.titulo,
conteudo: postBody.conteudo,
etiquetas: postBody.etiquetas
}
const indice = postsJson.indexOf(postFiltrado)
postsJson.splice(indice, 1, postAtualizado)

response.status(200).json([{
"mensagem": "Postsubstituido com sucesso",
postAtualizado
}])
}

const updateTitle = (request, response) => {
const idRequerido = request.params.id
let newTitle = request.body.titulo
const postFiltrado = postsJson.find(post => post.id == idRequerido)

postFiltrado.titulo = newTitle

response.status(200).json([{
"mensagem": "titulo atualizado com sucesso",
postFiltrado
}])
}

const updateAnything = (request, response) => {
const idRequerido = request.params.id
const atualizacaoBody = request.body
const postFiltrado = postsJson.find(post => post.id == idRequerido)

let listaDeChaves = Object.keys(atualizacaoBody)

listaDeChaves.forEach((chave) => {
postFiltrado[chave] = atualizacaoBody[chave]
})

response.status(200).json([{
"mensagem": "Post atualização com sucesso",
postFiltrado
}])
}


const deletePost = (request, response) => {
const idRequerido = request.params.id
const postFiltrado = postsJson.find(post => post.id == idRequerido)

const indice = postsJson.indexOf(postFiltrado)
postsJson.splice(indice, 1)

response.status(200).json({
"mensagem": "Post deletado",
postsJson
})
}
module.exports = {
getAll,
getById,
creatPost,
replacePost,
updateTitle,
updateAnything,
deletePost
}
10 changes: 5 additions & 5 deletions servidor-em-aula/src/models/posts.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,22 @@
"dataCriacao": "18/10/2020",
"titulo": "Dicas importantes para quem quer migrar de carreira",
"conteudo": "Muitas dúvidas pairam na cabeça de quem desejar migrar de área, o medo de estar arriscando sua carreira pra tentar algo pode paralisar nossos projetos...",
"etiquetas": ["migracao","carreira","vidaProfissional","empowerment", "tecnologia", "codingGirls"]
"etiquetas": ["migracao", "carreira", "vidaProfissional", "empowerment", "tecnologia", "codingGirls"]
},

{
"id": 2,
"dataCriacao":"18/5/2020",
"dataCriacao": "18/5/2020",
"titulo": "Entenda por que Javascript e Java não são a mesma coisa",
"conteudo": "Ainda que tenham nomes parecidos, Javascript e Java são linguagens diferentes: a primeira atua no FrontEnd e a segunda no BackEnd...",
"etiquetas": ["nivelIniciante","frontEnd","backEnd","java", "javascript"]
"etiquetas": ["nivelIniciante", "frontEnd", "backEnd", "java", "javascript"]
},

{
"id": 3,
"dataCriacao":"18/2/2021",
"dataCriacao": "18/2/2021",
"titulo": "Qual biblioteca de Javascript escolher: React, Angular, Vue ou JQuery?",
"conteudo": "Assim que começamos a estudar FrontEnd, descobrimos o mundo de possibilidades do Javascript e de seus frameworks. A parte mais difícil é escolher em qual(ou quais) dela(s) se aprofundar...",
"etiquetas": ["javascript","biblioteca","frameworks", "angular", "react", "vue", "jQuery", "frontEnd"]
"etiquetas": ["javascript", "biblioteca", "frameworks", "angular", "react", "vue", "jQuery", "frontEnd"]
}
]
16 changes: 15 additions & 1 deletion servidor-em-aula/src/routes/postsRoutes.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,23 @@
const express = require("express")
const router = express.Router()

const controller = require("../controllers/postsController")

const express = require ("express")
const router = express.Router()

const controller = require("../controllers/postsControllers")


router.get("/", controller.getAll)
router.get("/:id", controller.getById)


router.post("/create", controller.creatPost)

router.post("/create", controller.createPost)


router.put("/:id", controller.replacePost)

router.patch("/updateTitle/:id", controller.updateTitle)
Expand All @@ -16,4 +26,8 @@ router.patch("/update/:id", controller.updateAnything)
router.delete("/:id", controller.deletePost)


module.exports = router;
module.exports = router;


module.exports = router;

14 changes: 14 additions & 0 deletions servidor-paraolar/reprogramaflix/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions servidor-paraolar/reprogramaflix/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"name": "reprogramaflix",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
Expand All @@ -11,7 +10,9 @@
"author": "",
"license": "ISC",
"dependencies": {
"cors": "^2.8.5",
"express": "^4.17.1",
"nodemon": "^2.0.7"
}
},
"description": ""
}
6 changes: 4 additions & 2 deletions servidor-paraolar/reprogramaflix/server.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
const app = require("./src/app")
const PORT = 8080

app.listen(8080, ()=>{
console.log("Uhuuul nova iguaçu na porta 8080")

app.listen(8080, () => {
console.log(`Uhuuul nova iguaçu na porta ${PORT}`)
})
6 changes: 5 additions & 1 deletion servidor-paraolar/reprogramaflix/src/app.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
const express = require("express") //chama o express
const cors = require("cors")
const filmes = require("./routes/filmesRoutes") //chamando todas as rotas

const app = express() //executar express

const filmes = require("./routes/filmesRoutes") //chamando todas as rotas
app.use(cors())
app.use(express.json())

app.use("/filmes", filmes) //colocando a rota raiz

Expand Down
Loading