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 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 const apiRoutes: FastifyPluginCallbackTypebox = (fastify, _, done) => { fastify.register(accounts, { prefix: '/accounts' }) 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