/*
Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre
Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR

This file is part of simcaq-node.

simcaq-node is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

simcaq-node is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with simcaq-node.  If not, see <https://www.gnu.org/licenses/>.
*/

const express = require('express');

const api = express();

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

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


//  SMPPIR Routes

const evader = require(`${libs}/routes/SMPPIR/evader`);

const graduate = require(`${libs}/routes/SMPPIR/graduate`);

const prouni = require(`${libs}/routes/SMPPIR/prouni`);

const fies = require(`${libs}/routes/SMPPIR/fies`);

const pnad = require(`${libs}/routes/SMPPIR/pnad`);


const social_support = require(`${libs}/routes/SMPPIR/social_support`);

const admission = require(`${libs}/routes/SMPPIR/admission`);

const student_loans = require(`${libs}/routes/SMPPIR/student_loans`);

const extracurricular_activities = require(`${libs}/routes/SMPPIR/extracurricular_activities`);

const institution = require(`${libs}/routes/SMPPIR/institution`);

const institutionPROUNI = require(`${libs}/routes/SMPPIR/institutionPROUNI`);

const institutionFIES = require(`${libs}/routes/SMPPIR/institutionFIES`);

const institutionPrivate = require(`${libs}/routes/SMPPIR/institutionPrivate`);

const coursePROUNI = require(`${libs}/routes/SMPPIR/coursePROUNI`);

const courseFIES = require(`${libs}/routes/SMPPIR/courseFIES`);

const course = require(`${libs}/routes/SMPPIR/course`);

const ibge_census = require(`${libs}/routes/SMPPIR/ibge_census`);

const ibge_code = require(`${libs}/routes/SMPPIR/ibge_code`);

const vacancies = require(`${libs}/routes/SMPPIR/vacancy`);

const eixo_2 = require(`${libs}/routes/SMPPIR/eixo_2`)

const eixo_3 = require(`${libs}/routes/SMPPIR/eixo_3`)

const eixo_4 = require(`${libs}/routes/SMPPIR/eixo_4`)

const eixo_2_count = require(`${libs}/routes/SMPPIR/eixo_2_count`)

const eixo_3_count = require(`${libs}/routes/SMPPIR/eixo_3_count`)

const eixo_4_count = require(`${libs}/routes/SMPPIR/eixo_4_count`)

const african_rights = require(`${libs}/routes/SMPPIR/african_rights`)

const african_culture = require(`${libs}/routes/SMPPIR/african_culture`)

const african_sustentability = require(`${libs}/routes/SMPPIR/african_sustentability`)

const quilombola_metrics = require(`${libs}/routes/SMPPIR/quilombola_metrics`)

const ciganos_rights = require(`${libs}/routes/SMPPIR/ciganos_rights`)

const ciganos_culture = require(`${libs}/routes/SMPPIR/ciganos_culture`)

const ciganos_sustentability = require(`${libs}/routes/SMPPIR/ciganos_sustentability`)

const youth_jobs = require(`${libs}/routes/SMPPIR/youth_jobs`)

const youth_education = require(`${libs}/routes/SMPPIR/youth_education`)

const sim = require(`${libs}/routes/SMPPIR/sim`)

const education = require(`${libs}/routes/SMPPIR/education`)

const taxa_homicidios = require(`${libs}/routes/SMPPIR/taxa_homicidios`)

const traditional_families = require(`${libs}/routes/SMPPIR/traditional_families`)

const traditional_families_people = require(`${libs}/routes/SMPPIR/traditional_families_people`)

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

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

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

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

const indigenas_infrastructure = require(`${libs}/routes/SMPPIR/indigenas_infrastructure`);

const indigenas_development = require(`${libs}/routes/SMPPIR/indigenas_development`);

const indigenas_rights =  require(`${libs}/routes/SMPPIR/indigenas_rights`);

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

// mount API routes
//  SMPPIR Routes

api.use('/evader', evader);
api.use('/graduate', graduate);
api.use('/prouni', prouni);
api.use('/fies', fies);
api.use('/pnad', pnad);
api.use('/social_support', social_support);
api.use('/student_loans', student_loans);
api.use('/admission', admission);
api.use('/extracurricular_activities', extracurricular_activities);
api.use('/institution', institution);
api.use('/institutionprouni', institutionPROUNI);
api.use('/institutionstudent_loans', institutionPrivate);
api.use('/institutionfies', institutionFIES);
api.use('/course', course);
api.use('/courseprouni', coursePROUNI);
api.use('/coursefies', courseFIES);
api.use('/ibge_census', ibge_census);
api.use('/ibge_code', ibge_code);
api.use('/vacancy', vacancies);
api.use('/eixo_2', eixo_2);
api.use('/eixo_3', eixo_3);
api.use('/eixo_4', eixo_4);
api.use('/eixo_2_count', eixo_2_count);
api.use('/eixo_3_count', eixo_3_count);
api.use('/eixo_4_count', eixo_4_count);
api.use('/african_rights', african_rights);
api.use('/african_culture', african_culture);
api.use('/african_sustentability', african_sustentability);
api.use(`/quilombola_metrics`,quilombola_metrics)
api.use('/ciganos_rights', ciganos_rights);
api.use('/ciganos_culture', ciganos_culture);
api.use('/ciganos_sustentability', ciganos_sustentability);
api.use('/youth_jobs', youth_jobs)
api.use('/youth_education', youth_education)
api.use('/sim', sim)
api.use('/education', education)
api.use('/taxa_homicidios', taxa_homicidios)
api.use('/traditional_families', traditional_families)
api.use('/traditional_families_people', traditional_families_people)
api.use('/indigenas_infrastructure', indigenas_infrastructure)
api.use('/indigenas_development', indigenas_development)
api.use('/indigenas_rights', indigenas_rights)  

module.exports = api;