// src/services/db/index.db.ts
import { UserRepository } from './user.db';
import { withTransaction } from './connection.db';
import { FlyerRepository } from './flyer.db';
import { AddressRepository } from './address.db';
import { ShoppingRepository } from './shopping.db';
import { PersonalizationRepository } from './personalization.db';
import { RecipeRepository } from './recipe.db';
import { NotificationRepository } from './notification.db';
import { BudgetRepository } from './budget.db';
import { GamificationRepository } from './gamification.db';
import { AdminRepository } from './admin.db';
import { reactionRepo } from './reaction.db';
import { conversionRepo } from './conversion.db';
import { UpcRepository } from './upc.db';
import { ExpiryRepository } from './expiry.db';
import { ReceiptRepository } from './receipt.db';

const userRepo = new UserRepository();
const flyerRepo = new FlyerRepository();
const addressRepo = new AddressRepository();
const shoppingRepo = new ShoppingRepository();
const personalizationRepo = new PersonalizationRepository();
const recipeRepo = new RecipeRepository();
const notificationRepo = new NotificationRepository();
const budgetRepo = new BudgetRepository();
const gamificationRepo = new GamificationRepository();
const adminRepo = new AdminRepository();
const upcRepo = new UpcRepository();
const expiryRepo = new ExpiryRepository();
const receiptRepo = new ReceiptRepository();

export {
  userRepo,
  flyerRepo,
  addressRepo,
  shoppingRepo,
  personalizationRepo,
  recipeRepo,
  notificationRepo,
  budgetRepo,
  gamificationRepo,
  adminRepo,
  reactionRepo,
  conversionRepo,
  upcRepo,
  expiryRepo,
  receiptRepo,
  withTransaction,
};
