@@ -3351,3 +3351,29 @@ func (r *Resolver) PublishMinorDocumentVersionTool(ctx context.Context, req *mcp
|
|||||||
DocumentVersion: types.NewDocumentVersion(documentVersion),
|
DocumentVersion: types.NewDocumentVersion(documentVersion),
|
||||||
}, nil
|
}, 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
|
||||||
|
}
|
||||||
|
|||||||
@@ -5597,6 +5597,28 @@ components:
|
|||||||
document_version:
|
document_version:
|
||||||
$ref: "#/components/schemas/DocumentVersion"
|
$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:
|
DeleteDraftDocumentVersionInput:
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
@@ -7484,6 +7506,14 @@ tools:
|
|||||||
$ref: "#/components/schemas/UpdateDocumentVersionInput"
|
$ref: "#/components/schemas/UpdateDocumentVersionInput"
|
||||||
outputSchema:
|
outputSchema:
|
||||||
$ref: "#/components/schemas/UpdateDocumentVersionOutput"
|
$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
|
- name: deleteDraftDocumentVersion
|
||||||
description: Delete a draft document version
|
description: Delete a draft document version
|
||||||
hints:
|
hints:
|
||||||
|
|||||||
Reference in New Issue
Block a user