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