From 44c3b3ae9718fa861f36a523ca5ddcfea4996948 Mon Sep 17 00:00:00 2001 From: Bryan Frimin Date: Thu, 16 Oct 2025 11:44:51 +0200 Subject: [PATCH] Increase number of loaded signature Signed-off-by: Bryan Frimin --- .../DocumentGraphListQuery.graphql.ts | 10 +- .../DocumentGraphNodeQuery.graphql.ts | 10 +- .../documents/DocumentDetailPage.tsx | 79 +++++++----- .../organizations/documents/DocumentsPage.tsx | 120 +++++++++++------- ...umentDetailPageDocumentFragment.graphql.ts | 4 +- .../DocumentsListQuery.graphql.ts | 10 +- .../DocumentsPageRowFragment.graphql.ts | 8 +- .../CreateDocumentDialogMutation.graphql.ts | 10 +- .../PublishDocumentsDialogMutation.graphql.ts | 10 +- 9 files changed, 151 insertions(+), 110 deletions(-) diff --git a/apps/console/src/hooks/graph/__generated__/DocumentGraphListQuery.graphql.ts b/apps/console/src/hooks/graph/__generated__/DocumentGraphListQuery.graphql.ts index 2a2a1f4b3..6742f0c80 100644 --- a/apps/console/src/hooks/graph/__generated__/DocumentGraphListQuery.graphql.ts +++ b/apps/console/src/hooks/graph/__generated__/DocumentGraphListQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<> + * @generated SignedSource<<83ae1b92ac910fa4ba9083a67eecaea9>> * @lightSyntaxTransform * @nogrep */ @@ -238,7 +238,7 @@ return { { "kind": "Literal", "name": "first", - "value": 100 + "value": 500 } ], "concreteType": "DocumentVersionSignatureConnection", @@ -277,7 +277,7 @@ return { "storageKey": null } ], - "storageKey": "signatures(first:100)" + "storageKey": "signatures(first:500)" } ], "storageKey": null @@ -377,12 +377,12 @@ return { ] }, "params": { - "cacheID": "d7102991719b8d6aa2ef4ecd5b763250", + "cacheID": "44b8abc69cfebb8f29adcc8a9fcddc3b", "id": null, "metadata": {}, "name": "DocumentGraphListQuery", "operationKind": "query", - "text": "query DocumentGraphListQuery(\n $organizationId: ID!\n) {\n organization: node(id: $organizationId) {\n __typename\n id\n ...DocumentsPageListFragment\n }\n}\n\nfragment DocumentsPageListFragment on Organization {\n documents(first: 50, orderBy: {field: TITLE, direction: ASC}) {\n edges {\n node {\n id\n ...DocumentsPageRowFragment\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n id\n}\n\nfragment DocumentsPageRowFragment on Document {\n id\n title\n description\n documentType\n updatedAt\n owner {\n id\n fullName\n }\n versions(first: 1) {\n edges {\n node {\n id\n status\n version\n signatures(first: 100) {\n edges {\n node {\n id\n state\n }\n }\n }\n }\n }\n }\n}\n" + "text": "query DocumentGraphListQuery(\n $organizationId: ID!\n) {\n organization: node(id: $organizationId) {\n __typename\n id\n ...DocumentsPageListFragment\n }\n}\n\nfragment DocumentsPageListFragment on Organization {\n documents(first: 50, orderBy: {field: TITLE, direction: ASC}) {\n edges {\n node {\n id\n ...DocumentsPageRowFragment\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n id\n}\n\nfragment DocumentsPageRowFragment on Document {\n id\n title\n description\n documentType\n updatedAt\n owner {\n id\n fullName\n }\n versions(first: 1) {\n edges {\n node {\n id\n status\n version\n signatures(first: 500) {\n edges {\n node {\n id\n state\n }\n }\n }\n }\n }\n }\n}\n" } }; })(); diff --git a/apps/console/src/hooks/graph/__generated__/DocumentGraphNodeQuery.graphql.ts b/apps/console/src/hooks/graph/__generated__/DocumentGraphNodeQuery.graphql.ts index 9fb0461ca..ce9dd96ac 100644 --- a/apps/console/src/hooks/graph/__generated__/DocumentGraphNodeQuery.graphql.ts +++ b/apps/console/src/hooks/graph/__generated__/DocumentGraphNodeQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<> + * @generated SignedSource<<4d39076389b55a86a116d8115ac22fca>> * @lightSyntaxTransform * @nogrep */ @@ -110,7 +110,7 @@ v11 = [ { "kind": "Literal", "name": "first", - "value": 100 + "value": 500 } ], v12 = { @@ -464,7 +464,7 @@ return { (v12/*: any*/), (v10/*: any*/) ], - "storageKey": "signatures(first:100)" + "storageKey": "signatures(first:500)" }, { "alias": null, @@ -507,12 +507,12 @@ return { ] }, "params": { - "cacheID": "ef08fbd3755a6ab5eff7786164842da8", + "cacheID": "6d2e59057d037990aeb917bb36d8234f", "id": null, "metadata": {}, "name": "DocumentGraphNodeQuery", "operationKind": "query", - "text": "query DocumentGraphNodeQuery(\n $documentId: ID!\n) {\n node(id: $documentId) {\n __typename\n ... on Document {\n ...DocumentDetailPageDocumentFragment\n }\n id\n }\n}\n\nfragment DocumentControlsTabFragment on Document {\n id\n controls(first: 20) {\n edges {\n node {\n id\n ...LinkedControlsCardFragment\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n}\n\nfragment DocumentDetailPageDocumentFragment on Document {\n id\n title\n documentType\n owner {\n id\n fullName\n }\n ...DocumentControlsTabFragment\n controlsInfo: controls(first: 0) {\n totalCount\n }\n versions(first: 20) {\n edges {\n node {\n id\n content\n status\n publishedAt\n version\n updatedAt\n signatures(first: 100) {\n edges {\n node {\n id\n state\n signedBy {\n id\n }\n ...DocumentSignaturesTab_signature\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n}\n\nfragment DocumentSignaturesTab_signature on DocumentVersionSignature {\n id\n state\n signedAt\n requestedAt\n signedBy {\n fullName\n primaryEmailAddress\n id\n }\n}\n\nfragment LinkedControlsCardFragment on Control {\n id\n name\n sectionTitle\n framework {\n id\n name\n }\n}\n" + "text": "query DocumentGraphNodeQuery(\n $documentId: ID!\n) {\n node(id: $documentId) {\n __typename\n ... on Document {\n ...DocumentDetailPageDocumentFragment\n }\n id\n }\n}\n\nfragment DocumentControlsTabFragment on Document {\n id\n controls(first: 20) {\n edges {\n node {\n id\n ...LinkedControlsCardFragment\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n}\n\nfragment DocumentDetailPageDocumentFragment on Document {\n id\n title\n documentType\n owner {\n id\n fullName\n }\n ...DocumentControlsTabFragment\n controlsInfo: controls(first: 0) {\n totalCount\n }\n versions(first: 20) {\n edges {\n node {\n id\n content\n status\n publishedAt\n version\n updatedAt\n signatures(first: 500) {\n edges {\n node {\n id\n state\n signedBy {\n id\n }\n ...DocumentSignaturesTab_signature\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n}\n\nfragment DocumentSignaturesTab_signature on DocumentVersionSignature {\n id\n state\n signedAt\n requestedAt\n signedBy {\n fullName\n primaryEmailAddress\n id\n }\n}\n\nfragment LinkedControlsCardFragment on Control {\n id\n name\n sectionTitle\n framework {\n id\n name\n }\n}\n" } }; })(); diff --git a/apps/console/src/pages/organizations/documents/DocumentDetailPage.tsx b/apps/console/src/pages/organizations/documents/DocumentDetailPage.tsx index eacf88bbd..369695e25 100644 --- a/apps/console/src/pages/organizations/documents/DocumentDetailPage.tsx +++ b/apps/console/src/pages/organizations/documents/DocumentDetailPage.tsx @@ -47,7 +47,12 @@ import { } from "@probo/ui"; import { useOrganizationId } from "/hooks/useOrganizationId"; import { useMutationWithToasts } from "/hooks/useMutationWithToasts"; -import { getDocumentTypeLabel, sprintf, documentTypes, formatDate } from "@probo/helpers"; +import { + getDocumentTypeLabel, + sprintf, + documentTypes, + formatDate, +} from "@probo/helpers"; import { Link, Outlet, @@ -56,7 +61,10 @@ import { useParams, } from "react-router"; import UpdateVersionDialog from "./dialogs/UpdateVersionDialog"; -import { PdfDownloadDialog, type PdfDownloadDialogRef } from "/components/documents/PdfDownloadDialog"; +import { + PdfDownloadDialog, + type PdfDownloadDialogRef, +} from "/components/documents/PdfDownloadDialog"; import { useRef, useState } from "react"; import type { NodeOf } from "/types.ts"; import clsx from "clsx"; @@ -93,7 +101,7 @@ const documentFragment = graphql` publishedAt version updatedAt - signatures(first: 100) + signatures(first: 500) @connection(key: "DocumentDetailPage_signatures") { __id edges { @@ -227,7 +235,8 @@ export default function DocumentDetailPage(props: Props) { } ); const [deleteDocument, isDeleting] = useDeleteDocumentMutation(); - const [deleteDraftDocumentVersion, isDeletingDraft] = useDeleteDraftDocumentVersionMutation(); + const [deleteDraftDocumentVersion, isDeletingDraft] = + useDeleteDraftDocumentVersionMutation(); const [exportDocumentVersionPDF, isExporting] = useMutationWithToasts( exportDocumentVersionPDFMutation, @@ -237,24 +246,31 @@ export default function DocumentDetailPage(props: Props) { } ); - const userEmailData = useLazyLoadQuery(UserEmailQuery, {}); - const defaultEmail = userEmailData.viewer.user.email; - const [updateDocument, isUpdatingDocument] = useMutationWithToasts( - updateDocumentMutation, - { - successMessage: __("Document updated successfully."), - errorMessage: __("Failed to update document. Please try again."), - } + const userEmailData = useLazyLoadQuery( + UserEmailQuery, + {} ); + const defaultEmail = userEmailData.viewer.user.email; + const [updateDocument, isUpdatingDocument] = + useMutationWithToasts( + updateDocumentMutation, + { + successMessage: __("Document updated successfully."), + errorMessage: __("Failed to update document. Please try again."), + } + ); const versionConnectionId = document.versions.__id; - const { register, control, handleSubmit, reset } = useFormWithSchema(documentUpdateSchema, { - defaultValues: { - title: document.title, - ownerId: document.owner?.id || "", - documentType: document.documentType, - }, - }); + const { register, control, handleSubmit, reset } = useFormWithSchema( + documentUpdateSchema, + { + defaultValues: { + title: document.title, + ownerId: document.owner?.id || "", + documentType: document.documentType, + }, + } + ); usePageTitle(document.title); @@ -286,7 +302,9 @@ export default function DocumentDetailPage(props: Props) { }); }; - const handleUpdateDocumentType = (data: { documentType: typeof documentTypes[number] }) => { + const handleUpdateDocumentType = (data: { + documentType: (typeof documentTypes)[number]; + }) => { updateDocument({ variables: { input: { @@ -376,12 +394,17 @@ export default function DocumentDetailPage(props: Props) { ); }; - const handleDownloadPdf = (options: { withWatermark: boolean; withSignatures: boolean; watermarkEmail?: string }) => { + const handleDownloadPdf = (options: { + withWatermark: boolean; + withSignatures: boolean; + watermarkEmail?: string; + }) => { const input = { documentVersionId: currentVersion.id, withWatermark: options.withWatermark, withSignatures: options.withSignatures, - ...(options.withWatermark && options.watermarkEmail && { watermarkEmail: options.watermarkEmail }), + ...(options.withWatermark && + options.watermarkEmail && { watermarkEmail: options.watermarkEmail }), }; exportDocumentVersionPDF({ @@ -671,11 +694,7 @@ function EditablePropertyContent({ onClick={onSave} disabled={disabled} /> - - - - - + + + + + + - - @@ -315,7 +341,7 @@ const rowFragment = graphql` id status version - signatures(first: 100) { + signatures(first: 500) { edges { node { id @@ -353,7 +379,9 @@ function DocumentRow({ const isDraft = lastVersion.status === "DRAFT"; const { __ } = useTranslate(); - const signatures = lastVersion.signatures?.edges?.map((edge) => edge?.node)?.filter(Boolean) ?? []; + const signatures = + lastVersion.signatures?.edges?.map((edge) => edge?.node)?.filter(Boolean) ?? + []; const signedCount = signatures.filter( (signature) => signature.state === "SIGNED" ).length; @@ -385,9 +413,7 @@ function DocumentRow({ -
- {document.title} -
+
{document.title}
@@ -395,16 +421,16 @@ function DocumentRow({ v{lastVersion.version} - {getDocumentTypeLabel(__, document.documentType)} + + {getDocumentTypeLabel(__, document.documentType)} +
{document.owner?.fullName}
- - {formatDate(document.updatedAt)} - + {formatDate(document.updatedAt)} {signedCount}/{signatures.length} diff --git a/apps/console/src/pages/organizations/documents/__generated__/DocumentDetailPageDocumentFragment.graphql.ts b/apps/console/src/pages/organizations/documents/__generated__/DocumentDetailPageDocumentFragment.graphql.ts index 5716496f1..e7371afe5 100644 --- a/apps/console/src/pages/organizations/documents/__generated__/DocumentDetailPageDocumentFragment.graphql.ts +++ b/apps/console/src/pages/organizations/documents/__generated__/DocumentDetailPageDocumentFragment.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<993de5bc8086378a2993bf0d0cf13658>> + * @generated SignedSource<<1b07d7b3b18267f31c2b7ec7950edcb6>> * @lightSyntaxTransform * @nogrep */ @@ -344,6 +344,6 @@ return { }; })(); -(node as any).hash = "1d06e505efa74bb0b564fcbfc57ce8c9"; +(node as any).hash = "ffd5764324ccdcfe201e937980e75253"; export default node; diff --git a/apps/console/src/pages/organizations/documents/__generated__/DocumentsListQuery.graphql.ts b/apps/console/src/pages/organizations/documents/__generated__/DocumentsListQuery.graphql.ts index 69c326354..d4914d5cb 100644 --- a/apps/console/src/pages/organizations/documents/__generated__/DocumentsListQuery.graphql.ts +++ b/apps/console/src/pages/organizations/documents/__generated__/DocumentsListQuery.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<0b738ecabb86e683a0bae1f31700c0c4>> + * @generated SignedSource<> * @lightSyntaxTransform * @nogrep */ @@ -313,7 +313,7 @@ return { { "kind": "Literal", "name": "first", - "value": 100 + "value": 500 } ], "concreteType": "DocumentVersionSignatureConnection", @@ -352,7 +352,7 @@ return { "storageKey": null } ], - "storageKey": "signatures(first:100)" + "storageKey": "signatures(first:500)" } ], "storageKey": null @@ -452,12 +452,12 @@ return { ] }, "params": { - "cacheID": "8cacafcbdbcd2d4f454d43a609aad010", + "cacheID": "32e25ba27cb9ad12640c0e338c16a804", "id": null, "metadata": {}, "name": "DocumentsListQuery", "operationKind": "query", - "text": "query DocumentsListQuery(\n $after: CursorKey = null\n $before: CursorKey = null\n $first: Int = 50\n $last: Int = null\n $order: DocumentOrder = {field: TITLE, direction: ASC}\n $id: ID!\n) {\n node(id: $id) {\n __typename\n ...DocumentsPageListFragment_16fISc\n id\n }\n}\n\nfragment DocumentsPageListFragment_16fISc on Organization {\n documents(first: $first, after: $after, last: $last, before: $before, orderBy: $order) {\n edges {\n node {\n id\n ...DocumentsPageRowFragment\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n id\n}\n\nfragment DocumentsPageRowFragment on Document {\n id\n title\n description\n documentType\n updatedAt\n owner {\n id\n fullName\n }\n versions(first: 1) {\n edges {\n node {\n id\n status\n version\n signatures(first: 100) {\n edges {\n node {\n id\n state\n }\n }\n }\n }\n }\n }\n}\n" + "text": "query DocumentsListQuery(\n $after: CursorKey = null\n $before: CursorKey = null\n $first: Int = 50\n $last: Int = null\n $order: DocumentOrder = {field: TITLE, direction: ASC}\n $id: ID!\n) {\n node(id: $id) {\n __typename\n ...DocumentsPageListFragment_16fISc\n id\n }\n}\n\nfragment DocumentsPageListFragment_16fISc on Organization {\n documents(first: $first, after: $after, last: $last, before: $before, orderBy: $order) {\n edges {\n node {\n id\n ...DocumentsPageRowFragment\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n }\n id\n}\n\nfragment DocumentsPageRowFragment on Document {\n id\n title\n description\n documentType\n updatedAt\n owner {\n id\n fullName\n }\n versions(first: 1) {\n edges {\n node {\n id\n status\n version\n signatures(first: 500) {\n edges {\n node {\n id\n state\n }\n }\n }\n }\n }\n }\n}\n" } }; })(); diff --git a/apps/console/src/pages/organizations/documents/__generated__/DocumentsPageRowFragment.graphql.ts b/apps/console/src/pages/organizations/documents/__generated__/DocumentsPageRowFragment.graphql.ts index af7a275d6..00c670cca 100644 --- a/apps/console/src/pages/organizations/documents/__generated__/DocumentsPageRowFragment.graphql.ts +++ b/apps/console/src/pages/organizations/documents/__generated__/DocumentsPageRowFragment.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<32d1bb469d4ece0eb14b746587eb45a1>> + * @generated SignedSource<> * @lightSyntaxTransform * @nogrep */ @@ -160,7 +160,7 @@ return { { "kind": "Literal", "name": "first", - "value": 100 + "value": 500 } ], "concreteType": "DocumentVersionSignatureConnection", @@ -199,7 +199,7 @@ return { "storageKey": null } ], - "storageKey": "signatures(first:100)" + "storageKey": "signatures(first:500)" } ], "storageKey": null @@ -216,6 +216,6 @@ return { }; })(); -(node as any).hash = "3cb482445055e1fea0e36ff3e7255cb5"; +(node as any).hash = "66c9a0719081e20b4c796638b2f9976f"; export default node; diff --git a/apps/console/src/pages/organizations/documents/dialogs/__generated__/CreateDocumentDialogMutation.graphql.ts b/apps/console/src/pages/organizations/documents/dialogs/__generated__/CreateDocumentDialogMutation.graphql.ts index 2556fe79c..3ceed0fb6 100644 --- a/apps/console/src/pages/organizations/documents/dialogs/__generated__/CreateDocumentDialogMutation.graphql.ts +++ b/apps/console/src/pages/organizations/documents/dialogs/__generated__/CreateDocumentDialogMutation.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<4d1e3c4d8c567a0b463ea1a1b7cc02f5>> + * @generated SignedSource<> * @lightSyntaxTransform * @nogrep */ @@ -249,7 +249,7 @@ return { { "kind": "Literal", "name": "first", - "value": 100 + "value": 500 } ], "concreteType": "DocumentVersionSignatureConnection", @@ -288,7 +288,7 @@ return { "storageKey": null } ], - "storageKey": "signatures(first:100)" + "storageKey": "signatures(first:500)" } ], "storageKey": null @@ -327,12 +327,12 @@ return { ] }, "params": { - "cacheID": "271b1222b172816daeac0beb08737084", + "cacheID": "b43db972b1b28672faa60267ad642e43", "id": null, "metadata": {}, "name": "CreateDocumentDialogMutation", "operationKind": "mutation", - "text": "mutation CreateDocumentDialogMutation(\n $input: CreateDocumentInput!\n) {\n createDocument(input: $input) {\n documentEdge {\n node {\n id\n ...DocumentsPageRowFragment\n }\n }\n }\n}\n\nfragment DocumentsPageRowFragment on Document {\n id\n title\n description\n documentType\n updatedAt\n owner {\n id\n fullName\n }\n versions(first: 1) {\n edges {\n node {\n id\n status\n version\n signatures(first: 100) {\n edges {\n node {\n id\n state\n }\n }\n }\n }\n }\n }\n}\n" + "text": "mutation CreateDocumentDialogMutation(\n $input: CreateDocumentInput!\n) {\n createDocument(input: $input) {\n documentEdge {\n node {\n id\n ...DocumentsPageRowFragment\n }\n }\n }\n}\n\nfragment DocumentsPageRowFragment on Document {\n id\n title\n description\n documentType\n updatedAt\n owner {\n id\n fullName\n }\n versions(first: 1) {\n edges {\n node {\n id\n status\n version\n signatures(first: 500) {\n edges {\n node {\n id\n state\n }\n }\n }\n }\n }\n }\n}\n" } }; })(); diff --git a/apps/console/src/pages/organizations/documents/dialogs/__generated__/PublishDocumentsDialogMutation.graphql.ts b/apps/console/src/pages/organizations/documents/dialogs/__generated__/PublishDocumentsDialogMutation.graphql.ts index ae77df0fc..feb9a40ca 100644 --- a/apps/console/src/pages/organizations/documents/dialogs/__generated__/PublishDocumentsDialogMutation.graphql.ts +++ b/apps/console/src/pages/organizations/documents/dialogs/__generated__/PublishDocumentsDialogMutation.graphql.ts @@ -1,5 +1,5 @@ /** - * @generated SignedSource<<63939336fc37ddb7ced322612302c90b>> + * @generated SignedSource<> * @lightSyntaxTransform * @nogrep */ @@ -233,7 +233,7 @@ return { { "kind": "Literal", "name": "first", - "value": 100 + "value": 500 } ], "concreteType": "DocumentVersionSignatureConnection", @@ -272,7 +272,7 @@ return { "storageKey": null } ], - "storageKey": "signatures(first:100)" + "storageKey": "signatures(first:500)" } ], "storageKey": null @@ -295,12 +295,12 @@ return { ] }, "params": { - "cacheID": "a5266ffa85ab7455c700dfe75ae74956", + "cacheID": "2ea3e8b6baf3eeb5b5b38f3e21b5998f", "id": null, "metadata": {}, "name": "PublishDocumentsDialogMutation", "operationKind": "mutation", - "text": "mutation PublishDocumentsDialogMutation(\n $input: BulkPublishDocumentVersionsInput!\n) {\n bulkPublishDocumentVersions(input: $input) {\n documentEdges {\n node {\n id\n ...DocumentsPageRowFragment\n }\n }\n }\n}\n\nfragment DocumentsPageRowFragment on Document {\n id\n title\n description\n documentType\n updatedAt\n owner {\n id\n fullName\n }\n versions(first: 1) {\n edges {\n node {\n id\n status\n version\n signatures(first: 100) {\n edges {\n node {\n id\n state\n }\n }\n }\n }\n }\n }\n}\n" + "text": "mutation PublishDocumentsDialogMutation(\n $input: BulkPublishDocumentVersionsInput!\n) {\n bulkPublishDocumentVersions(input: $input) {\n documentEdges {\n node {\n id\n ...DocumentsPageRowFragment\n }\n }\n }\n}\n\nfragment DocumentsPageRowFragment on Document {\n id\n title\n description\n documentType\n updatedAt\n owner {\n id\n fullName\n }\n versions(first: 1) {\n edges {\n node {\n id\n status\n version\n signatures(first: 500) {\n edges {\n node {\n id\n state\n }\n }\n }\n }\n }\n }\n}\n" } }; })();