Rename State of Applicability to Statement of Applicability
Rename the entity across the full stack: database table (states_of_applicability → statements_of_applicability), Go model, GraphQL types, MCP specification, CLI commands, frontend components, routes, and display labels. Includes a migration to rename the table and its foreign key column. Widen sidebar from 260px to 280px to fit the longer label. Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
@@ -2844,17 +2844,17 @@ func (r *Resolver) DeleteDataProtectionImpactAssessmentTool(ctx context.Context,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (r *Resolver) ListStatesOfApplicabilityTool(ctx context.Context, req *mcp.CallToolRequest, input *types.ListStatesOfApplicabilityInput) (*mcp.CallToolResult, types.ListStatesOfApplicabilityOutput, error) {
|
||||
r.MustAuthorize(ctx, input.OrganizationID, probo.ActionStateOfApplicabilityList)
|
||||
func (r *Resolver) ListStatementsOfApplicabilityTool(ctx context.Context, req *mcp.CallToolRequest, input *types.ListStatementsOfApplicabilityInput) (*mcp.CallToolResult, types.ListStatementsOfApplicabilityOutput, error) {
|
||||
r.MustAuthorize(ctx, input.OrganizationID, probo.ActionStatementOfApplicabilityList)
|
||||
|
||||
prb := r.ProboService(ctx, input.OrganizationID)
|
||||
|
||||
pageOrderBy := page.OrderBy[coredata.StateOfApplicabilityOrderField]{
|
||||
Field: coredata.StateOfApplicabilityOrderFieldCreatedAt,
|
||||
pageOrderBy := page.OrderBy[coredata.StatementOfApplicabilityOrderField]{
|
||||
Field: coredata.StatementOfApplicabilityOrderFieldCreatedAt,
|
||||
Direction: page.OrderDirectionDesc,
|
||||
}
|
||||
if input.OrderBy != nil {
|
||||
pageOrderBy = page.OrderBy[coredata.StateOfApplicabilityOrderField]{
|
||||
pageOrderBy = page.OrderBy[coredata.StatementOfApplicabilityOrderField]{
|
||||
Field: input.OrderBy.Field,
|
||||
Direction: input.OrderBy.Direction,
|
||||
}
|
||||
@@ -2862,107 +2862,107 @@ func (r *Resolver) ListStatesOfApplicabilityTool(ctx context.Context, req *mcp.C
|
||||
|
||||
cursor := types.NewCursor(input.Size, input.Cursor, pageOrderBy)
|
||||
|
||||
pg, err := prb.StatesOfApplicability.ListForOrganizationID(ctx, input.OrganizationID, cursor, coredata.NewStateOfApplicabilityFilter(nil))
|
||||
pg, err := prb.StatementsOfApplicability.ListForOrganizationID(ctx, input.OrganizationID, cursor, coredata.NewStatementOfApplicabilityFilter(nil))
|
||||
if err != nil {
|
||||
return nil, types.ListStatesOfApplicabilityOutput{}, fmt.Errorf("failed to list states of applicability: %w", err)
|
||||
return nil, types.ListStatementsOfApplicabilityOutput{}, fmt.Errorf("failed to list statements of applicability: %w", err)
|
||||
}
|
||||
|
||||
return nil, types.NewListStatesOfApplicabilityOutput(pg), nil
|
||||
return nil, types.NewListStatementsOfApplicabilityOutput(pg), nil
|
||||
}
|
||||
|
||||
func (r *Resolver) GetStateOfApplicabilityTool(ctx context.Context, req *mcp.CallToolRequest, input *types.GetStateOfApplicabilityInput) (*mcp.CallToolResult, types.GetStateOfApplicabilityOutput, error) {
|
||||
r.MustAuthorize(ctx, input.ID, probo.ActionStateOfApplicabilityGet)
|
||||
func (r *Resolver) GetStatementOfApplicabilityTool(ctx context.Context, req *mcp.CallToolRequest, input *types.GetStatementOfApplicabilityInput) (*mcp.CallToolResult, types.GetStatementOfApplicabilityOutput, error) {
|
||||
r.MustAuthorize(ctx, input.ID, probo.ActionStatementOfApplicabilityGet)
|
||||
|
||||
prb := r.ProboService(ctx, input.ID)
|
||||
|
||||
soa, err := prb.StatesOfApplicability.Get(ctx, input.ID)
|
||||
soa, err := prb.StatementsOfApplicability.Get(ctx, input.ID)
|
||||
if err != nil {
|
||||
return nil, types.GetStateOfApplicabilityOutput{}, fmt.Errorf("failed to get state of applicability: %w", err)
|
||||
return nil, types.GetStatementOfApplicabilityOutput{}, fmt.Errorf("failed to get statement of applicability: %w", err)
|
||||
}
|
||||
|
||||
return nil, types.GetStateOfApplicabilityOutput{
|
||||
StateOfApplicability: types.NewStateOfApplicability(soa),
|
||||
return nil, types.GetStatementOfApplicabilityOutput{
|
||||
StatementOfApplicability: types.NewStatementOfApplicability(soa),
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (r *Resolver) AddStateOfApplicabilityTool(ctx context.Context, req *mcp.CallToolRequest, input *types.AddStateOfApplicabilityInput) (*mcp.CallToolResult, types.AddStateOfApplicabilityOutput, error) {
|
||||
r.MustAuthorize(ctx, input.OrganizationID, probo.ActionStateOfApplicabilityCreate)
|
||||
func (r *Resolver) AddStatementOfApplicabilityTool(ctx context.Context, req *mcp.CallToolRequest, input *types.AddStatementOfApplicabilityInput) (*mcp.CallToolResult, types.AddStatementOfApplicabilityOutput, error) {
|
||||
r.MustAuthorize(ctx, input.OrganizationID, probo.ActionStatementOfApplicabilityCreate)
|
||||
|
||||
svc := r.ProboService(ctx, input.OrganizationID)
|
||||
|
||||
soa, err := svc.StatesOfApplicability.Create(ctx, probo.CreateStateOfApplicabilityRequest{
|
||||
soa, err := svc.StatementsOfApplicability.Create(ctx, probo.CreateStatementOfApplicabilityRequest{
|
||||
OrganizationID: input.OrganizationID,
|
||||
Name: input.Name,
|
||||
OwnerID: input.OwnerID,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, types.AddStateOfApplicabilityOutput{}, fmt.Errorf("failed to create state of applicability: %w", err)
|
||||
return nil, types.AddStatementOfApplicabilityOutput{}, fmt.Errorf("failed to create statement of applicability: %w", err)
|
||||
}
|
||||
|
||||
return nil, types.AddStateOfApplicabilityOutput{
|
||||
StateOfApplicability: types.NewStateOfApplicability(soa),
|
||||
return nil, types.AddStatementOfApplicabilityOutput{
|
||||
StatementOfApplicability: types.NewStatementOfApplicability(soa),
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (r *Resolver) UpdateStateOfApplicabilityTool(ctx context.Context, req *mcp.CallToolRequest, input *types.UpdateStateOfApplicabilityInput) (*mcp.CallToolResult, types.UpdateStateOfApplicabilityOutput, error) {
|
||||
r.MustAuthorize(ctx, input.ID, probo.ActionStateOfApplicabilityUpdate)
|
||||
func (r *Resolver) UpdateStatementOfApplicabilityTool(ctx context.Context, req *mcp.CallToolRequest, input *types.UpdateStatementOfApplicabilityInput) (*mcp.CallToolResult, types.UpdateStatementOfApplicabilityOutput, error) {
|
||||
r.MustAuthorize(ctx, input.ID, probo.ActionStatementOfApplicabilityUpdate)
|
||||
|
||||
svc := r.ProboService(ctx, input.ID)
|
||||
|
||||
soa, err := svc.StatesOfApplicability.Update(ctx, probo.UpdateStateOfApplicabilityRequest{
|
||||
StateOfApplicabilityID: input.ID,
|
||||
Name: input.Name,
|
||||
OwnerID: input.OwnerID,
|
||||
soa, err := svc.StatementsOfApplicability.Update(ctx, probo.UpdateStatementOfApplicabilityRequest{
|
||||
StatementOfApplicabilityID: input.ID,
|
||||
Name: input.Name,
|
||||
OwnerID: input.OwnerID,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, types.UpdateStateOfApplicabilityOutput{}, fmt.Errorf("failed to update state of applicability: %w", err)
|
||||
return nil, types.UpdateStatementOfApplicabilityOutput{}, fmt.Errorf("failed to update statement of applicability: %w", err)
|
||||
}
|
||||
|
||||
return nil, types.UpdateStateOfApplicabilityOutput{
|
||||
StateOfApplicability: types.NewStateOfApplicability(soa),
|
||||
return nil, types.UpdateStatementOfApplicabilityOutput{
|
||||
StatementOfApplicability: types.NewStatementOfApplicability(soa),
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (r *Resolver) DeleteStateOfApplicabilityTool(ctx context.Context, req *mcp.CallToolRequest, input *types.DeleteStateOfApplicabilityInput) (*mcp.CallToolResult, types.DeleteStateOfApplicabilityOutput, error) {
|
||||
r.MustAuthorize(ctx, input.ID, probo.ActionStateOfApplicabilityDelete)
|
||||
func (r *Resolver) DeleteStatementOfApplicabilityTool(ctx context.Context, req *mcp.CallToolRequest, input *types.DeleteStatementOfApplicabilityInput) (*mcp.CallToolResult, types.DeleteStatementOfApplicabilityOutput, error) {
|
||||
r.MustAuthorize(ctx, input.ID, probo.ActionStatementOfApplicabilityDelete)
|
||||
|
||||
svc := r.ProboService(ctx, input.ID)
|
||||
|
||||
err := svc.StatesOfApplicability.Delete(ctx, input.ID)
|
||||
err := svc.StatementsOfApplicability.Delete(ctx, input.ID)
|
||||
if err != nil {
|
||||
return nil, types.DeleteStateOfApplicabilityOutput{}, fmt.Errorf("failed to delete state of applicability: %w", err)
|
||||
return nil, types.DeleteStatementOfApplicabilityOutput{}, fmt.Errorf("failed to delete statement of applicability: %w", err)
|
||||
}
|
||||
|
||||
return nil, types.DeleteStateOfApplicabilityOutput{
|
||||
DeletedStateOfApplicabilityID: input.ID,
|
||||
return nil, types.DeleteStatementOfApplicabilityOutput{
|
||||
DeletedStatementOfApplicabilityID: input.ID,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (r *Resolver) ExportStateOfApplicabilityPDFTool(ctx context.Context, req *mcp.CallToolRequest, input *types.ExportStateOfApplicabilityPDFInput) (*mcp.CallToolResult, types.ExportStateOfApplicabilityPDFOutput, error) {
|
||||
r.MustAuthorize(ctx, input.ID, probo.ActionStateOfApplicabilityExport)
|
||||
func (r *Resolver) ExportStatementOfApplicabilityPDFTool(ctx context.Context, req *mcp.CallToolRequest, input *types.ExportStatementOfApplicabilityPDFInput) (*mcp.CallToolResult, types.ExportStatementOfApplicabilityPDFOutput, error) {
|
||||
r.MustAuthorize(ctx, input.ID, probo.ActionStatementOfApplicabilityExport)
|
||||
|
||||
svc := r.ProboService(ctx, input.ID)
|
||||
|
||||
soa, err := svc.StatesOfApplicability.Get(ctx, input.ID)
|
||||
soa, err := svc.StatementsOfApplicability.Get(ctx, input.ID)
|
||||
if err != nil {
|
||||
return nil, types.ExportStateOfApplicabilityPDFOutput{}, fmt.Errorf("failed to get state of applicability: %w", err)
|
||||
return nil, types.ExportStatementOfApplicabilityPDFOutput{}, fmt.Errorf("failed to get statement of applicability: %w", err)
|
||||
}
|
||||
|
||||
pdfData, err := svc.StatesOfApplicability.ExportPDF(ctx, input.ID)
|
||||
pdfData, err := svc.StatementsOfApplicability.ExportPDF(ctx, input.ID)
|
||||
if err != nil {
|
||||
return nil, types.ExportStateOfApplicabilityPDFOutput{}, fmt.Errorf("failed to export state of applicability PDF: %w", err)
|
||||
return nil, types.ExportStatementOfApplicabilityPDFOutput{}, fmt.Errorf("failed to export statement of applicability PDF: %w", err)
|
||||
}
|
||||
|
||||
return nil, types.ExportStateOfApplicabilityPDFOutput{
|
||||
return nil, types.ExportStatementOfApplicabilityPDFOutput{
|
||||
PdfBase64: base64.StdEncoding.EncodeToString(pdfData),
|
||||
Filename: soa.Name + ".pdf",
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (r *Resolver) ListApplicabilityStatementsTool(ctx context.Context, req *mcp.CallToolRequest, input *types.ListApplicabilityStatementsInput) (*mcp.CallToolResult, types.ListApplicabilityStatementsOutput, error) {
|
||||
r.MustAuthorize(ctx, input.StateOfApplicabilityID, probo.ActionApplicabilityStatementList)
|
||||
r.MustAuthorize(ctx, input.StatementOfApplicabilityID, probo.ActionApplicabilityStatementList)
|
||||
|
||||
prb := r.ProboService(ctx, input.StateOfApplicabilityID)
|
||||
prb := r.ProboService(ctx, input.StatementOfApplicabilityID)
|
||||
|
||||
pageOrderBy := page.OrderBy[coredata.ApplicabilityStatementOrderField]{
|
||||
Field: coredata.ApplicabilityStatementOrderFieldControlSectionTitle,
|
||||
@@ -2977,7 +2977,7 @@ func (r *Resolver) ListApplicabilityStatementsTool(ctx context.Context, req *mcp
|
||||
|
||||
cursor := types.NewCursor(input.Size, input.Cursor, pageOrderBy)
|
||||
|
||||
pg, err := prb.StatesOfApplicability.ListApplicabilityStatements(ctx, input.StateOfApplicabilityID, cursor)
|
||||
pg, err := prb.StatementsOfApplicability.ListApplicabilityStatements(ctx, input.StatementOfApplicabilityID, cursor)
|
||||
if err != nil {
|
||||
return nil, types.ListApplicabilityStatementsOutput{}, fmt.Errorf("failed to list applicability statements: %w", err)
|
||||
}
|
||||
@@ -2990,7 +2990,7 @@ func (r *Resolver) GetApplicabilityStatementTool(ctx context.Context, req *mcp.C
|
||||
|
||||
prb := r.ProboService(ctx, input.ID)
|
||||
|
||||
stmt, err := prb.StatesOfApplicability.GetApplicabilityStatement(ctx, input.ID)
|
||||
stmt, err := prb.StatementsOfApplicability.GetApplicabilityStatement(ctx, input.ID)
|
||||
if err != nil {
|
||||
return nil, types.GetApplicabilityStatementOutput{}, fmt.Errorf("failed to get applicability statement: %w", err)
|
||||
}
|
||||
@@ -3001,13 +3001,13 @@ func (r *Resolver) GetApplicabilityStatementTool(ctx context.Context, req *mcp.C
|
||||
}
|
||||
|
||||
func (r *Resolver) AddApplicabilityStatementTool(ctx context.Context, req *mcp.CallToolRequest, input *types.AddApplicabilityStatementInput) (*mcp.CallToolResult, types.AddApplicabilityStatementOutput, error) {
|
||||
r.MustAuthorize(ctx, input.StateOfApplicabilityID, probo.ActionApplicabilityStatementCreate)
|
||||
r.MustAuthorize(ctx, input.StatementOfApplicabilityID, probo.ActionApplicabilityStatementCreate)
|
||||
|
||||
svc := r.ProboService(ctx, input.StateOfApplicabilityID)
|
||||
svc := r.ProboService(ctx, input.StatementOfApplicabilityID)
|
||||
|
||||
stmt, err := svc.StatesOfApplicability.CreateApplicabilityStatement(
|
||||
stmt, err := svc.StatementsOfApplicability.CreateApplicabilityStatement(
|
||||
ctx,
|
||||
input.StateOfApplicabilityID,
|
||||
input.StatementOfApplicabilityID,
|
||||
input.ControlID,
|
||||
input.Applicability,
|
||||
input.Justification,
|
||||
@@ -3026,7 +3026,7 @@ func (r *Resolver) UpdateApplicabilityStatementTool(ctx context.Context, req *mc
|
||||
|
||||
svc := r.ProboService(ctx, input.ID)
|
||||
|
||||
stmt, err := svc.StatesOfApplicability.UpdateApplicabilityStatement(
|
||||
stmt, err := svc.StatementsOfApplicability.UpdateApplicabilityStatement(
|
||||
ctx,
|
||||
input.ID,
|
||||
input.Applicability,
|
||||
@@ -3046,7 +3046,7 @@ func (r *Resolver) DeleteApplicabilityStatementTool(ctx context.Context, req *mc
|
||||
|
||||
svc := r.ProboService(ctx, input.ID)
|
||||
|
||||
err := svc.StatesOfApplicability.DeleteApplicabilityStatement(ctx, input.ID)
|
||||
err := svc.StatementsOfApplicability.DeleteApplicabilityStatement(ctx, input.ID)
|
||||
if err != nil {
|
||||
return nil, types.DeleteApplicabilityStatementOutput{}, fmt.Errorf("failed to delete applicability statement: %w", err)
|
||||
}
|
||||
|
||||
@@ -6076,27 +6076,27 @@ components:
|
||||
$ref: "#/components/schemas/Profile"
|
||||
description: List of attendee profiles
|
||||
|
||||
StateOfApplicabilityOrderField:
|
||||
StatementOfApplicabilityOrderField:
|
||||
type: string
|
||||
enum:
|
||||
- CREATED_AT
|
||||
- NAME
|
||||
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.StateOfApplicabilityOrderField
|
||||
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.StatementOfApplicabilityOrderField
|
||||
|
||||
StateOfApplicabilityOrderBy:
|
||||
StatementOfApplicabilityOrderBy:
|
||||
type: object
|
||||
required:
|
||||
- field
|
||||
- direction
|
||||
properties:
|
||||
field:
|
||||
$ref: "#/components/schemas/StateOfApplicabilityOrderField"
|
||||
description: State of applicability order field
|
||||
$ref: "#/components/schemas/StatementOfApplicabilityOrderField"
|
||||
description: Statement of applicability order field
|
||||
direction:
|
||||
$ref: "#/components/schemas/OrderDirection"
|
||||
description: Order direction
|
||||
|
||||
StateOfApplicability:
|
||||
StatementOfApplicability:
|
||||
type: object
|
||||
required:
|
||||
- id
|
||||
@@ -6108,13 +6108,13 @@ components:
|
||||
properties:
|
||||
id:
|
||||
$ref: "#/components/schemas/GID"
|
||||
description: State of applicability ID
|
||||
description: Statement of applicability ID
|
||||
organization_id:
|
||||
$ref: "#/components/schemas/GID"
|
||||
description: Organization ID
|
||||
name:
|
||||
type: string
|
||||
description: State of applicability name
|
||||
description: Statement of applicability name
|
||||
owner_id:
|
||||
$ref: "#/components/schemas/GID"
|
||||
description: Owner profile ID
|
||||
@@ -6132,7 +6132,7 @@ components:
|
||||
format: date-time
|
||||
description: Update timestamp
|
||||
|
||||
ListStatesOfApplicabilityInput:
|
||||
ListStatementsOfApplicabilityInput:
|
||||
type: object
|
||||
required:
|
||||
- organization_id
|
||||
@@ -6141,7 +6141,7 @@ components:
|
||||
$ref: "#/components/schemas/GID"
|
||||
description: Organization ID
|
||||
order_by:
|
||||
$ref: "#/components/schemas/StateOfApplicabilityOrderBy"
|
||||
$ref: "#/components/schemas/StatementOfApplicabilityOrderBy"
|
||||
description: Order by
|
||||
size:
|
||||
type: integer
|
||||
@@ -6150,37 +6150,37 @@ components:
|
||||
$ref: "#/components/schemas/CursorKey"
|
||||
description: Page cursor
|
||||
|
||||
ListStatesOfApplicabilityOutput:
|
||||
ListStatementsOfApplicabilityOutput:
|
||||
type: object
|
||||
required:
|
||||
- states_of_applicability
|
||||
- statements_of_applicability
|
||||
properties:
|
||||
next_cursor:
|
||||
$ref: "#/components/schemas/CursorKey"
|
||||
description: Next cursor
|
||||
states_of_applicability:
|
||||
statements_of_applicability:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/components/schemas/StateOfApplicability"
|
||||
$ref: "#/components/schemas/StatementOfApplicability"
|
||||
|
||||
GetStateOfApplicabilityInput:
|
||||
GetStatementOfApplicabilityInput:
|
||||
type: object
|
||||
required:
|
||||
- id
|
||||
properties:
|
||||
id:
|
||||
$ref: "#/components/schemas/GID"
|
||||
description: State of applicability ID
|
||||
description: Statement of applicability ID
|
||||
|
||||
GetStateOfApplicabilityOutput:
|
||||
GetStatementOfApplicabilityOutput:
|
||||
type: object
|
||||
required:
|
||||
- state_of_applicability
|
||||
- statement_of_applicability
|
||||
properties:
|
||||
state_of_applicability:
|
||||
$ref: "#/components/schemas/StateOfApplicability"
|
||||
statement_of_applicability:
|
||||
$ref: "#/components/schemas/StatementOfApplicability"
|
||||
|
||||
AddStateOfApplicabilityInput:
|
||||
AddStatementOfApplicabilityInput:
|
||||
type: object
|
||||
required:
|
||||
- organization_id
|
||||
@@ -6192,70 +6192,70 @@ components:
|
||||
description: Organization ID
|
||||
name:
|
||||
type: string
|
||||
description: State of applicability name
|
||||
description: Statement of applicability name
|
||||
owner_id:
|
||||
$ref: "#/components/schemas/GID"
|
||||
description: Owner profile ID
|
||||
|
||||
AddStateOfApplicabilityOutput:
|
||||
AddStatementOfApplicabilityOutput:
|
||||
type: object
|
||||
required:
|
||||
- state_of_applicability
|
||||
- statement_of_applicability
|
||||
properties:
|
||||
state_of_applicability:
|
||||
$ref: "#/components/schemas/StateOfApplicability"
|
||||
statement_of_applicability:
|
||||
$ref: "#/components/schemas/StatementOfApplicability"
|
||||
|
||||
UpdateStateOfApplicabilityInput:
|
||||
UpdateStatementOfApplicabilityInput:
|
||||
type: object
|
||||
required:
|
||||
- id
|
||||
properties:
|
||||
id:
|
||||
$ref: "#/components/schemas/GID"
|
||||
description: State of applicability ID
|
||||
description: Statement of applicability ID
|
||||
name:
|
||||
type: string
|
||||
description: State of applicability name
|
||||
description: Statement of applicability name
|
||||
owner_id:
|
||||
$ref: "#/components/schemas/GID"
|
||||
description: Owner profile ID
|
||||
|
||||
UpdateStateOfApplicabilityOutput:
|
||||
UpdateStatementOfApplicabilityOutput:
|
||||
type: object
|
||||
required:
|
||||
- state_of_applicability
|
||||
- statement_of_applicability
|
||||
properties:
|
||||
state_of_applicability:
|
||||
$ref: "#/components/schemas/StateOfApplicability"
|
||||
statement_of_applicability:
|
||||
$ref: "#/components/schemas/StatementOfApplicability"
|
||||
|
||||
DeleteStateOfApplicabilityInput:
|
||||
DeleteStatementOfApplicabilityInput:
|
||||
type: object
|
||||
required:
|
||||
- id
|
||||
properties:
|
||||
id:
|
||||
$ref: "#/components/schemas/GID"
|
||||
description: State of applicability ID
|
||||
description: Statement of applicability ID
|
||||
|
||||
DeleteStateOfApplicabilityOutput:
|
||||
DeleteStatementOfApplicabilityOutput:
|
||||
type: object
|
||||
required:
|
||||
- deleted_state_of_applicability_id
|
||||
- deleted_statement_of_applicability_id
|
||||
properties:
|
||||
deleted_state_of_applicability_id:
|
||||
deleted_statement_of_applicability_id:
|
||||
$ref: "#/components/schemas/GID"
|
||||
description: Deleted state of applicability ID
|
||||
description: Deleted statement of applicability ID
|
||||
|
||||
ExportStateOfApplicabilityPDFInput:
|
||||
ExportStatementOfApplicabilityPDFInput:
|
||||
type: object
|
||||
required:
|
||||
- id
|
||||
properties:
|
||||
id:
|
||||
$ref: "#/components/schemas/GID"
|
||||
description: State of applicability ID
|
||||
description: Statement of applicability ID
|
||||
|
||||
ExportStateOfApplicabilityPDFOutput:
|
||||
ExportStatementOfApplicabilityPDFOutput:
|
||||
type: object
|
||||
required:
|
||||
- pdf_base64
|
||||
@@ -6292,7 +6292,7 @@ components:
|
||||
type: object
|
||||
required:
|
||||
- id
|
||||
- state_of_applicability_id
|
||||
- statement_of_applicability_id
|
||||
- control_id
|
||||
- organization_id
|
||||
- applicability
|
||||
@@ -6302,9 +6302,9 @@ components:
|
||||
id:
|
||||
$ref: "#/components/schemas/GID"
|
||||
description: Applicability statement ID
|
||||
state_of_applicability_id:
|
||||
statement_of_applicability_id:
|
||||
$ref: "#/components/schemas/GID"
|
||||
description: State of applicability ID
|
||||
description: Statement of applicability ID
|
||||
control_id:
|
||||
$ref: "#/components/schemas/GID"
|
||||
description: Control ID
|
||||
@@ -6336,11 +6336,11 @@ components:
|
||||
ListApplicabilityStatementsInput:
|
||||
type: object
|
||||
required:
|
||||
- state_of_applicability_id
|
||||
- statement_of_applicability_id
|
||||
properties:
|
||||
state_of_applicability_id:
|
||||
statement_of_applicability_id:
|
||||
$ref: "#/components/schemas/GID"
|
||||
description: State of applicability ID
|
||||
description: Statement of applicability ID
|
||||
order_by:
|
||||
$ref: "#/components/schemas/ApplicabilityStatementOrderBy"
|
||||
description: Order by
|
||||
@@ -6384,13 +6384,13 @@ components:
|
||||
AddApplicabilityStatementInput:
|
||||
type: object
|
||||
required:
|
||||
- state_of_applicability_id
|
||||
- statement_of_applicability_id
|
||||
- control_id
|
||||
- applicability
|
||||
properties:
|
||||
state_of_applicability_id:
|
||||
statement_of_applicability_id:
|
||||
$ref: "#/components/schemas/GID"
|
||||
description: State of applicability ID
|
||||
description: Statement of applicability ID
|
||||
control_id:
|
||||
$ref: "#/components/schemas/GID"
|
||||
description: Control ID
|
||||
@@ -8526,60 +8526,60 @@ tools:
|
||||
$ref: "#/components/schemas/ListMeetingAttendeesInput"
|
||||
outputSchema:
|
||||
$ref: "#/components/schemas/ListMeetingAttendeesOutput"
|
||||
- name: listStatesOfApplicability
|
||||
description: List all states of applicability for the organization
|
||||
- name: listStatementsOfApplicability
|
||||
description: List all statements of applicability for the organization
|
||||
hints:
|
||||
readonly: true
|
||||
idempotent: true
|
||||
inputSchema:
|
||||
$ref: "#/components/schemas/ListStatesOfApplicabilityInput"
|
||||
$ref: "#/components/schemas/ListStatementsOfApplicabilityInput"
|
||||
outputSchema:
|
||||
$ref: "#/components/schemas/ListStatesOfApplicabilityOutput"
|
||||
- name: getStateOfApplicability
|
||||
description: Get a state of applicability by ID
|
||||
$ref: "#/components/schemas/ListStatementsOfApplicabilityOutput"
|
||||
- name: getStatementOfApplicability
|
||||
description: Get a statement of applicability by ID
|
||||
hints:
|
||||
readonly: true
|
||||
idempotent: true
|
||||
inputSchema:
|
||||
$ref: "#/components/schemas/GetStateOfApplicabilityInput"
|
||||
$ref: "#/components/schemas/GetStatementOfApplicabilityInput"
|
||||
outputSchema:
|
||||
$ref: "#/components/schemas/GetStateOfApplicabilityOutput"
|
||||
- name: addStateOfApplicability
|
||||
description: Add a new state of applicability to the organization
|
||||
$ref: "#/components/schemas/GetStatementOfApplicabilityOutput"
|
||||
- name: addStatementOfApplicability
|
||||
description: Add a new statement of applicability to the organization
|
||||
hints:
|
||||
readonly: false
|
||||
inputSchema:
|
||||
$ref: "#/components/schemas/AddStateOfApplicabilityInput"
|
||||
$ref: "#/components/schemas/AddStatementOfApplicabilityInput"
|
||||
outputSchema:
|
||||
$ref: "#/components/schemas/AddStateOfApplicabilityOutput"
|
||||
- name: updateStateOfApplicability
|
||||
description: Update an existing state of applicability
|
||||
$ref: "#/components/schemas/AddStatementOfApplicabilityOutput"
|
||||
- name: updateStatementOfApplicability
|
||||
description: Update an existing statement of applicability
|
||||
hints:
|
||||
readonly: false
|
||||
inputSchema:
|
||||
$ref: "#/components/schemas/UpdateStateOfApplicabilityInput"
|
||||
$ref: "#/components/schemas/UpdateStatementOfApplicabilityInput"
|
||||
outputSchema:
|
||||
$ref: "#/components/schemas/UpdateStateOfApplicabilityOutput"
|
||||
- name: deleteStateOfApplicability
|
||||
description: Delete a state of applicability
|
||||
$ref: "#/components/schemas/UpdateStatementOfApplicabilityOutput"
|
||||
- name: deleteStatementOfApplicability
|
||||
description: Delete a statement of applicability
|
||||
hints:
|
||||
readonly: false
|
||||
destructive: true
|
||||
inputSchema:
|
||||
$ref: "#/components/schemas/DeleteStateOfApplicabilityInput"
|
||||
$ref: "#/components/schemas/DeleteStatementOfApplicabilityInput"
|
||||
outputSchema:
|
||||
$ref: "#/components/schemas/DeleteStateOfApplicabilityOutput"
|
||||
- name: exportStateOfApplicabilityPDF
|
||||
description: Export a state of applicability as a PDF document
|
||||
$ref: "#/components/schemas/DeleteStatementOfApplicabilityOutput"
|
||||
- name: exportStatementOfApplicabilityPDF
|
||||
description: Export a statement of applicability as a PDF document
|
||||
hints:
|
||||
readonly: true
|
||||
idempotent: true
|
||||
inputSchema:
|
||||
$ref: "#/components/schemas/ExportStateOfApplicabilityPDFInput"
|
||||
$ref: "#/components/schemas/ExportStatementOfApplicabilityPDFInput"
|
||||
outputSchema:
|
||||
$ref: "#/components/schemas/ExportStateOfApplicabilityPDFOutput"
|
||||
$ref: "#/components/schemas/ExportStatementOfApplicabilityPDFOutput"
|
||||
- name: listApplicabilityStatements
|
||||
description: List all applicability statements for a state of applicability
|
||||
description: List all applicability statements for a statement of applicability
|
||||
hints:
|
||||
readonly: true
|
||||
idempotent: true
|
||||
@@ -8597,7 +8597,7 @@ tools:
|
||||
outputSchema:
|
||||
$ref: "#/components/schemas/GetApplicabilityStatementOutput"
|
||||
- name: addApplicabilityStatement
|
||||
description: Add a control to a state of applicability with an applicability decision
|
||||
description: Add a control to a statement of applicability with an applicability decision
|
||||
hints:
|
||||
readonly: false
|
||||
inputSchema:
|
||||
@@ -8613,7 +8613,7 @@ tools:
|
||||
outputSchema:
|
||||
$ref: "#/components/schemas/UpdateApplicabilityStatementOutput"
|
||||
- name: deleteApplicabilityStatement
|
||||
description: Delete an applicability statement from a state of applicability
|
||||
description: Delete an applicability statement from a statement of applicability
|
||||
hints:
|
||||
readonly: false
|
||||
destructive: true
|
||||
|
||||
@@ -18,8 +18,8 @@ import (
|
||||
"go.probo.inc/probo/pkg/page"
|
||||
)
|
||||
|
||||
func NewStateOfApplicability(s *coredata.StateOfApplicability) *StateOfApplicability {
|
||||
return &StateOfApplicability{
|
||||
func NewStatementOfApplicability(s *coredata.StatementOfApplicability) *StatementOfApplicability {
|
||||
return &StatementOfApplicability{
|
||||
ID: s.ID,
|
||||
OrganizationID: s.OrganizationID,
|
||||
Name: s.Name,
|
||||
@@ -30,33 +30,33 @@ func NewStateOfApplicability(s *coredata.StateOfApplicability) *StateOfApplicabi
|
||||
}
|
||||
}
|
||||
|
||||
func NewListStatesOfApplicabilityOutput(pg *page.Page[*coredata.StateOfApplicability, coredata.StateOfApplicabilityOrderField]) ListStatesOfApplicabilityOutput {
|
||||
items := make([]*StateOfApplicability, 0, len(pg.Data))
|
||||
func NewListStatementsOfApplicabilityOutput(pg *page.Page[*coredata.StatementOfApplicability, coredata.StatementOfApplicabilityOrderField]) ListStatementsOfApplicabilityOutput {
|
||||
items := make([]*StatementOfApplicability, 0, len(pg.Data))
|
||||
for _, v := range pg.Data {
|
||||
items = append(items, NewStateOfApplicability(v))
|
||||
items = append(items, NewStatementOfApplicability(v))
|
||||
}
|
||||
var nextCursor *page.CursorKey
|
||||
if len(pg.Data) > 0 {
|
||||
cursorKey := pg.Data[len(pg.Data)-1].CursorKey(pg.Cursor.OrderBy.Field)
|
||||
nextCursor = &cursorKey
|
||||
}
|
||||
return ListStatesOfApplicabilityOutput{
|
||||
NextCursor: nextCursor,
|
||||
StatesOfApplicability: items,
|
||||
return ListStatementsOfApplicabilityOutput{
|
||||
NextCursor: nextCursor,
|
||||
StatementsOfApplicability: items,
|
||||
}
|
||||
}
|
||||
|
||||
func NewApplicabilityStatement(a *coredata.ApplicabilityStatement) *ApplicabilityStatement {
|
||||
return &ApplicabilityStatement{
|
||||
ID: a.ID,
|
||||
StateOfApplicabilityID: a.StateOfApplicabilityID,
|
||||
ControlID: a.ControlID,
|
||||
OrganizationID: a.OrganizationID,
|
||||
SnapshotID: a.SnapshotID,
|
||||
Applicability: a.Applicability,
|
||||
Justification: a.Justification,
|
||||
CreatedAt: a.CreatedAt,
|
||||
UpdatedAt: a.UpdatedAt,
|
||||
ID: a.ID,
|
||||
StatementOfApplicabilityID: a.StatementOfApplicabilityID,
|
||||
ControlID: a.ControlID,
|
||||
OrganizationID: a.OrganizationID,
|
||||
SnapshotID: a.SnapshotID,
|
||||
Applicability: a.Applicability,
|
||||
Justification: a.Justification,
|
||||
CreatedAt: a.CreatedAt,
|
||||
UpdatedAt: a.UpdatedAt,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user