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
6 changes: 3 additions & 3 deletions api/controllers/pet.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export const getPets = async (req, res) => {
res.status(200).json(pets); // dando o resultado em forma de JSON e dando status 200
} catch (error) {
console.error("Error fetching pet:", error)
res.status(500).json({ error: true, message: "Failed to fetch pet" })
res.status(500).json({ error: true, message: 'Falha ao tentar encontrar Pet' })
}

}
Expand Down Expand Up @@ -40,7 +40,7 @@ export const postPet = async(req,res)=>{
if(!existTutor){
return res.status(404).json({
error: true,
message: "Tutor não encontrado"
message: "Tutor não encontrado."
})
}

Expand All @@ -64,7 +64,7 @@ export const postPet = async(req,res)=>{

} catch (error) {
console.error("Error creating pet:", error)
res.status(500).json({ error: true, message: "Failed to create pet" })
res.status(500).json({ error: true, message: "Falha ao criar Pet" })
}
}

Expand Down
4 changes: 2 additions & 2 deletions api/middlewares/validarPet.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,13 @@ export const validatePet = [
check("sexo")
.notEmpty()
.withMessage("O sexo é obrigatório")
.isIn(["Macho", "Fêmea"])
.isIn(["macho", "fêmea"])
.withMessage("Sexo deve ser 'Macho' ou 'Fêmea'"),

check("porte")
.notEmpty()
.withMessage("O porte é obrigatório")
.isIn(["Pequeno", "Médio", "Grande"])
.isIn(["pequeno", "médio", "grande"])
.withMessage("Porte deve ser 'Pequeno', 'Médio' ou 'Grande'"),

// Data de nascimento e observações são opcionais
Expand Down
7 changes: 3 additions & 4 deletions api/models/dados.mongodb.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@ db.pet.insertOne({
use('hotelpet')
db.pet.find()


dataAtual = new Date()
use('hotelpet')
db.estadia.insertOne({
horario_entrada: new Date(),
horario_saida: new Date(), //isso significa que o animal não saiu
horario_entrada: dataAtual,
horario_saida: dataAtual.setDate(dataAtual.getDate() + 20), //isso significa que o animal não saiu
pet: {
_id: {
$oid: "680a99407c66932cae04f79f"
Expand All @@ -45,4 +45,3 @@ db.estadia.find()

use('hotelpet')
db.cliente.findOne({cpfCliente:'47251787806'})

6 changes: 3 additions & 3 deletions api/routes/pet.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import express from "express";
import {getPets, getPetID, postPet, deletePets, putPets} from "../controllers/pet.js"; //Importar as funções dentro da controller pet
import { validateTutor } from "../middlewares/validarTutor.js";
import { validatePet } from "../middlewares/validarPet.js";
const router = express.Router()

//Depois de definir o caminho, só chamar o nome da função que você irá usar. EX: getPets irá puxar todo mundo que tiver na collection pet, mas também pode ser deletePet, e assim por diante
Expand All @@ -9,9 +9,9 @@ router.get("/", getPets) //listagem total

router.get("/:id",getPetID) // listagem por ID

router.post("/", validateTutor ,postPet) // criação
router.post("/", validatePet ,postPet) // criação

router.put("/:id",validateTutor, putPets) //atualização
router.put("/:id",validatePet, putPets) //atualização

router.delete("/:id",deletePets) // exclusão

Expand Down
23 changes: 10 additions & 13 deletions public/cadastro.html
Original file line number Diff line number Diff line change
Expand Up @@ -27,25 +27,25 @@
<h1>Cadastro de Pet e Tutor</h1>
<form id="formulario">
<label for="nome-pet">Nome do Pet:</label>
<input type="text" id="nome-pet" name="nome-pet">
<input type="text" id="nome-pet" name="nome-pet" >

<label for="especie">Espécie:</label>
<input type="text" id="especie" name="especie">
<input type="text" id="especie" name="especie" >

<label for="raca">Raça:</label>
<input type="text" id="raca" name="raca">
<input type="text" id="raca" name="raca" >

<label for="idade">Data de Nascimento do Pet:</label>
<input type="date" id="dataNascimento" name="dataNascimento">
<input type="date" id="dataNascimento" name="dataNascimento" >

<label for="sexo">Sexo:</label>
<select id="sexo" name="sexo">
<option value="">Selecione</option>
<select id="sexo" name="sexo" >
<option>Selecione</option>
<option value="macho">Macho</option>
<option value="femea">Fêmea</option>
</select>

<label for="porte">Porte:</label>
<label for="porte">Porte:</label >
<select id="porte" name="porte">
<option value="">Selecione</option>
<option value="pequeno">Pequeno</option>
Expand All @@ -54,22 +54,19 @@ <h1>Cadastro de Pet e Tutor</h1>
</select>

<label for="cpf">CPF do Tutor:</label>
<input type="text" id="cpf" name="cpfCliente">
<input type="text" id="cpf" name="cpfCliente" >

<label for="peso">Peso:</label>
<input type="number" id="peso" name="peso" step="5">
<input type="number" id="peso" name="peso" step="5" >

<label for="observacoes">Observações:</label>
<textarea id="observacoes" name="observacoes" rows="3"></textarea>
<textarea id="observacoes" name="observacoes" rows="3"></textarea >

<button type="submit">Cadastrar</button>
</form>
</div>
</div>


<div id="resposta-form">

</div>
</body>
<script src="js/cadastrarPet.js"></script>
Expand Down
18 changes: 14 additions & 4 deletions public/js/cadastrarPet.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,23 @@ document
},
body: JSON.stringify(data),
});


let pet = await response.json();
if (response.ok) {
alert("Pet cadastrado com sucesso!");
let pet = await response.json();
console.log(pet);

} else {
alert("Erro ao cadastrar o pet. Verifique os dados e tente novamente.");
if(response.status === 400){
let erros = pet.errors;
erros.forEach(erro => {
alert(erro.msg);
});

}
else if(response.status === 404){
alert(pet.message);
}

}
} catch (error) {
console.error("Erro na requisição:", error);
Expand Down