From d1eea1f1e6c83e8699ed3bb2e038a57309acede9 Mon Sep 17 00:00:00 2001 From: axolotle Date: Fri, 4 Jun 2021 09:21:01 +0200 Subject: [PATCH] add new fragments for different levels of data --- src/api/fragments/NodeFull.gql | 47 ++++++++++++++++++++++++++++ src/api/fragments/NodeInitial.gql | 52 +++++++++++++++++++++++++++++++ src/api/fragments/NodePartial.gql | 38 ++++++++++++++++++++++ src/api/fragments/index.js | 3 ++ 4 files changed, 140 insertions(+) create mode 100644 src/api/fragments/NodeFull.gql create mode 100644 src/api/fragments/NodeInitial.gql create mode 100644 src/api/fragments/NodePartial.gql create mode 100644 src/api/fragments/index.js diff --git a/src/api/fragments/NodeFull.gql b/src/api/fragments/NodeFull.gql new file mode 100644 index 0000000..0355325 --- /dev/null +++ b/src/api/fragments/NodeFull.gql @@ -0,0 +1,47 @@ +# This fragment queries data needed for an object to be displayed as a `Node` + +fragment NodeFull on TextInterface { + id + + ... on Textref { + preTitle: field_titre_regular + title: field_titre_italique + link: lien_reference { + title + url + } + + edition { + name + } + + notes { + content: note + number: numero + } + } + + ... on Textprod { + notes { + content: note + number: numero + + links: liens { + # FIXME probably need to query titles and stuff on `Textref` or `Creation` + id + type: __typename + variant: familles { + id + } + ... on Textprod { + parents: text_de_depart { + id + variant: familles { + id + } + } + } + } + } + } +} diff --git a/src/api/fragments/NodeInitial.gql b/src/api/fragments/NodeInitial.gql new file mode 100644 index 0000000..38134dd --- /dev/null +++ b/src/api/fragments/NodeInitial.gql @@ -0,0 +1,52 @@ +# This fragment queries some elementary data to define the content structure + +fragment NodeInitial on TextInterface { + id + type: bundle + variant: familles { + id + } + + ... on Textprod { + parents: text_de_depart { + id + variant: familles { + id + } + } + + siblings: text_en_rebond { + id + variant: familles { + id + } + } + } + + ... on Textref { + + siblings: text_en_rebond { + id + variant: familles { + id + } + } + + authors: auteurs { + id + name + first_name + last_name + } + + preTitle: field_titre_regular + title: field_titre_italique + + children: text_produits { + id + variant: familles { + id + } + } + } +} diff --git a/src/api/fragments/NodePartial.gql b/src/api/fragments/NodePartial.gql new file mode 100644 index 0000000..2f552b1 --- /dev/null +++ b/src/api/fragments/NodePartial.gql @@ -0,0 +1,38 @@ +# This fragment queries data needed for an object to be displayed as a `MiniNodeCard` + +fragment NodePartial on TextInterface { + id + content: texte + + # Needed by `Creation` + images { + id + url + alt + } + + ... on Textprod { + tags: tagsprod { + id + name + } + } + + ... on Textref { + tags { + id + name + } + + strangeness: degres_detrangement + + edition { + name + } + } + + + + # For debug + path +} diff --git a/src/api/fragments/index.js b/src/api/fragments/index.js new file mode 100644 index 0000000..c41b1c0 --- /dev/null +++ b/src/api/fragments/index.js @@ -0,0 +1,3 @@ +export { default as NodeFull } from './NodeFull.gql' +export { default as NodeInitial } from './NodeInitial.gql' +export { default as NodePartial } from './NodePartial.gql'