40 lines
1.4 KiB
TypeScript
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
|