feat(dashboard): cache snapshot data and add credits activity analytics

This commit is contained in:
Matthias
2026-04-08 12:43:58 +02:00
parent 96d9c895ad
commit 22ec672f8e
15 changed files with 996 additions and 40 deletions

View File

@@ -3,6 +3,7 @@ import { v, ConvexError } from "convex/values";
import { optionalAuth, requireAuth } from "./helpers";
import { internal } from "./_generated/api";
import { MONTHLY_TIER_CREDITS, normalizeBillingTier } from "../lib/tier-credits";
import { prioritizeRecentCreditTransactions } from "../lib/credits-activity";
// ============================================================================
// Tier-Konfiguration
@@ -239,12 +240,15 @@ export const getRecentTransactions = query({
return [];
}
const limit = args.limit ?? 10;
const readLimit = Math.min(Math.max(limit * 4, 20), 100);
return await ctx.db
const transactions = await ctx.db
.query("creditTransactions")
.withIndex("by_user", (q) => q.eq("userId", user.userId))
.order("desc")
.take(limit);
.take(readLimit);
return prioritizeRecentCreditTransactions(transactions, limit);
},
});