// Financial Plugin Repositories // All repositories extend BaseFinancialRepository for consistent database abstraction const ChartOfAccountsRepository = require('./ChartOfAccountsRepository'); const UnitBalanceRepository = require('./UnitBalanceRepository'); const InvoiceRepository = require('./InvoiceRepository'); const PaymentRepository = require('./PaymentRepository'); const TransactionRepository = require('./TransactionRepository'); const TransactionLineRepository = require('./TransactionLineRepository'); const GeneralLedgerRepository = require('./GeneralLedgerRepository'); const BudgetRepository = require('./BudgetRepository'); const BudgetItemRepository = require('./BudgetItemRepository'); const ExpenseRepository = require('./ExpenseRepository'); const RevenueRepository = require('./RevenueRepository'); const BalanceHistoryRepository = require('./BalanceHistoryRepository'); const UnitMonthlyFeeRepository = require('./UnitMonthlyFeeRepository'); const ReportRepository = require('./ReportRepository'); const TaxSettingsRepository = require('./TaxSettingsRepository'); const AnalyticsRepository = require('./AnalyticsRepository'); const BankAccountRepository = require('./BankAccountRepository'); const BankStatementRepository = require('./BankStatementRepository'); const BankStatementTransactionRepository = require('./BankStatementTransactionRepository'); const BankReconciliationRepository = require('./BankReconciliationRepository'); const SpecialAssessmentRepository = require('./SpecialAssessmentRepository'); // Create singleton instances const chartOfAccountsRepository = new ChartOfAccountsRepository(); const unitBalanceRepository = new UnitBalanceRepository(); const invoiceRepository = new InvoiceRepository(); const paymentRepository = new PaymentRepository(); const transactionRepository = new TransactionRepository(); const transactionLineRepository = new TransactionLineRepository(); const generalLedgerRepository = new GeneralLedgerRepository(); const budgetRepository = new BudgetRepository(); const budgetItemRepository = new BudgetItemRepository(); const expenseRepository = new ExpenseRepository(); const revenueRepository = new RevenueRepository(); const balanceHistoryRepository = new BalanceHistoryRepository(); const unitMonthlyFeeRepository = new UnitMonthlyFeeRepository(); const reportRepository = new ReportRepository(); const taxSettingsRepository = new TaxSettingsRepository(); const analyticsRepository = new AnalyticsRepository(); const bankAccountRepository = new BankAccountRepository(); const bankStatementRepository = new BankStatementRepository(); const bankStatementTransactionRepository = new BankStatementTransactionRepository(); const bankReconciliationRepository = new BankReconciliationRepository(); const specialAssessmentRepository = new SpecialAssessmentRepository(); module.exports = { // Repository Classes ChartOfAccountsRepository, UnitBalanceRepository, InvoiceRepository, PaymentRepository, TransactionRepository, TransactionLineRepository, GeneralLedgerRepository, BudgetRepository, BudgetItemRepository, ExpenseRepository, RevenueRepository, BalanceHistoryRepository, UnitMonthlyFeeRepository, ReportRepository, TaxSettingsRepository, AnalyticsRepository, BankAccountRepository, BankStatementRepository, BankStatementTransactionRepository, BankReconciliationRepository, SpecialAssessmentRepository, // Singleton Instances chartOfAccountsRepository, unitBalanceRepository, invoiceRepository, paymentRepository, transactionRepository, transactionLineRepository, generalLedgerRepository, budgetRepository, budgetItemRepository, expenseRepository, revenueRepository, balanceHistoryRepository, unitMonthlyFeeRepository, reportRepository, taxSettingsRepository, analyticsRepository, bankAccountRepository, bankStatementRepository, bankStatementTransactionRepository, bankReconciliationRepository, specialAssessmentRepository };