Meus pets continuam sendo salvos mesmo estando em formatos inválidos
uploadDeArquivos.js
const fs = require('fs')
const path = require('path')
module.exports = (caminho, nomeDoArquivo, callbackImagemCriada) => {
const tiposValidos = ['jpg', 'png', 'jpeg']
const tipo = path.extname(caminho)
const tipoEhValido = tiposValidos.indexOf(tipo.substring(1))
if(tipoEhValido === -1) {
console.log('Erro! Tipo inválido')
} else {
const novoCaminho = `./assets/images/${nomeDoArquivo}${tipo}`
fs.createReadStream(caminho)
.pipe(fs.createWriteStream(novoCaminho))
.on('finish', () => callbackImagemCriada(novoCaminho))
}
}
models/pets.js
const conexao = require('../infra/conexao')
const uploadDeArquivos = require('../models/pets')
class Pet {
adiciona(pet, res) {
const sql = 'INSERT INTO Pets SET ?'
uploadDeArquivos(pet.imagem, pet.nome, (novoCaminho) => {
const novoPet = {nome: pet.nome, imagem: novoCaminho}
conexao.query(sql, pet, erro => {
if(erro) {
console.log(erro)
res.status(400).json(erro)
} else {
res.status(200).json(novoPet)
}
})
})
}
}
module.exports = new Pet
controllers/pets.js
const Pet = require('../models/pets')
module.exports = app => {
app.post('/pet', (req, res) => {
const pet = req.body
Pet.adiciona(pet, res)
})
}
Oque estou fazendo errado?
Obrigado desde já :)