const express = require('express');

const api = express();

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

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

const cache = require('apicache').options({ debug: config.get('debug') }).middleware;

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

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

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

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

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

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

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

// mount API routes
api.use('/api/v1/enrollment', cache('1 day'), enrollment);
api.use('/api/v1/state', cache('15 day'), state);
api.use('/api/v1/region', cache('15 day'), region);
api.use('/api/v1/city', cache('15 day'), city);
api.use('/api/v1/school', cache('15 day'), school);
api.use('/api/v1/user', user);

module.exports = api;