brf/server/routes/api.ts
2025-12-04 21:30:59 +01:00

40 lines
1.4 KiB
TypeScript

import _ from 'lodash'
import { Type, type Static, type FastifyPluginCallbackTypebox } from '@fastify/type-provider-typebox'
import knex from '../lib/knex.ts'
import accounts from './api/accounts.ts'
import balances from './api/balances.ts'
import entries from './api/entries.ts'
import financialYears from './api/financial_years.ts'
import invoices from './api/invoices.ts'
import journals from './api/journals.ts'
import objects from './api/objects.ts'
import results from './api/results.ts'
import suppliers from './api/suppliers.ts'
import transactions from './api/transactions.ts'
export const FinancialYear = Type.Object({
year: Type.Number(),
startDate: Type.String(),
endDate: Type.String(),
})
export type FinancialYearType = Static<typeof FinancialYear>
const apiRoutes: FastifyPluginCallbackTypebox = (fastify, _, done) => {
fastify.register(accounts, { prefix: '/accounts' })
fastify.register(balances, { prefix: '/balances' })
fastify.register(entries, { prefix: '/entries' })
fastify.register(financialYears, { prefix: '/financial-years' })
fastify.register(invoices, { prefix: '/invoices' })
fastify.register(journals, { prefix: '/journals' })
fastify.register(objects, { prefix: '/objects' })
fastify.register(results, { prefix: '/results' })
fastify.register(suppliers, { prefix: '/suppliers' })
fastify.register(transactions, { prefix: '/transactions' })
done()
}
export default apiRoutes