fix self ai plan generation authorization and error handling
This commit is contained in:
parent
c877577fba
commit
73218402f6
@ -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") {
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user