fix(WEB): today-issue API에서 redirect 에러 전파 처리
- ServerApiClient가 401 시 /login으로 redirect하는데 catch 블록에서 redirect 에러를 잡아버리는 문제 수정 - isNextRedirectError 체크하여 redirect는 전파하도록 변경
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
|
||||
import { apiClient } from './index';
|
||||
import { AuthError } from './errors';
|
||||
import { isNextRedirectError } from '@/lib/utils/redirect-error';
|
||||
import type {
|
||||
ApiResponse,
|
||||
TodayIssueUnreadResponse,
|
||||
@@ -40,6 +41,11 @@ export async function getUnreadTodayIssues(limit: number = 10): Promise<ApiRespo
|
||||
);
|
||||
return response;
|
||||
} catch (error) {
|
||||
// Next.js redirect 에러는 전파 (ServerApiClient가 로그인 페이지로 리다이렉트)
|
||||
if (isNextRedirectError(error)) {
|
||||
throw error;
|
||||
}
|
||||
|
||||
console.error('[TodayIssue] getUnreadTodayIssues error:', error);
|
||||
|
||||
// 인증 에러인 경우 authError 플래그 설정
|
||||
@@ -71,6 +77,7 @@ export async function getUnreadTodayIssueCount(): Promise<ApiResponse<TodayIssue
|
||||
);
|
||||
return response;
|
||||
} catch (error) {
|
||||
if (isNextRedirectError(error)) throw error;
|
||||
console.error('[TodayIssue] getUnreadTodayIssueCount error:', error);
|
||||
return {
|
||||
success: false,
|
||||
@@ -91,6 +98,7 @@ export async function markTodayIssueAsRead(id: number): Promise<ApiResponse<null
|
||||
);
|
||||
return response;
|
||||
} catch (error) {
|
||||
if (isNextRedirectError(error)) throw error;
|
||||
console.error('[TodayIssue] markTodayIssueAsRead error:', error);
|
||||
return {
|
||||
success: false,
|
||||
@@ -110,6 +118,7 @@ export async function markAllTodayIssuesAsRead(): Promise<ApiResponse<TodayIssue
|
||||
);
|
||||
return response;
|
||||
} catch (error) {
|
||||
if (isNextRedirectError(error)) throw error;
|
||||
console.error('[TodayIssue] markAllTodayIssuesAsRead error:', error);
|
||||
return {
|
||||
success: false,
|
||||
|
||||
Reference in New Issue
Block a user