plugin-financials/repositories/index.js
2025-11-03 13:51:33 +02:00

97 lines
3.9 KiB
JavaScript

// 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
};