mirror of
https://github.com/kjanat/livedash-node.git
synced 2026-01-16 12:32:10 +01:00
feat: complete tRPC integration and fix platform UI issues
- Implement comprehensive tRPC setup with type-safe API - Create tRPC routers for dashboard, admin, and auth endpoints - Migrate frontend components to use tRPC client - Fix platform dashboard Settings button functionality - Add platform settings page with profile and security management - Create OpenAI API mocking infrastructure for cost-safe testing - Update tests to work with new tRPC architecture - Sync database schema to fix AIBatchRequest table errors
This commit is contained in:
@ -15,9 +15,12 @@ const loginRateLimiter = new InMemoryRateLimiter({
|
||||
*/
|
||||
export function authRateLimitMiddleware(request: NextRequest) {
|
||||
const { pathname } = request.nextUrl;
|
||||
|
||||
|
||||
// Only apply to NextAuth signin endpoint
|
||||
if (pathname.startsWith("/api/auth/signin") || pathname.startsWith("/api/auth/callback/credentials")) {
|
||||
if (
|
||||
pathname.startsWith("/api/auth/signin") ||
|
||||
pathname.startsWith("/api/auth/callback/credentials")
|
||||
) {
|
||||
const ip = extractClientIP(request);
|
||||
const rateLimitResult = loginRateLimiter.checkRateLimit(ip);
|
||||
|
||||
@ -27,10 +30,12 @@ export function authRateLimitMiddleware(request: NextRequest) {
|
||||
success: false,
|
||||
error: "Too many login attempts. Please try again later.",
|
||||
},
|
||||
{
|
||||
{
|
||||
status: 429,
|
||||
headers: {
|
||||
"Retry-After": String(Math.ceil((rateLimitResult.resetTime! - Date.now()) / 1000)),
|
||||
"Retry-After": String(
|
||||
Math.ceil((rateLimitResult.resetTime! - Date.now()) / 1000)
|
||||
),
|
||||
},
|
||||
}
|
||||
);
|
||||
@ -38,4 +43,4 @@ export function authRateLimitMiddleware(request: NextRequest) {
|
||||
}
|
||||
|
||||
return NextResponse.next();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user