Skip to content

Commit 6a27ef9

Browse files
feat: Enhance LeetCode API to fetch user details, recent submissions, language stats, and contest rankings concurrently; add 'sonner' package
1 parent afaf3c3 commit 6a27ef9

File tree

3 files changed

+22
-2
lines changed

3 files changed

+22
-2
lines changed

app/api/leetcode/userDetails/route.ts

+10-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import prisma from "@/lib/database/prismaClient";
2-
import { getLeetCodeUserDetails } from "@/utils/leetcode/leetcodeContollers";
2+
import { getLeetCodeUserDetails, getRecentSubmissions, getLanguageStats, getUserContestRanking } from "@/utils/leetcode/leetcodeContollers";
33
import { createClient } from "@/utils/supabase/server";
44
import { NextResponse } from "next/server";
55

@@ -24,7 +24,15 @@ export async function GET() {
2424

2525
const LeetCodeUsername = user.leetcodeUsername;
2626

27-
const result = await getLeetCodeUserDetails(LeetCodeUsername)
27+
// Fetch all data concurrently
28+
const [userDetails, recentSubmissions, languageStats, userContestRanking] = await Promise.all([
29+
getLeetCodeUserDetails(LeetCodeUsername),
30+
getRecentSubmissions(LeetCodeUsername),
31+
getLanguageStats(LeetCodeUsername),
32+
getUserContestRanking(LeetCodeUsername)
33+
]);
34+
35+
const result = { userDetails, recentSubmissions, languageStats, userContestRanking };
2836
return NextResponse.json(result);
2937
} catch (error: any) {
3038
return NextResponse.json({ error: error.message }, { status: 500 });

package-lock.json

+11
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
"rehype-highlight": "^7.0.1",
5151
"rehype-raw": "^7.0.0",
5252
"remark-gfm": "^4.0.0",
53+
"sonner": "^1.7.4",
5354
"tailwind-merge": "^2.6.0",
5455
"tailwindcss-animate": "^1.0.7",
5556
"zod": "^3.24.1",

0 commit comments

Comments
 (0)