improve graphql error handling
This commit is contained in:
@@ -51,12 +51,14 @@ export async function generateStaticParams() {
|
||||
}
|
||||
`);
|
||||
const { data, error } = await getClient().query(allGenericSlugsQuery, {});
|
||||
|
||||
if (data === undefined || error) {
|
||||
throw new Error("failed to generate static params");
|
||||
if (error) {
|
||||
throw new Error(error.message);
|
||||
}
|
||||
if (!data?.pages) {
|
||||
throw new Error("Failed to generate static params for generic subpages");
|
||||
}
|
||||
|
||||
return data?.pages.map((page: any) => {
|
||||
return data.pages.map((page: any) => {
|
||||
// wagtail-grapple prepends the home page slug to the full path on multisite setups
|
||||
// we also strip the trailing slash
|
||||
const urlPath: string[] = page.urlPath
|
||||
@@ -79,12 +81,14 @@ export async function generateMetadata(
|
||||
urlPath: urlPath,
|
||||
});
|
||||
|
||||
const page = (data?.page ?? []) as GenericFragment;
|
||||
|
||||
if (!page) {
|
||||
if (error) {
|
||||
throw new Error(error.message);
|
||||
}
|
||||
if (!data?.page) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const page = data.page as GenericFragment;
|
||||
const metadata = await getSeoMetadata(page, parent);
|
||||
return metadata;
|
||||
}
|
||||
@@ -95,13 +99,16 @@ export default async function Page({ params }: { params: { url: string[] } }) {
|
||||
const { data, error } = await getClient().query(genericPageByUrlPathQuery, {
|
||||
urlPath: urlPath,
|
||||
});
|
||||
if (error) {
|
||||
throw new Error(error.message);
|
||||
}
|
||||
|
||||
const page = (data?.page ?? []) as GenericFragment;
|
||||
|
||||
if (!page) {
|
||||
if (!data?.page) {
|
||||
return notFound();
|
||||
}
|
||||
|
||||
const page = data?.page as GenericFragment;
|
||||
|
||||
return (
|
||||
<>
|
||||
<main className="site-main" id="main">
|
||||
|
||||
Reference in New Issue
Block a user