@@ -13,12 +13,23 @@ export async function GET() {
1313 }
1414
1515 try {
16- const { data : user } = await supabaseAdmin
16+ const { data : user , error : userError } = await supabaseAdmin
1717 . from ( "users" )
1818 . select ( "id, wakatime_api_key_encrypted" )
1919 . eq ( "github_id" , session . githubId )
2020 . single ( ) ;
2121
22+ if ( userError ) {
23+ if ( userError . code === "PGRST116" ) {
24+ return NextResponse . json ( { hasData : false , not_configured : true } ) ;
25+ }
26+ console . error ( "Failed to fetch user for Wakatime stats:" , userError ) ;
27+ return NextResponse . json (
28+ { error : "Failed to fetch Wakatime stats" } ,
29+ { status : 500 }
30+ ) ;
31+ }
32+
2233 if ( ! user ) {
2334 return NextResponse . json ( { hasData : false , not_configured : true } ) ;
2435 }
@@ -31,14 +42,22 @@ export async function GET() {
3142 date7DaysAgo . setDate ( date7DaysAgo . getDate ( ) - 7 ) ;
3243 const dateStr = date7DaysAgo . toISOString ( ) . split ( "T" ) [ 0 ] ;
3344
34- const { data : stats , error } = await supabaseAdmin
45+ const { data : stats , error : statsError } = await supabaseAdmin
3546 . from ( "wakatime_stats" )
3647 . select ( "*" )
3748 . eq ( "user_id" , user . id )
3849 . gte ( "date" , dateStr )
3950 . order ( "date" , { ascending : true } ) ;
4051
41- if ( error || ! stats || stats . length === 0 ) {
52+ if ( statsError ) {
53+ console . error ( "Failed to fetch Wakatime stats:" , statsError ) ;
54+ return NextResponse . json (
55+ { error : "Failed to fetch Wakatime stats" } ,
56+ { status : 500 }
57+ ) ;
58+ }
59+
60+ if ( ! stats || stats . length === 0 ) {
4261 return NextResponse . json ( { hasData : false } ) ;
4362 }
4463
@@ -78,7 +97,11 @@ export async function GET() {
7897 topLanguage : getTop ( languagesMap ) ,
7998 topProject : getTop ( projectsMap ) ,
8099 } ) ;
81- } catch {
82- return NextResponse . json ( { hasData : false } ) ;
100+ } catch ( err ) {
101+ console . error ( "Unexpected error in Wakatime GET:" , err ) ;
102+ return NextResponse . json (
103+ { error : "Failed to fetch Wakatime stats" } ,
104+ { status : 500 }
105+ ) ;
83106 }
84107}
0 commit comments