From cc1a53e17c8aa71465b14c8b8cf18e0b0db3f40f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89mile=20R=C3=A9?= Date: Wed, 25 Mar 2026 17:42:50 +0400 Subject: [PATCH] Keep allowing to pass content on document creation for use cases other than frontend app MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Émile Ré --- e2e/console/document_version_test.go | 25 ++++++++++-------------- e2e/internal/factory/factory.go | 1 - pkg/server/api/console/v1/schema.graphql | 2 +- pkg/server/api/console/v1/v1_resolver.go | 7 ++++++- 4 files changed, 17 insertions(+), 18 deletions(-) diff --git a/e2e/console/document_version_test.go b/e2e/console/document_version_test.go index d8c39092d..694a42326 100644 --- a/e2e/console/document_version_test.go +++ b/e2e/console/document_version_test.go @@ -74,6 +74,7 @@ func createTestDocument(t *testing.T, owner *testutil.Client) (docID string, doc "organizationId": owner.GetOrganizationID().String(), "title": "Test Document", "content": "Initial content", + "approverIds": []string{profileID}, "documentType": "POLICY", "classification": "INTERNAL", }, @@ -269,34 +270,28 @@ func TestDocumentVersion_UpdateContent(t *testing.T) { _, draftVersionID := createTestDocument(t, owner) query := ` - mutation UpdateDocumentVersion($input: UpdateDocumentVersionInput!) { - updateDocumentVersion(input: $input) { - documentVersion { - id - content - } + mutation UpdateDocumentVersion($input: UpdateDocumentVersionContentInput!) { + updateDocumentVersionContent(input: $input) { + content } } ` var result struct { - UpdateDocumentVersion struct { - DocumentVersion struct { - ID string `json:"id"` - Content string `json:"content"` - } `json:"documentVersion"` - } `json:"updateDocumentVersion"` + UpdateDocumentVersionContent struct { + Content string `json:"content"` + } `json:"updateDocumentVersionContent"` } err := owner.Execute(query, map[string]any{ "input": map[string]any{ - "documentVersionId": draftVersionID, - "content": "Updated content for the document", + "id": draftVersionID, + "content": "Updated content for the document version", }, }, &result) require.NoError(t, err) - assert.Equal(t, "Updated content for the document", result.UpdateDocumentVersion.DocumentVersion.Content) + assert.Equal(t, "Updated content for the document version", result.UpdateDocumentVersionContent.Content) } func TestDocumentVersion_RequestSignature(t *testing.T) { diff --git a/e2e/internal/factory/factory.go b/e2e/internal/factory/factory.go index b2a2e6154..376664af0 100644 --- a/e2e/internal/factory/factory.go +++ b/e2e/internal/factory/factory.go @@ -845,7 +845,6 @@ func CreateDocument(c *testutil.Client, attrs ...Attrs) string { input := map[string]any{ "organizationId": c.GetOrganizationID().String(), "title": a.getString("title", SafeName("Document")), - "content": a.getString("content", "Document content"), "documentType": a.getString("documentType", "POLICY"), "classification": a.getString("classification", "INTERNAL"), } diff --git a/pkg/server/api/console/v1/schema.graphql b/pkg/server/api/console/v1/schema.graphql index ec64fb45b..d5b90bbdc 100644 --- a/pkg/server/api/console/v1/schema.graphql +++ b/pkg/server/api/console/v1/schema.graphql @@ -4472,7 +4472,7 @@ input DeleteVendorDataPrivacyAgreementInput { input CreateDocumentInput { organizationId: ID! title: String! - content: String! + content: String approverIds: [ID!]! documentType: DocumentType! classification: DocumentClassification! diff --git a/pkg/server/api/console/v1/v1_resolver.go b/pkg/server/api/console/v1/v1_resolver.go index 78401748b..39e61544d 100644 --- a/pkg/server/api/console/v1/v1_resolver.go +++ b/pkg/server/api/console/v1/v1_resolver.go @@ -4622,13 +4622,18 @@ func (r *mutationResolver) CreateDocument(ctx context.Context, input types.Creat prb := r.ProboService(ctx, input.OrganizationID.TenantID()) + var content string + if input.Content != nil { + content = *input.Content + } + document, documentVersion, err := prb.Documents.Create( ctx, probo.CreateDocumentRequest{ OrganizationID: input.OrganizationID, DocumentType: input.DocumentType, Title: input.Title, - Content: input.Content, + Content: content, ApproverIDs: input.ApproverIds, Classification: input.Classification, TrustCenterVisibility: input.TrustCenterVisibility,