@economic-mcp/server-economic
Version:
Model Context Protocol server for e-conomic API
83 lines (76 loc) • 2.43 kB
JavaScript
const express = require('express');
const axios = require('axios');
const { economicConfig } = require('../config');
const router = express.Router();
// GET /journals
router.get('/', async (req, res) => {
try {
const response = await axios({
method: 'GET',
url: `${economicConfig.baseUrl}/journals`,
headers: economicConfig.headers
});
res.json(response.data);
} catch (error) {
console.error('Error fetching journals:', error.message);
res.status(error.response?.status || 500).json({
error: error.message,
details: error.response?.data
});
}
});
// GET /journals/:journalNumber
router.get('/:journalNumber', async (req, res) => {
try {
const { journalNumber } = req.params;
const response = await axios({
method: 'GET',
url: `${economicConfig.baseUrl}/journals/${journalNumber}`,
headers: economicConfig.headers
});
res.json(response.data);
} catch (error) {
console.error(`Error fetching journal ${req.params.journalNumber}:`, error.message);
res.status(error.response?.status || 500).json({
error: error.message,
details: error.response?.data
});
}
});
// GET /journals/:journalNumber/entries
router.get('/:journalNumber/entries', async (req, res) => {
try {
const { journalNumber } = req.params;
const response = await axios({
method: 'GET',
url: `${economicConfig.baseUrl}/journals/${journalNumber}/entries`,
headers: economicConfig.headers
});
res.json(response.data);
} catch (error) {
console.error(`Error fetching entries for journal ${req.params.journalNumber}:`, error.message);
res.status(error.response?.status || 500).json({
error: error.message,
details: error.response?.data
});
}
});
// GET /journals/:journalNumber/vouchers
router.get('/:journalNumber/vouchers', async (req, res) => {
try {
const { journalNumber } = req.params;
const response = await axios({
method: 'GET',
url: `${economicConfig.baseUrl}/journals/${journalNumber}/vouchers`,
headers: economicConfig.headers
});
res.json(response.data);
} catch (error) {
console.error(`Error fetching vouchers for journal ${req.params.journalNumber}:`, error.message);
res.status(error.response?.status || 500).json({
error: error.message,
details: error.response?.data
});
}
});
module.exports = router;