1
resposta

[Dúvida] API React - chamar "função"

Ola,

Estou implementando uma api e algumas rotas e consultas iniciais já estão funcionando ok, mas individualmente.. Explico

Uma chamada, load Modelos, outra, numero de serie, outra responsavel, outra secoes, e outra topicos das seçoes.

quero fazer uma rota que montaria UM GRANDE JSON (isso no backend), utilizando cada um dos codigos prontos.... Isso tá me dando muita dor de cabeça..

Segue o codigo OK:

Arquivo ChecklistController.js

const ChecklistService = require('../services/InitChecklistService');

module.exports = {

loadModelosinit: async function(req, res) {
    let json = { error: '', data: [] };

    let modelos = await ChecklistService.loadModelosinit();

    for (let i in modelos) {
        json.data.push({
            id: modelos[i].id,
            nome: modelos[i].nome,
        });
    }

    res.json(json);
},

loadSerialinit: async (req, res) => {
    let json = { error: '', data: [] };

    let series = await ChecklistService.loadSerialinit();

    for (let i in series) {
        json.data.push({
            id: series[i].id,
            sn: series[i].sn,
            free: series[i].free === 0 ? false : true,
        });
    }

    res.json(json);
},

loadResponsavelinit: async (req, res) => {
    let json = { error: '', data: [] };

    let responsavel = await ChecklistService.loadResponsavelinit();

    for (let i in responsavel) {
        json.data.push({
            id: responsavel[i].id,
            nome: responsavel[i].nome,
            ativo: responsavel[i].ativo === 0 ? false : true,
        });
    }

    res.json(json);
},

loadSecaoinit: async (req, res) => {
    let json = { error: '', data: [] };

    let secao = await ChecklistService.loadSecaoinit();

    for (let i in secao) {
        json.data.push({
            id: secao[i].id,
            titulo: secao[i].titulo,
            cor01: secao[i].cor01,
            cor02: secao[i].cor02,
            cor03: secao[i].cor03,
        });
    }

    res.json(json);
},

loadTopicosinit: async (req, res) => {
    let json = { error: '', data: [] };

    let topicos = await ChecklistService.loadTopicosinit();

    for (let i in topicos) {
        json.data.push({
            id: topicos[i].id,
            chk: false,
            item: topicos[i].item,
            obs: '',
        });
    }

    res.json(json);
},

}

ARQUIVO: MontarJson.js

const ChecklistController = require('./InitChecklistController');

module.exports = {

loadJSONDataNew: (req, res) => {
    let json = {error: '', data: []};

   let modelo = ChecklistController.loadModelosinit;

    console.log(modelo);

    json.data.push(modelo);


},

}

podem auxiliar?

1 resposta

Olá, Daniel! Tudo bem com você? Espero que sim!

Peço desculpa pela demora em responder o seu tópico.

Você mencionou que já possui rotas funcionando individualmente, mas está com problemas para juntar todas as informações em um único JSON.

Uma possível solução para o seu problema é chamar as funções das rotas diretamente no arquivo "MontarJson.js". No trecho de código que você compartilhou, você está apenas atribuindo a função "loadModelosinit" à variável "modelo", mas não está realmente chamando a função.

Espero que essa dica lhe ajude! Se tiver mais alguma dúvida, estou à disposição.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.