Spaces:
Sleeping
Sleeping
Commit ·
f929a0a
1
Parent(s): 5875736
Add PR persistence feature
Browse files
src/app/api/messaging/mentees/route.ts
CHANGED
|
@@ -29,7 +29,15 @@ export async function GET(request: NextRequest) {
|
|
| 29 |
)
|
| 30 |
);
|
| 31 |
|
| 32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
} catch (error) {
|
| 34 |
console.error("GET /api/messaging/mentees error:", error);
|
| 35 |
return NextResponse.json({ error: "Internal server error" }, { status: 500 });
|
|
|
|
| 29 |
)
|
| 30 |
);
|
| 31 |
|
| 32 |
+
// Transform to match frontend expectations
|
| 33 |
+
const formattedMentees = mentees.map(m => ({
|
| 34 |
+
user_id: m.menteeId,
|
| 35 |
+
username: m.menteeName,
|
| 36 |
+
avatar_url: m.menteeAvatar,
|
| 37 |
+
since: m.startedAt,
|
| 38 |
+
}));
|
| 39 |
+
|
| 40 |
+
return NextResponse.json({ mentees: formattedMentees });
|
| 41 |
} catch (error) {
|
| 42 |
console.error("GET /api/messaging/mentees error:", error);
|
| 43 |
return NextResponse.json({ error: "Internal server error" }, { status: 500 });
|
src/app/api/messaging/mentorship/requests/route.ts
CHANGED
|
@@ -30,9 +30,20 @@ export async function GET(request: NextRequest) {
|
|
| 30 |
)
|
| 31 |
);
|
| 32 |
|
| 33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
} catch (error) {
|
| 35 |
console.error("GET /api/messaging/mentorship/requests error:", error);
|
| 36 |
return NextResponse.json({ error: "Internal server error" }, { status: 500 });
|
| 37 |
}
|
| 38 |
}
|
|
|
|
|
|
| 30 |
)
|
| 31 |
);
|
| 32 |
|
| 33 |
+
// Transform to match frontend expectations (snake_case)
|
| 34 |
+
const formattedRequests = requests.map(r => ({
|
| 35 |
+
id: r.id,
|
| 36 |
+
mentee_id: r.menteeId,
|
| 37 |
+
mentee_username: r.menteeName,
|
| 38 |
+
mentee_avatar: r.menteeAvatar,
|
| 39 |
+
message: r.message,
|
| 40 |
+
created_at: r.createdAt,
|
| 41 |
+
}));
|
| 42 |
+
|
| 43 |
+
return NextResponse.json({ requests: formattedRequests });
|
| 44 |
} catch (error) {
|
| 45 |
console.error("GET /api/messaging/mentorship/requests error:", error);
|
| 46 |
return NextResponse.json({ error: "Internal server error" }, { status: 500 });
|
| 47 |
}
|
| 48 |
}
|
| 49 |
+
|
src/app/api/rag/chat/route.ts
CHANGED
|
@@ -26,12 +26,27 @@ export async function POST(request: NextRequest) {
|
|
| 26 |
const result = await ragChat(question, repo_name, top_k || 5);
|
| 27 |
|
| 28 |
if (!result.success) {
|
| 29 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 30 |
}
|
| 31 |
|
| 32 |
return NextResponse.json(result.data);
|
| 33 |
} catch (error) {
|
| 34 |
console.error("RAG chat error:", error);
|
| 35 |
-
return NextResponse.json({
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 36 |
}
|
| 37 |
}
|
|
|
|
|
|
| 26 |
const result = await ragChat(question, repo_name, top_k || 5);
|
| 27 |
|
| 28 |
if (!result.success) {
|
| 29 |
+
// Provide a graceful fallback response when AI service is unavailable
|
| 30 |
+
console.error("RAG service unavailable:", result.error);
|
| 31 |
+
return NextResponse.json({
|
| 32 |
+
answer: "I'm sorry, but the AI service is temporarily unavailable. Please try again in a few moments. If this persists, the service might be waking up from sleep mode.",
|
| 33 |
+
sources: [],
|
| 34 |
+
related_issues: [],
|
| 35 |
+
error: result.error,
|
| 36 |
+
service_unavailable: true
|
| 37 |
+
}, { status: 200 }); // Return 200 with fallback to prevent frontend crash
|
| 38 |
}
|
| 39 |
|
| 40 |
return NextResponse.json(result.data);
|
| 41 |
} catch (error) {
|
| 42 |
console.error("RAG chat error:", error);
|
| 43 |
+
return NextResponse.json({
|
| 44 |
+
answer: "I encountered an error processing your request. Please try again.",
|
| 45 |
+
sources: [],
|
| 46 |
+
related_issues: [],
|
| 47 |
+
error: "Internal server error",
|
| 48 |
+
service_unavailable: true
|
| 49 |
+
}, { status: 200 }); // Graceful degradation
|
| 50 |
}
|
| 51 |
}
|
| 52 |
+
|