'How can i make multer 'upload.fields' optional?

I have this 'post' method but it only works when i have both archives ('avatar' and 'document') uploaded, if i don't set them while sending the request, it ends with an error, how can I make the archives upload optional? I've already tried using 'upload.array', but it doesn't work as well.

Here is the parts of the code mentioned.

const cpUpload = upload.fields([{ name: 'avatar', maxCount: 1 }, { name: 'document', maxCount: 1 }])
app.post('/engajamentos',verifyJWT,cpUpload, async function(req, res){   
    var requisicao = req.body;

    var Categoria = requisicao.Categoria;
    var Tarefas = requisicao.Tarefas;
    var Estado = requisicao.Estado;
    var Municipio = requisicao.Municipio;
    var Criticidade = requisicao.Criticidade;
    var GT = requisicao.GT;
    var Restrito = requisicao.Restrito;
    var Foto = requisicao.Foto;
    var Doc = requisicao.Doc;
    var Tema = requisicao.Tema;
    var Descricao = requisicao.Descricao;
    var Contato = requisicao.Contato;
    var Stakeholder = requisicao.Stakeholder;
    var Participantes = requisicao.Participantes;
    var AreasEnvolvidas = requisicao.AreasEnvolvidas;
    var Data = requisicao.Data;
    var IncidentePotencial = requisicao.IncidentePotencial;
    var PossibilidadeDesdobramento = requisicao.PossibilidadeDesdobramento;
    var DemandaTratamento = requisicao.DemandaTratamento;
    var Inicio = requisicao.Inicio;
    var Previsao = requisicao.Previsao;
    var Prazo = requisicao.Prazo;
    var Conclusao = requisicao.Conclusao;
    var obs = requisicao.obs;

    let foto = '';
    let doc = '';
 

    //VERIFICAÇÃO DE REGISTRO FOTOGRAFICO
    if(req.files['avatar'].length == 0){
        foto='';
     }else{
        
         foto=caminhoFoto+req.files['avatar'][0].filename;
     }
     
    if(req.files['document'].length == 0){
        doc='';
     }else{
        
         doc=caminhoFoto+req.files['document'][0].filename;
     }
     
    

    let retorno = JSON.stringify(requisicao);
   // console.log(retorno.length);

    //console.log(Conclusao);

    //VERIFICA SE ESTÁ VAZIO
    if(retorno.length === 2){
        //console.log("está vazio!");
        res.send("está vazio!");
    }else{
      
        //FAZ CONEXÃO COM O BANCO 
        await connection.getConnection(async function(err, connectionx){
            if(err){
                response.status(503).json({erro:'conexao'});
            }else{
                
        //FAZ A INSERÇÃO DOS DADOS NO BANCO 
        await connectionx.query("INSERT INTO engajamentos(Categoria, Tarefas, Estado, Municipio, Criticidade, GT, Restrito, Foto, Doc, Tema," +
       "Descricao, Contato, Stakeholder, Participantes, AreasEnvolvidas, Data, IncidentePotencial, PossibilidadeDesdobramento, DemandaTratamento, " + 
       "Inicio, Previsao, Prazo, Conclusao, obs)" + "VALUES"+ "(" +
       "'"+ Categoria +"'"+","+
       "'"+ Tarefas +"'"+","+         
        "'"+ Estado +"'"+","+
        "'"+ Municipio +"'"+","+
        "'"+ Criticidade +"'"+","+
        "'"+ GT +"'"+","+
        "'"+ Restrito +"'"+","+
        "'"+ foto +"'"+","+
        "'"+ doc +"'"+","+
        "'"+ Tema +"'"+","+
        "'"+ Descricao +"'"+","+
        "'"+ Contato +"'"+","+
        "'"+ Stakeholder +"'"+","+
        "'"+ Participantes +"'"+","+
        "'"+ AreasEnvolvidas +"'"+","+
        "'"+ Data +"'"+","+
        "'"+ IncidentePotencial +"'"+","+
        "'"+ PossibilidadeDesdobramento +"'"+","+
        "'"+ DemandaTratamento +"'"+","+
        "'"+ Inicio +"'"+","+
        "'"+ Previsao +"'"+","+
        "'"+ Prazo +"'"+","+
        "'"+ Conclusao +"'"+","+
        "'"+ obs +"'"
        +")", function(err,results,fields){
            if(err){
                        response.status(503).json({erro:'query'});
                    }else{
                        res.send(results);
                        connectionx.release();

                    }
        })
    }
    })

    } 

});```


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source