KrishnaCosmic commited on
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
- return NextResponse.json(mentees);
 
 
 
 
 
 
 
 
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
- return NextResponse.json(requests);
 
 
 
 
 
 
 
 
 
 
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
- return NextResponse.json({ error: result.error }, { status: 502 });
 
 
 
 
 
 
 
 
30
  }
31
 
32
  return NextResponse.json(result.data);
33
  } catch (error) {
34
  console.error("RAG chat error:", error);
35
- return NextResponse.json({ error: "Internal server error" }, { status: 500 });
 
 
 
 
 
 
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
+