fix self ai plan generation authorization and error handling

This commit is contained in:
echo 2026-03-31 19:31:45 +02:00
parent c877577fba
commit 73218402f6
2 changed files with 14 additions and 11 deletions

View File

@ -114,13 +114,6 @@ export async function POST() {
return NextResponse.json({ error: "Forbidden" }, { status: 403 }); return NextResponse.json({ error: "Forbidden" }, { status: 403 });
} }
if (currentUser.role !== "client") {
return NextResponse.json(
{ error: "Only clients can self-generate AI plans" },
{ status: 403 },
);
}
const { membershipType, features } = await getUserMembershipContext(userId); const { membershipType, features } = await getUserMembershipContext(userId);
if (membershipType === "basic") { if (membershipType === "basic") {

View File

@ -124,10 +124,20 @@ export async function generateSelfRecommendation(
); );
return parseApiData<Recommendation>(response.data); return parseApiData<Recommendation>(response.data);
} catch (error) { } catch (error) {
if (isAxiosError(error) && error.response) { if (isAxiosError(error)) {
throw new Error( const responseError = error.response?.data as
`Failed to generate recommendation: ${error.response.status}`, | { error?: string }
); | undefined;
if (responseError?.error) {
throw new Error(responseError.error);
}
if (error.response) {
throw new Error(
`Failed to generate recommendation: ${error.response.status}`,
);
}
} }
throw error; throw error;
} }