Refactor DocumentSignaturesTab to DocumentSignaturesPage + fix count bug
Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
@@ -1717,12 +1717,17 @@ func (r *Resolver) ListDocumentVersionSignaturesTool(ctx context.Context, req *m
|
||||
|
||||
cursor := types.NewCursor(input.Size, input.Cursor, pageOrderBy)
|
||||
|
||||
var signatureFilter *coredata.DocumentVersionSignatureFilter
|
||||
if input.Filter != nil && input.Filter.States != nil && len(input.Filter.States) > 0 {
|
||||
signatureFilter = coredata.NewDocumentVersionSignatureFilter(input.Filter.States)
|
||||
} else {
|
||||
signatureFilter = coredata.NewDocumentVersionSignatureFilter(nil)
|
||||
var signatureStates []coredata.DocumentVersionSignatureState
|
||||
var activeContract *bool
|
||||
if input.Filter != nil {
|
||||
if input.Filter.States != nil {
|
||||
signatureStates = input.Filter.States
|
||||
}
|
||||
if input.Filter.ActiveContract != nil {
|
||||
activeContract = input.Filter.ActiveContract
|
||||
}
|
||||
}
|
||||
signatureFilter := coredata.NewDocumentVersionSignatureFilter(signatureStates, activeContract)
|
||||
|
||||
page, err := prb.Documents.ListSignatures(ctx, input.DocumentVersionID, cursor, signatureFilter)
|
||||
if err != nil {
|
||||
|
||||
@@ -3860,6 +3860,9 @@ components:
|
||||
items:
|
||||
$ref: "#/components/schemas/DocumentVersionSignatureState"
|
||||
description: Signature states
|
||||
active_contract:
|
||||
type: boolean
|
||||
description: Signatory contract status
|
||||
|
||||
ListDocumentVersionSignaturesOutput:
|
||||
type: object
|
||||
|
||||
@@ -101,7 +101,7 @@ var (
|
||||
ListControlsToolOutputSchema = mcp.MustUnmarshalSchema(`{"type":"object","required":["controls"],"properties":{"controls":{"type":"array","items":{"type":"object","required":["id","organization_id","framework_id","section_title","name","status","created_at","updated_at"],"properties":{"created_at":{"type":"string","description":"Creation timestamp","format":"date-time"},"description":{"description":"Control description"},"exclusion_justification":{"description":"Exclusion justification"},"framework_id":{"type":"string","format":"string"},"id":{"type":"string","format":"string"},"name":{"type":"string","description":"Control name"},"organization_id":{"type":"string","format":"string"},"section_title":{"type":"string","description":"Section title"},"status":{"type":"string","enum":["INCLUDED","EXCLUDED"]},"updated_at":{"type":"string","description":"Update timestamp","format":"date-time"}}}},"next_cursor":{"type":"string","format":"string"}}}`)
|
||||
ListDataToolInputSchema = mcp.MustUnmarshalSchema(`{"type":"object","required":["organization_id"],"properties":{"cursor":{"type":"string","format":"string"},"filter":{"type":"object","properties":{"snapshot_id":{"type":"string","format":"string"}}},"order_by":{"type":"object","required":["field","direction"],"properties":{"direction":{"type":"string","enum":["ASC","DESC"]},"field":{"type":"string","enum":["CREATED_AT","NAME","DATA_CLASSIFICATION"]}}},"organization_id":{"type":"string","format":"string"},"size":{"type":"integer","description":"Page size"}}}`)
|
||||
ListDataToolOutputSchema = mcp.MustUnmarshalSchema(`{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","organization_id","name","data_classification","owner_id","created_at","updated_at"],"properties":{"created_at":{"type":"string","description":"Creation timestamp","format":"date-time"},"data_classification":{"type":"string","enum":["PUBLIC","INTERNAL","CONFIDENTIAL","SECRET"]},"id":{"type":"string","format":"string"},"name":{"type":"string","description":"Datum name"},"organization_id":{"type":"string","format":"string"},"owner_id":{"type":"string","format":"string"},"snapshot_id":{"description":"Snapshot ID","anyOf":[{"type":"string","format":"string"},{"type":"null","description":"No snapshot"}]},"updated_at":{"type":"string","description":"Update timestamp","format":"date-time"}}}},"next_cursor":{"type":"string","format":"string"}}}`)
|
||||
ListDocumentVersionSignaturesToolInputSchema = mcp.MustUnmarshalSchema(`{"type":"object","required":["document_version_id"],"properties":{"cursor":{"type":"string","format":"string"},"document_version_id":{"type":"string","format":"string"},"filter":{"type":"object","properties":{"states":{"type":"array","description":"Signature states","items":{"type":"string","enum":["REQUESTED","SIGNED"]}}}},"order_by":{"type":"object","required":["field","direction"],"properties":{"direction":{"type":"string","enum":["ASC","DESC"]},"field":{"type":"string","enum":["CREATED_AT","SIGNED_AT"]}}},"size":{"type":"integer","description":"Page size"}}}`)
|
||||
ListDocumentVersionSignaturesToolInputSchema = mcp.MustUnmarshalSchema(`{"type":"object","required":["document_version_id"],"properties":{"cursor":{"type":"string","format":"string"},"document_version_id":{"type":"string","format":"string"},"filter":{"type":"object","properties":{"active_contract":{"type":"boolean","description":"Signatory contract status"},"states":{"type":"array","description":"Signature states","items":{"type":"string","enum":["REQUESTED","SIGNED"]}}}},"order_by":{"type":"object","required":["field","direction"],"properties":{"direction":{"type":"string","enum":["ASC","DESC"]},"field":{"type":"string","enum":["CREATED_AT","SIGNED_AT"]}}},"size":{"type":"integer","description":"Page size"}}}`)
|
||||
ListDocumentVersionSignaturesToolOutputSchema = mcp.MustUnmarshalSchema(`{"type":"object","required":["document_version_signatures"],"properties":{"document_version_signatures":{"type":"array","items":{"type":"object","required":["id","organization_id","document_version_id","state","signed_by","requested_at","created_at","updated_at"],"properties":{"created_at":{"type":"string","description":"Creation timestamp","format":"date-time"},"document_version_id":{"type":"string","format":"string"},"id":{"type":"string","format":"string"},"organization_id":{"type":"string","format":"string"},"requested_at":{"type":"string","description":"Requested timestamp","format":"date-time"},"signed_at":{"description":"Signed timestamp","format":"date-time"},"signed_by":{"type":"string","format":"string"},"state":{"type":"string","enum":["REQUESTED","SIGNED"]},"updated_at":{"type":"string","description":"Update timestamp","format":"date-time"}}}},"next_cursor":{"type":"string","format":"string"}}}`)
|
||||
ListDocumentVersionsToolInputSchema = mcp.MustUnmarshalSchema(`{"type":"object","required":["document_id"],"properties":{"cursor":{"type":"string","format":"string"},"document_id":{"type":"string","format":"string"},"order_by":{"type":"object","required":["field","direction"],"properties":{"direction":{"type":"string","enum":["ASC","DESC"]},"field":{"type":"string","enum":["CREATED_AT","VERSION"]}}},"size":{"type":"integer","description":"Page size"}}}`)
|
||||
ListDocumentVersionsToolOutputSchema = mcp.MustUnmarshalSchema(`{"type":"object","required":["document_versions"],"properties":{"document_versions":{"type":"array","items":{"type":"object","required":["id","organization_id","document_id","title","owner_id","version_number","classification","content","changelog","status","created_at","updated_at"],"properties":{"changelog":{"type":"string","description":"Changelog"},"classification":{"type":"string","enum":["PUBLIC","INTERNAL","CONFIDENTIAL","SECRET"]},"content":{"type":"string","description":"Document content"},"created_at":{"type":"string","description":"Creation timestamp","format":"date-time"},"document_id":{"type":"string","format":"string"},"id":{"type":"string","format":"string"},"organization_id":{"type":"string","format":"string"},"owner_id":{"type":"string","format":"string"},"published_at":{"description":"Published timestamp","format":"date-time"},"status":{"type":"string","enum":["DRAFT","PUBLISHED"]},"title":{"type":"string","description":"Document version title"},"updated_at":{"type":"string","description":"Update timestamp","format":"date-time"},"version_number":{"type":"integer","description":"Version number"}}}},"next_cursor":{"type":"string","format":"string"}}}`)
|
||||
@@ -2173,6 +2173,8 @@ type ListDataInputFilter struct {
|
||||
|
||||
// ListDocumentVersionSignaturesInputFilter represents the schema
|
||||
type ListDocumentVersionSignaturesInputFilter struct {
|
||||
// Signatory contract status
|
||||
ActiveContract *bool `json:"active_contract,omitempty"`
|
||||
// Signature states
|
||||
States []coredata.DocumentVersionSignatureState `json:"states,omitempty"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user