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
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": ""
}
4 changes: 2 additions & 2 deletions servidor-paraolar/reprogramaflix/server.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const app = require("./src/app")

app.listen(8080, ()=>{
console.log("Uhuuul nova iguaçu na porta 8080")
app.listen(8090, ()=>{
console.log("Servidor rodando na porta 8090")
})
4 changes: 4 additions & 0 deletions servidor-paraolar/reprogramaflix/src/app.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
const express = require("express") //chama o express
const app = express() //executar express
const cors = require("cors")

app.use(cors())
app.use(express.json()) //parsear

const filmes = require("./routes/filmesRoutes") //chamando todas as rotas

Expand Down
Original file line number Diff line number Diff line change
@@ -1,44 +1,45 @@
const filmes = require("../models/filmes.json") //chamar nosso json

const getAll = (request, response)=>{ //criar função getAll
//GET
const getAll = (request, response) => { //criar função getAll
response.status(200).send(filmes)
}
const getById = (request, response)=>{
const getById = (request, response) => {
const idRequerido = request.params.id
let idFiltrado = filmes.find(filme => filme.id == idRequerido)

if(idFiltrado == undefined || idRequerido == " "){
if (idFiltrado == undefined || idRequerido == " ") {
response.status(404).json([{
"mensagem":"id não existente"
"mensagem": "id não existente"
}])
}else{
response.status(200).json(idFiltrado)
}
} else {
response.status(200).json(idFiltrado)
}
}

const getByTitle = (request, response)=>{
const getByTitle = (request, response) => {
const titulo = request.query.titulo.toLowerCase()
const filmeFiltrado = filmes.find(filme => filme.Title.toLowerCase().includes(titulo))

if(titulo == "" || filmeFiltrado == undefined){
if (titulo == "" || filmeFiltrado == undefined) {
response.status(400).json([{
"mensagem":"por favor, digite um titulo válido"
"mensagem": "por favor, digite um titulo válido"
}])
} else {
response.status(200).send(filmeFiltrado)
}
}

const getByGenre = (request, response)=>{
const getByGenre = (request, response) => {
const generoRequisitado = request.query.genero
let novaLista =[]
filmes.forEach(filme =>{
let generoLista = filme.Genre.split(",")

for(genero of generoLista){
if(genero.includes(generoRequisitado)){
let novaLista = []

filmes.forEach(filme => {
let generoLista = filme.Genre.split(",")

for (genero of generoLista) {

if (genero.includes(generoRequisitado)) {
console.log(filme)
novaLista.push(filme)
}
Expand All @@ -48,9 +49,61 @@ const getByGenre = (request, response)=>{
response.status(200).send(novaLista)
}

// POST
const createFilm = (request, response) => { //post filmes

let novoFilme = {
id: Math.random().toString(16).substr(2, 6),
Title: request.body.Title,
Year: request.body.Year,
Rated: request.body.Rated,
Released: request.body.Released,
Runtime: request.body.Runtime,
Genre: request.body.Genre,
Director: request.body.Director,
Writer: request.body.Writer,
Actors: request.body.Actors,
Plot: request.body.Plot,
Language: request.body.Language,
Country: request.body.Country,
Awards: request.body.Awards
}

filmes.push(novoFilme) //coloca em filmes.json o meu novoFilme publicado

response.status(200).send([{
"mensagem": "Novo filme criado",
novoFilme
}])
}


//DELETE
const deleteFilm = (request, response) => {
const idRequerido = request.params.id
const filmeFiltrado = filmes.find(filme => filme.id == idRequerido)

if (filmeFiltrado == undefined) {
response.status(404).json({
"mensagem": "filme não encontrado"
})
}
else {
const indiceFilmeFiltrado = filmes.indexOf(idRequerido)
response.status(200).send({
"mensagem": "o filme abaixo foi deletado com sucesso",
filmeFiltrado
})

filmes.splice(indiceFilmeFiltrado, 1) //vai no índice indicado para deletar, e deleta 1 filme naquela posição
}
}

module.exports = { //exportando as funções
getAll,
getById,
getByTitle,
getByGenre
getByGenre,
createFilm,
deleteFilm
}
4 changes: 4 additions & 0 deletions servidor-paraolar/reprogramaflix/src/routes/filmesRoutes.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,9 @@ router.get("/title", controller.getByTitle)
router.get("/genre", controller.getByGenre)
router.get("/:id", controller.getById)

router.post("/adicionar", controller.createFilm)

router.delete("/:id", controller.deleteFilm)


module.exports = router //exportando o router