Skip to content
Snippets Groups Projects
api.js 1.63 KiB
Newer Older
const express = require('express');
const libs = `${process.cwd()}/libs`;

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

Vytor Calixto's avatar
Vytor Calixto committed
const log = require(`${libs}/log`)(module);

Fernando Erd's avatar
Fernando Erd committed
const classes = require('./class');

const cache = require('apicache').options({ debug: config.debug, statusCodes: {include: [200]} }).middleware;
const enrollment = require('./enrollment');
const state = require('./state');
const region = require('./region');
Vytor Calixto's avatar
Vytor Calixto committed
const school = require('./school');

const spatial = require('./spatial');
const simulation = require('./simulation');

const user = require('./user');
const classroom = require('./classroom');

Vytor Calixto's avatar
Vytor Calixto committed
const teacher = require('./teacher');

Vytor Calixto's avatar
Vytor Calixto committed
const workerpool = require('workerpool');

const pool = workerpool.pool();

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

api.get('/add', (req, res) => {
    pool.exec(add, [3,4])
        .then((result) => {
            log.debug('result');
            log.debug(result);
            pool.clear();
        });
    res.json({msg: 'Está sendo feito'});
});

api.get('/', (req, res) => {
    res.json({ msg: 'SimCAQ API is running' });
Vytor Calixto's avatar
Vytor Calixto committed

Lucas Gabriel Lima's avatar
Lucas Gabriel Lima committed
api.use('/user', user);
api.use('/simulation', simulation);
Fernando Erd's avatar
Fernando Erd committed
api.use('/class', cache('15 day'), classes);
api.use('/enrollment', cache('1 day'), enrollment);
Lucas Gabriel Lima's avatar
Lucas Gabriel Lima committed
api.use('/state', cache('15 day'), state);
api.use('/region', cache('15 day'), region);
api.use('/city', cache('15 day'), city);
api.use('/school', cache('15 day'), school);
api.use('/spatial', cache('1 day'), spatial);
api.use('/classroom', cache('15 day'), classroom);
Vytor Calixto's avatar
Vytor Calixto committed
api.use('/teacher', cache('1 day'), teacher);
Vytor Calixto's avatar
Vytor Calixto committed