diff --git a/index.ts b/index.ts index 65ca21f..fb92c45 100644 --- a/index.ts +++ b/index.ts @@ -1,31 +1,12 @@ import express from 'express'; import * as actual from './actual'; import { authMiddleware } from './auth'; +import { router } from './routes'; const app = express(); app.use(authMiddleware); - -app.get('/budget/:month', async (req, res) => { - const budget = await actual.getBudgetAtMonth(req.params.month); - res.status(200).json(budget); -}); - -app.get('/accounts', async (_, res) => { - const accounts = await actual.getAccounts(); - res.status(200).json(accounts); -}); - -app.get('/accounts/:accountid/transactions', async (req, res) => { - const transactions = await actual.getTransactions(req.params.accountid); - res.status(200).json(transactions); -}); - -app.get('/transactions', async (req, res) => { - const offbudget = req.query['offbudget'] === 'true'; - const transactions = await actual.getAllTransactions(offbudget); - res.status(200).json(transactions); -}); +app.use('/', router); const errorHandler: express.ErrorRequestHandler = (err, req, res, next) => { console.error(err); diff --git a/routes.ts b/routes.ts new file mode 100644 index 0000000..2122afc --- /dev/null +++ b/routes.ts @@ -0,0 +1,26 @@ +import * as actual from './actual'; +import express from 'express'; +const router = express.Router(); + +router.get('/budget/:month', async (req, res) => { + const budget = await actual.getBudgetAtMonth(req.params.month); + res.status(200).json(budget); +}); + +router.get('/accounts', async (_, res) => { + const accounts = await actual.getAccounts(); + res.status(200).json(accounts); +}); + +router.get('/accounts/:accountid/transactions', async (req, res) => { + const transactions = await actual.getTransactions(req.params.accountid); + res.status(200).json(transactions); +}); + +router.get('/transactions', async (req, res) => { + const offbudget = req.query['offbudget'] === 'true'; + const transactions = await actual.getAllTransactions(offbudget); + res.status(200).json(transactions); +}); + +export { router };