generated from pascalmartineau/wp-skeleton
feat: better error handling in useNodeByUri
All checks were successful
Deploy WordPress and Nuxt / deploy (push) Successful in 58s
All checks were successful
Deploy WordPress and Nuxt / deploy (push) Successful in 58s
This commit is contained in:
@@ -3,8 +3,14 @@ import { ThePage, TheArticle, TheEvent, TheLocation, TheMembership, TheProject,
|
||||
|
||||
export async function useNodeByUri(uri: string) {
|
||||
const { data, error } = await useAsyncGraphqlQuery("nodeByUri", { uri }, { graphqlCaching: { client: true } });
|
||||
if (error.value || data.value?.errors.length) {
|
||||
throw createError({ statusCode: 500, statusMessage: "Erreur serveur", message: "Une erreur est survenue." });
|
||||
if (error.value) {
|
||||
throw createError({ statusCode: 500, statusMessage: "Erreur interne", message: error.value.message });
|
||||
}
|
||||
if (!data.value) {
|
||||
throw createError({ statusCode: 500, statusMessage: "Erreur interne", message: "La page n'a retourné aucunes données." });
|
||||
}
|
||||
if (data.value.errors.length) {
|
||||
throw createError({ statusCode: 500, statusMessage: "Erreur interne", message: data.value.errors.join("\n") });
|
||||
}
|
||||
const node = data.value?.data.nodeByUri;
|
||||
const breadcrumbs = node?.breadcrumbs?.map(({ label, to }) => ({ label, to: to || undefined })) || [];
|
||||
|
||||
Reference in New Issue
Block a user