/**
 * One-shot ledger backfill + summary smoke check.
 * Usage: npx tsx --env-file=.env scripts/backfill-ledger.ts
 */
import { connectDb, disconnectDb } from "../src/db/mongoose";
import { backfillLedgerEntries, getReconciliationSummary } from "../src/services/ledger";

async function main() {
  await connectDb();
  const posted = await backfillLedgerEntries();
  const summary = await getReconciliationSummary();
  console.log("backfill:", posted);
  console.log("summary:", {
    revenueLyd: summary.revenueLyd,
    platformFeeLyd: summary.platformFeeLyd,
    pendingPayoutsLyd: summary.pendingPayoutsLyd,
    refundsLyd: summary.refundsLyd,
    netBalanceLyd: summary.netBalanceLyd,
    platformProfitLyd: summary.platformProfitLyd,
  });
  await disconnectDb();
}

main().catch(async (err) => {
  console.error(err);
  try {
    await disconnectDb();
  } catch {
    /* ignore */
  }
  process.exit(1);
});
