Skip to content
Snippets Groups Projects
region.js 1.91 KiB
const express = require('express');

const regionApp = express.Router();

const libs = `${process.cwd()}/libs`;

const log = require(`${libs}/log`)(module);

const squel = require('squel');

const query = require(`${libs}/middlewares/query`);

const response = require(`${libs}/middlewares/response`);

const ReqQueryFields = require(`${libs}/middlewares/reqQueryFields`);

let rqf = new ReqQueryFields();

rqf.addField({
    name: 'filter',
    field: false,
    where: true
}).addValue({
    name: 'id',
    table: 'regiao',
    tableField: 'id',
    where: {
        relation: '=',
        type: 'integer',
        field: 'id',
        table: 'regiao'
    }
}).addField({
    name: 'search',
    field: false,
    where: true
}).addValueToField({
    name: 'name',
    table: 'regiao',
    tableField: 'nome',
    where: {
        relation: 'LIKE',
        type: 'string',
        field: 'nome',
        table: 'regiao'
    }
}, 'search');

regionApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
    req.sql.from('regiao')
        .field('id')
        .field('nome', 'name');
    next();
}, query, response('region'));

const workerpool = require('workerpool');
const pool = workerpool.pool();
const execQuery = require(`${libs}/db/query_exec`);

function add(a, b) {
    return a+b;
}

function download(query) {
    console.log(query);
    // return add(3,4);
    // return execQuery(query.text, query.values);
    return new Promise(function (resolve, reject) {
        setTimeout(function () {
            resolve(3 + 4);
        }, 1000);
    });
}

regionApp.get('/download', (req, res) => {
    req.sql.from('regiao').field('*');
    let params = req.sql.toParam();
    pool.exec(download, [params])
        .then((result) => {
            console.log('PEPO');
            log.debug('RESULT');
            log.debug(result);
            pool.clear();
        });
    res.json({msg: 'Wait for it...'});
});

module.exports = regionApp;