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

const api = express();

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

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

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');

const city = require('./city');

const school = require('./school');

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

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

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

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

const teacher = require('./teacher');

const idhmr = require('./idhmr');

const pibpercapita = require('./pibpercapita')

const population = require('./population')

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

// mount API routes
api.use('/user', user);
api.use('/simulation', simulation);
api.use('/class', cache('15 day'), classes);
api.use('/enrollment', cache('1 day'), enrollment);
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);
api.use('/teacher', cache('1 day'), teacher);
api.use('/idhmr', cache('1 day'), idhmr);
api.use('/pibpercapita', cache('1 day'), pibpercapita);
api.use('/population', cache('1 day'), population);

module.exports = api;