Keep allowing to pass content on document creation for use cases other than frontend app

Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
Émile Ré
2026-03-25 17:42:50 +04:00
parent 3181766885
commit cc1a53e17c
4 changed files with 17 additions and 18 deletions

View File

@@ -74,6 +74,7 @@ func createTestDocument(t *testing.T, owner *testutil.Client) (docID string, doc
"organizationId": owner.GetOrganizationID().String(), "organizationId": owner.GetOrganizationID().String(),
"title": "Test Document", "title": "Test Document",
"content": "Initial content", "content": "Initial content",
"approverIds": []string{profileID},
"documentType": "POLICY", "documentType": "POLICY",
"classification": "INTERNAL", "classification": "INTERNAL",
}, },
@@ -269,34 +270,28 @@ func TestDocumentVersion_UpdateContent(t *testing.T) {
_, draftVersionID := createTestDocument(t, owner) _, draftVersionID := createTestDocument(t, owner)
query := ` query := `
mutation UpdateDocumentVersion($input: UpdateDocumentVersionInput!) { mutation UpdateDocumentVersion($input: UpdateDocumentVersionContentInput!) {
updateDocumentVersion(input: $input) { updateDocumentVersionContent(input: $input) {
documentVersion { content
id
content
}
} }
} }
` `
var result struct { var result struct {
UpdateDocumentVersion struct { UpdateDocumentVersionContent struct {
DocumentVersion struct { Content string `json:"content"`
ID string `json:"id"` } `json:"updateDocumentVersionContent"`
Content string `json:"content"`
} `json:"documentVersion"`
} `json:"updateDocumentVersion"`
} }
err := owner.Execute(query, map[string]any{ err := owner.Execute(query, map[string]any{
"input": map[string]any{ "input": map[string]any{
"documentVersionId": draftVersionID, "id": draftVersionID,
"content": "Updated content for the document", "content": "Updated content for the document version",
}, },
}, &result) }, &result)
require.NoError(t, err) 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) { func TestDocumentVersion_RequestSignature(t *testing.T) {

View File

@@ -845,7 +845,6 @@ func CreateDocument(c *testutil.Client, attrs ...Attrs) string {
input := map[string]any{ input := map[string]any{
"organizationId": c.GetOrganizationID().String(), "organizationId": c.GetOrganizationID().String(),
"title": a.getString("title", SafeName("Document")), "title": a.getString("title", SafeName("Document")),
"content": a.getString("content", "Document content"),
"documentType": a.getString("documentType", "POLICY"), "documentType": a.getString("documentType", "POLICY"),
"classification": a.getString("classification", "INTERNAL"), "classification": a.getString("classification", "INTERNAL"),
} }

View File

@@ -4472,7 +4472,7 @@ input DeleteVendorDataPrivacyAgreementInput {
input CreateDocumentInput { input CreateDocumentInput {
organizationId: ID! organizationId: ID!
title: String! title: String!
content: String! content: String
approverIds: [ID!]! approverIds: [ID!]!
documentType: DocumentType! documentType: DocumentType!
classification: DocumentClassification! classification: DocumentClassification!

View File

@@ -4622,13 +4622,18 @@ func (r *mutationResolver) CreateDocument(ctx context.Context, input types.Creat
prb := r.ProboService(ctx, input.OrganizationID.TenantID()) prb := r.ProboService(ctx, input.OrganizationID.TenantID())
var content string
if input.Content != nil {
content = *input.Content
}
document, documentVersion, err := prb.Documents.Create( document, documentVersion, err := prb.Documents.Create(
ctx, ctx,
probo.CreateDocumentRequest{ probo.CreateDocumentRequest{
OrganizationID: input.OrganizationID, OrganizationID: input.OrganizationID,
DocumentType: input.DocumentType, DocumentType: input.DocumentType,
Title: input.Title, Title: input.Title,
Content: input.Content, Content: content,
ApproverIDs: input.ApproverIds, ApproverIDs: input.ApproverIds,
Classification: input.Classification, Classification: input.Classification,
TrustCenterVisibility: input.TrustCenterVisibility, TrustCenterVisibility: input.TrustCenterVisibility,