Fix optional feedback auth fallback

This commit is contained in:
2569718930@qq.com
2026-06-14 04:40:02 +08:00
parent 25408797f1
commit e6c99c946a
5 changed files with 38 additions and 5 deletions
+18 -3
View File
@@ -2,7 +2,6 @@ import { NextRequest, NextResponse } from "next/server";
import {
applyAuthResponseCookies,
buildBackendRequestHeaders,
requireBackendPaymentAuth,
} from "@/lib/backend-auth";
import {
buildProxyExceptionResponse,
@@ -11,6 +10,21 @@ import {
const API_BASE = process.env.POLYWEATHER_API_BASE_URL;
function emptyFeedbackResponse() {
return NextResponse.json(
{
feedback: [],
total: 0,
status_counts: {},
},
{
headers: {
"Cache-Control": "no-store",
},
},
);
}
export async function GET(req: NextRequest) {
if (!API_BASE) {
return NextResponse.json(
@@ -22,8 +36,9 @@ export async function GET(req: NextRequest) {
let auth: Awaited<ReturnType<typeof buildBackendRequestHeaders>> | null = null;
try {
auth = await buildBackendRequestHeaders(req);
const authError = requireBackendPaymentAuth(auth);
if (authError) return authError;
if (!auth.authUserId) {
return applyAuthResponseCookies(emptyFeedbackResponse(), auth.response);
}
const upstream = new URL(`${API_BASE}/api/feedback`);
const limit = req.nextUrl.searchParams.get("limit");