Sanitize upon saving

Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
Émile Ré
2026-03-30 17:52:25 +04:00
parent 62e68dfb6f
commit f3982f23f9
23 changed files with 471 additions and 356 deletions

View File

@@ -3351,29 +3351,3 @@ func (r *Resolver) PublishMinorDocumentVersionTool(ctx context.Context, req *mcp
DocumentVersion: types.NewDocumentVersion(documentVersion),
}, nil
}
func (r *Resolver) UpdateDocumentVersionContentTool(ctx context.Context, req *mcp.CallToolRequest, input *types.UpdateDocumentVersionContentInput) (*mcp.CallToolResult, types.UpdateDocumentVersionContentOutput, error) {
r.MustAuthorize(ctx, input.DocumentVersionID, probo.ActionDocumentUpdate)
svc := r.ProboService(ctx, input.DocumentVersionID)
content, err := svc.Documents.UpdateDocumentVersionContent(
ctx,
probo.UpdateDocumentVersionRequest{
ID: input.DocumentVersionID,
Content: input.Content,
},
)
if err != nil {
var errNotDraft *probo.ErrDocumentVersionNotDraft
if errors.As(err, &errNotDraft) {
return nil, types.UpdateDocumentVersionContentOutput{}, fmt.Errorf("cannot update document version content: %w", err)
}
panic(fmt.Errorf("cannot update document version content: %w", err))
}
return nil, types.UpdateDocumentVersionContentOutput{
Content: content,
}, nil
}

View File

@@ -5597,28 +5597,6 @@ components:
document_version:
$ref: "#/components/schemas/DocumentVersion"
UpdateDocumentVersionContentInput:
type: object
required:
- document_version_id
- content
properties:
document_version_id:
$ref: "#/components/schemas/GID"
description: Document version ID
content:
type: string
description: ProseMirror JSON document content
UpdateDocumentVersionContentOutput:
type: object
required:
- content
properties:
content:
type: string
description: Updated document content
DeleteDraftDocumentVersionInput:
type: object
required:
@@ -7506,14 +7484,6 @@ tools:
$ref: "#/components/schemas/UpdateDocumentVersionInput"
outputSchema:
$ref: "#/components/schemas/UpdateDocumentVersionOutput"
- name: updateDocumentVersionContent
description: Update draft document version body content only (ProseMirror JSON).
hints:
readonly: false
inputSchema:
$ref: "#/components/schemas/UpdateDocumentVersionContentInput"
outputSchema:
$ref: "#/components/schemas/UpdateDocumentVersionContentOutput"
- name: deleteDraftDocumentVersion
description: Delete a draft document version
hints: