Documentation
¶
Index ¶
- Constants
- Variables
- func BuildControlCatalogForProfile(profile *relational.Profile, db *gorm.DB) (*relational.Catalog, error)
- func CollectControlIDs(controls []relational.Control, controlsMap map[string]uuid.UUID)
- func CollectControlIDsFromGroups(groups []relational.Group, controlsMap map[string]uuid.UUID)
- func CombineBackmatter(backmatters *[]relational.BackMatter) *relational.BackMatter
- func FindFullProfile(db *gorm.DB, id uuid.UUID) (*relational.Profile, error)
- func FindOscalCatalogFromBackMatter(profile *relational.Profile, ref string) (uuid.UUID, error)
- func GatherControlIds(imports relational.Import) []string
- func GetCatalogBackmatter(db *gorm.DB, uuids []uuid.UUID) (*[]relational.BackMatter, error)
- func GetControlCatalogFromBuiltProfile(profile *relational.Profile, db *gorm.DB) (*relational.Catalog, error)
- func GetControlIDsMapFromProfile(profile *relational.Profile, db *gorm.DB) (map[string]uuid.UUID, error)
- func NewValidationErrorResponse(errors []ValidationError) *echo.HTTPError
- func RegisterHandlers(server *api.Server, logger *zap.SugaredLogger, db *gorm.DB, ...)
- func ResolveControls(profile *relational.Profile, db *gorm.DB) ([]uuid.UUID, []relational.Control, error)
- func ResponsibilityPosture(db *gorm.DB, downstreamSSPID uuid.UUID, responsibilityUUIDs []uuid.UUID) (map[uuid.UUID]string, error)
- func SyncExportOffering(db *gorm.DB, offeringID uuid.UUID) error
- func SyncProfileControls(db *gorm.DB, profileID uuid.UUID) ([]string, error)
- type ActivityHandler
- func (h *ActivityHandler) CreateActivity(ctx echo.Context) error
- func (h *ActivityHandler) DeleteActivity(ctx echo.Context) error
- func (h *ActivityHandler) GetActivity(ctx echo.Context) error
- func (h *ActivityHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
- func (h *ActivityHandler) UpdateActivity(ctx echo.Context) error
- type AiDiagnosticsConfig
- type AiDiagnosticsHandler
- type AiDiagnosticsHealthCheck
- type AiDiagnosticsQueue
- type AiDiagnosticsRun
- type AiDiagnosticsRunCell
- type AiDiagnosticsRunDetail
- type AiDiagnosticsSummary
- type AiDiagnosticsTotals
- type ApplySuggestionRequest
- type AssessmentPlanCreateRequest
- type AssessmentPlanHandler
- func (h *AssessmentPlanHandler) AssociateTaskActivity(ctx echo.Context) error
- func (h *AssessmentPlanHandler) Create(ctx echo.Context) error
- func (h *AssessmentPlanHandler) CreateAssessmentAsset(ctx echo.Context) error
- func (h *AssessmentPlanHandler) CreateAssessmentSubject(ctx echo.Context) error
- func (h *AssessmentPlanHandler) CreateTask(ctx echo.Context) error
- func (h *AssessmentPlanHandler) Delete(ctx echo.Context) error
- func (h *AssessmentPlanHandler) DeleteAssessmentAsset(ctx echo.Context) error
- func (h *AssessmentPlanHandler) DeleteAssessmentSubject(ctx echo.Context) error
- func (h *AssessmentPlanHandler) DeleteTask(ctx echo.Context) error
- func (h *AssessmentPlanHandler) DisassociateTaskActivity(ctx echo.Context) error
- func (h *AssessmentPlanHandler) Full(ctx echo.Context) error
- func (h *AssessmentPlanHandler) Get(ctx echo.Context) error
- func (h *AssessmentPlanHandler) GetAssessmentAssets(ctx echo.Context) error
- func (h *AssessmentPlanHandler) GetAssessmentSubjects(ctx echo.Context) error
- func (h *AssessmentPlanHandler) GetBackMatter(ctx echo.Context) error
- func (h *AssessmentPlanHandler) GetImportSsp(ctx echo.Context) error
- func (h *AssessmentPlanHandler) GetLocalDefinitions(ctx echo.Context) error
- func (h *AssessmentPlanHandler) GetMetadata(ctx echo.Context) error
- func (h *AssessmentPlanHandler) GetTaskActivities(ctx echo.Context) error
- func (h *AssessmentPlanHandler) GetTasks(ctx echo.Context) error
- func (h *AssessmentPlanHandler) GetTermsAndConditions(ctx echo.Context) error
- func (h *AssessmentPlanHandler) List(ctx echo.Context) error
- func (h *AssessmentPlanHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
- func (h *AssessmentPlanHandler) Update(ctx echo.Context) error
- func (h *AssessmentPlanHandler) UpdateAssessmentAsset(ctx echo.Context) error
- func (h *AssessmentPlanHandler) UpdateAssessmentSubject(ctx echo.Context) error
- func (h *AssessmentPlanHandler) UpdateTask(ctx echo.Context) error
- type AssessmentPlanUpdateRequest
- type AssessmentResultsHandler
- func (h *AssessmentResultsHandler) AssociateResultFinding(ctx echo.Context) error
- func (h *AssessmentResultsHandler) AssociateResultObservation(ctx echo.Context) error
- func (h *AssessmentResultsHandler) AssociateResultRisk(ctx echo.Context) error
- func (h *AssessmentResultsHandler) Create(ctx echo.Context) error
- func (h *AssessmentResultsHandler) CreateBackMatter(ctx echo.Context) error
- func (h *AssessmentResultsHandler) CreateBackMatterResource(ctx echo.Context) error
- func (h *AssessmentResultsHandler) CreateResult(ctx echo.Context) error
- func (h *AssessmentResultsHandler) CreateResultAttestation(ctx echo.Context) error
- func (h *AssessmentResultsHandler) CreateResultFinding(ctx echo.Context) error
- func (h *AssessmentResultsHandler) CreateResultObservation(ctx echo.Context) error
- func (h *AssessmentResultsHandler) CreateResultRisk(ctx echo.Context) error
- func (h *AssessmentResultsHandler) Delete(ctx echo.Context) error
- func (h *AssessmentResultsHandler) DeleteBackMatter(ctx echo.Context) error
- func (h *AssessmentResultsHandler) DeleteBackMatterResource(ctx echo.Context) error
- func (h *AssessmentResultsHandler) DeleteResult(ctx echo.Context) error
- func (h *AssessmentResultsHandler) DeleteResultAttestation(ctx echo.Context) error
- func (h *AssessmentResultsHandler) DeleteResultFinding(ctx echo.Context) error
- func (h *AssessmentResultsHandler) DeleteResultObservation(ctx echo.Context) error
- func (h *AssessmentResultsHandler) DeleteResultRisk(ctx echo.Context) error
- func (h *AssessmentResultsHandler) DisassociateResultFinding(ctx echo.Context) error
- func (h *AssessmentResultsHandler) DisassociateResultObservation(ctx echo.Context) error
- func (h *AssessmentResultsHandler) DisassociateResultRisk(ctx echo.Context) error
- func (h *AssessmentResultsHandler) Full(ctx echo.Context) error
- func (h *AssessmentResultsHandler) Get(ctx echo.Context) error
- func (h *AssessmentResultsHandler) GetAllFindings(ctx echo.Context) error
- func (h *AssessmentResultsHandler) GetAllObservations(ctx echo.Context) error
- func (h *AssessmentResultsHandler) GetAllRisks(ctx echo.Context) error
- func (h *AssessmentResultsHandler) GetAvailableControls(ctx echo.Context) error
- func (h *AssessmentResultsHandler) GetBackMatter(ctx echo.Context) error
- func (h *AssessmentResultsHandler) GetBackMatterResources(ctx echo.Context) error
- func (h *AssessmentResultsHandler) GetControlDetails(ctx echo.Context) error
- func (h *AssessmentResultsHandler) GetImportAp(ctx echo.Context) error
- func (h *AssessmentResultsHandler) GetLocalDefinitions(ctx echo.Context) error
- func (h *AssessmentResultsHandler) GetMetadata(ctx echo.Context) error
- func (h *AssessmentResultsHandler) GetResult(ctx echo.Context) error
- func (h *AssessmentResultsHandler) GetResultAssociatedFindings(ctx echo.Context) error
- func (h *AssessmentResultsHandler) GetResultAssociatedObservations(ctx echo.Context) error
- func (h *AssessmentResultsHandler) GetResultAssociatedRisks(ctx echo.Context) error
- func (h *AssessmentResultsHandler) GetResultAttestations(ctx echo.Context) error
- func (h *AssessmentResultsHandler) GetResultFindings(ctx echo.Context) error
- func (h *AssessmentResultsHandler) GetResultObservations(ctx echo.Context) error
- func (h *AssessmentResultsHandler) GetResultRisks(ctx echo.Context) error
- func (h *AssessmentResultsHandler) GetResults(ctx echo.Context) error
- func (h *AssessmentResultsHandler) List(ctx echo.Context) error
- func (h *AssessmentResultsHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
- func (h *AssessmentResultsHandler) Update(ctx echo.Context) error
- func (h *AssessmentResultsHandler) UpdateBackMatter(ctx echo.Context) error
- func (h *AssessmentResultsHandler) UpdateBackMatterResource(ctx echo.Context) error
- func (h *AssessmentResultsHandler) UpdateImportAp(ctx echo.Context) error
- func (h *AssessmentResultsHandler) UpdateLocalDefinitions(ctx echo.Context) error
- func (h *AssessmentResultsHandler) UpdateMetadata(ctx echo.Context) error
- func (h *AssessmentResultsHandler) UpdateResult(ctx echo.Context) error
- func (h *AssessmentResultsHandler) UpdateResultAttestation(ctx echo.Context) error
- func (h *AssessmentResultsHandler) UpdateResultFinding(ctx echo.Context) error
- func (h *AssessmentResultsHandler) UpdateResultObservation(ctx echo.Context) error
- func (h *AssessmentResultsHandler) UpdateResultRisk(ctx echo.Context) error
- type BuildByPropsRequest
- type BuildByPropsResponse
- type CatalogHandler
- func (h *CatalogHandler) Create(ctx echo.Context) error
- func (h *CatalogHandler) CreateControl(ctx echo.Context) error
- func (h *CatalogHandler) CreateControlSubControl(ctx echo.Context) error
- func (h *CatalogHandler) CreateGroup(ctx echo.Context) error
- func (h *CatalogHandler) CreateGroupControl(ctx echo.Context) error
- func (h *CatalogHandler) CreateGroupSubGroup(ctx echo.Context) error
- func (h *CatalogHandler) Delete(ctx echo.Context) error
- func (h *CatalogHandler) DeleteControl(ctx echo.Context) error
- func (h *CatalogHandler) DeleteGroup(ctx echo.Context) error
- func (h *CatalogHandler) Full(ctx echo.Context) error
- func (h *CatalogHandler) Get(ctx echo.Context) error
- func (h *CatalogHandler) GetAllControls(ctx echo.Context) error
- func (h *CatalogHandler) GetBackMatter(ctx echo.Context) error
- func (h *CatalogHandler) GetControl(ctx echo.Context) error
- func (h *CatalogHandler) GetControlSubControls(ctx echo.Context) error
- func (h *CatalogHandler) GetControls(ctx echo.Context) error
- func (h *CatalogHandler) GetGroup(ctx echo.Context) error
- func (h *CatalogHandler) GetGroupControls(ctx echo.Context) error
- func (h *CatalogHandler) GetGroupSubGroups(ctx echo.Context) error
- func (h *CatalogHandler) GetGroups(ctx echo.Context) error
- func (h *CatalogHandler) List(ctx echo.Context) error
- func (h *CatalogHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
- func (h *CatalogHandler) SetActive(ctx echo.Context) error
- func (h *CatalogHandler) Update(ctx echo.Context) error
- func (h *CatalogHandler) UpdateControl(ctx echo.Context) error
- func (h *CatalogHandler) UpdateGroup(ctx echo.Context) error
- type ComponentDefinitionHandler
- func (h *ComponentDefinitionHandler) Create(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) CreateBackMatter(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) CreateCapabilities(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) CreateComponents(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) CreateControlImplementations(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) CreateDefinedComponent(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) CreateImportComponentDefinitions(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) CreateIncorporatesComponents(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) Full(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) Get(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) GetBackMatter(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) GetCapabilities(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) GetComponents(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) GetControlImplementations(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) GetDefinedComponent(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) GetImplementedRequirements(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) GetImportComponentDefinitions(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) GetIncorporatesComponents(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) GetStatements(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) List(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
- func (h *ComponentDefinitionHandler) Update(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) UpdateCapability(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) UpdateComponents(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) UpdateControlImplementations(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) UpdateDefinedComponent(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) UpdateImportComponentDefinitions(ctx echo.Context) error
- func (h *ComponentDefinitionHandler) UpdateSingleControlImplementation(ctx echo.Context) error
- type CreateInventoryItemRequest
- type DashboardSuggestionHandler
- func (h *DashboardSuggestionHandler) Accept(ctx echo.Context) error
- func (h *DashboardSuggestionHandler) Config(ctx echo.Context) error
- func (h *DashboardSuggestionHandler) ControlResults(ctx echo.Context) error
- func (h *DashboardSuggestionHandler) EditGroup(ctx echo.Context) error
- func (h *DashboardSuggestionHandler) Events(ctx echo.Context) error
- func (h *DashboardSuggestionHandler) Generalize(ctx echo.Context) error
- func (h *DashboardSuggestionHandler) Generate(ctx echo.Context) error
- func (h *DashboardSuggestionHandler) GetRun(ctx echo.Context) error
- func (h *DashboardSuggestionHandler) LabelKeys(ctx echo.Context) error
- func (h *DashboardSuggestionHandler) LabelSets(ctx echo.Context) error
- func (h *DashboardSuggestionHandler) LabelValues(ctx echo.Context) error
- func (h *DashboardSuggestionHandler) LatestRun(ctx echo.Context) error
- func (h *DashboardSuggestionHandler) ListSuggestions(ctx echo.Context) error
- func (h *DashboardSuggestionHandler) Preview(ctx echo.Context) error
- func (h *DashboardSuggestionHandler) Register(apiGroup *echo.Group, auth echo.MiddlewareFunc, guard middleware.ResourceGuard)
- func (h *DashboardSuggestionHandler) RegisterConfig(apiGroup *echo.Group, middlewares ...echo.MiddlewareFunc)
- func (h *DashboardSuggestionHandler) Reject(ctx echo.Context) error
- type GetAllInventoryItemsRequest
- type ImportFileResult
- type ImportHandler
- type ImportResponse
- type InventoryHandler
- type InventoryItemWithSource
- type PartyHandler
- type PlanOfActionAndMilestonesHandler
- func (h *PlanOfActionAndMilestonesHandler) Create(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) CreateBackMatter(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) CreateBackMatterResource(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) CreateFinding(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) CreateImportSsp(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) CreateObservation(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) CreatePoamItem(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) CreateRisk(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) CreateSystemId(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) Delete(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) DeleteBackMatter(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) DeleteBackMatterResource(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) DeleteFinding(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) DeleteObservation(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) DeletePoamItem(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) DeleteRisk(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) Full(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) Get(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) GetBackMatter(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) GetBackMatterResources(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) GetFindings(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) GetImportSsp(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) GetLocalDefinitions(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) GetMetadata(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) GetObservations(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) GetPoamItems(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) GetRisks(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) GetSystemId(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) List(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
- func (h *PlanOfActionAndMilestonesHandler) Update(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) UpdateBackMatter(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) UpdateBackMatterResource(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) UpdateFinding(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) UpdateImportSsp(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) UpdateLocalDefinitions(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) UpdateMetadata(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) UpdateObservation(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) UpdatePoamItem(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) UpdateRisk(ctx echo.Context) error
- func (h *PlanOfActionAndMilestonesHandler) UpdateSystemId(ctx echo.Context) error
- type ProfileComplianceControl
- type ProfileComplianceGroup
- type ProfileComplianceImplementation
- type ProfileComplianceProgress
- type ProfileComplianceScope
- type ProfileComplianceStatusCount
- type ProfileComplianceSummary
- type ProfileHandler
- func (h *ProfileHandler) AddImport(ctx echo.Context) error
- func (h *ProfileHandler) BuildByProps(ctx echo.Context) error
- func (h *ProfileHandler) ComplianceProgress(ctx echo.Context) error
- func (h *ProfileHandler) Create(ctx echo.Context) error
- func (h *ProfileHandler) DeleteImport(ctx echo.Context) error
- func (h *ProfileHandler) Get(ctx echo.Context) error
- func (h *ProfileHandler) GetBackmatter(ctx echo.Context) error
- func (h *ProfileHandler) GetFull(ctx echo.Context) error
- func (h *ProfileHandler) GetImport(ctx echo.Context) error
- func (h *ProfileHandler) GetMerge(ctx echo.Context) error
- func (h *ProfileHandler) GetModify(ctx echo.Context) error
- func (h *ProfileHandler) List(ctx echo.Context) error
- func (h *ProfileHandler) ListImports(ctx echo.Context) error
- func (h *ProfileHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
- func (h *ProfileHandler) Resolve(ctx echo.Context) error
- func (h *ProfileHandler) Resolved(ctx echo.Context) error
- func (h *ProfileHandler) ResolvedWithCatalogs(ctx echo.Context) error
- func (h *ProfileHandler) UpdateImport(ctx echo.Context) error
- func (h *ProfileHandler) UpdateMerge(ctx echo.Context) error
- type RoleHandler
- type SSPExportOfferingHandler
- func (h *SSPExportOfferingHandler) CreateItem(ctx echo.Context) error
- func (h *SSPExportOfferingHandler) CreateOffering(ctx echo.Context) error
- func (h *SSPExportOfferingHandler) DeleteItem(ctx echo.Context) error
- func (h *SSPExportOfferingHandler) DeleteOffering(ctx echo.Context) error
- func (h *SSPExportOfferingHandler) GetByID(ctx echo.Context) error
- func (h *SSPExportOfferingHandler) GetOffering(ctx echo.Context) error
- func (h *SSPExportOfferingHandler) ListAll(ctx echo.Context) error
- func (h *SSPExportOfferingHandler) ListForSSP(ctx echo.Context) error
- func (h *SSPExportOfferingHandler) Publish(ctx echo.Context) error
- func (h *SSPExportOfferingHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
- func (h *SSPExportOfferingHandler) RegisterNested(api *echo.Group, guard middleware.ResourceGuard)
- func (h *SSPExportOfferingHandler) UpdateItem(ctx echo.Context) error
- func (h *SSPExportOfferingHandler) UpdateOffering(ctx echo.Context) error
- type SSPJobEnqueuer
- type SSPLeverageHandler
- func (h *SSPLeverageHandler) LeveragedControls(ctx echo.Context) error
- func (h *SSPLeverageHandler) RegisterProjection(g *echo.Group, guard middleware.ResourceGuard)
- func (h *SSPLeverageHandler) RegisterSubscribe(g *echo.Group, guard middleware.ResourceGuard)
- func (h *SSPLeverageHandler) Subscribe(ctx echo.Context) error
- type SystemComponentRequest
- type SystemSecurityPlanHandler
- func (h *SystemSecurityPlanHandler) AddProfile(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) ApplySuggestion(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) ApplySuggestionForStatement(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) ApplySuggestionsForStatement(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) AttachProfile(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) BulkApplyComponentSuggestions(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) Create(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) CreateBackMatterResource(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) CreateCharacteristicsAuthorizationBoundaryDiagram(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) CreateCharacteristicsDataFlowDiagram(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) CreateCharacteristicsNetworkArchitectureDiagram(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) CreateImplementedRequirement(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) CreateImplementedRequirementByComponentExport(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) CreateImplementedRequirementByComponentExportProvided(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) CreateImplementedRequirementByComponentExportResponsibility(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) CreateImplementedRequirementStatement(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) CreateImplementedRequirementStatementByComponent(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) CreateImplementedRequirementStatementByComponentExport(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) CreateImplementedRequirementStatementByComponentExportProvided(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) CreateImplementedRequirementStatementByComponentExportResponsibility(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) CreateSystemImplementationComponent(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) CreateSystemImplementationInventoryItem(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) CreateSystemImplementationLeveragedAuthorization(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) CreateSystemImplementationUser(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) Delete(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) DeleteBackMatterResource(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) DeleteCharacteristicsAuthorizationBoundaryDiagram(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) DeleteCharacteristicsDataFlowDiagram(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) DeleteCharacteristicsNetworkArchitectureDiagram(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) DeleteImplementedRequirement(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) DeleteImplementedRequirementByComponentExport(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) DeleteImplementedRequirementByComponentExportProvided(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) DeleteImplementedRequirementByComponentExportResponsibility(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) DeleteImplementedRequirementStatementByComponent(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) DeleteImplementedRequirementStatementByComponentExport(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) DeleteImplementedRequirementStatementByComponentExportProvided(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) DeleteImplementedRequirementStatementByComponentExportResponsibility(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) DeleteSystemImplementationComponent(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) DeleteSystemImplementationInventoryItem(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) DeleteSystemImplementationLeveragedAuthorization(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) DeleteSystemImplementationUser(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) Full(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) Get(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) GetBackMatter(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) GetBackMatterResources(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) GetCharacteristics(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) GetCharacteristicsAuthorizationBoundary(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) GetCharacteristicsDataFlow(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) GetCharacteristicsNetworkArchitecture(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) GetControlImplementation(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) GetImplementedRequirementByComponentExport(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) GetImplementedRequirementStatementByComponentExport(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) GetImplementedRequirements(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) GetImportProfile(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) GetMetadata(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) GetProfile(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) GetSystemImplementation(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) GetSystemImplementationComponent(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) GetSystemImplementationComponents(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) GetSystemImplementationInventoryItems(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) GetSystemImplementationLeveragedAuthorizations(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) GetSystemImplementationUsers(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) List(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) ListProfiles(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
- func (h *SystemSecurityPlanHandler) RemoveProfile(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) SuggestComponents(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) SuggestComponentsForStatement(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) Update(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateBackMatter(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateBackMatterResource(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateCharacteristics(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateCharacteristicsAuthorizationBoundaryDiagram(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateCharacteristicsDataFlowDiagram(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateCharacteristicsNetworkArchitectureDiagram(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateControlImplementation(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateImplementedRequirement(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateImplementedRequirementByComponent(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateImplementedRequirementByComponentExport(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateImplementedRequirementByComponentExportProvided(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateImplementedRequirementByComponentExportResponsibility(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateImplementedRequirementStatement(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateImplementedRequirementStatementByComponent(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateImplementedRequirementStatementByComponentExport(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateImplementedRequirementStatementByComponentExportProvided(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateImplementedRequirementStatementByComponentExportResponsibility(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateImportProfile(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateMetadata(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateSystemImplementation(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateSystemImplementationComponent(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateSystemImplementationInventoryItem(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateSystemImplementationLeveragedAuthorization(ctx echo.Context) error
- func (h *SystemSecurityPlanHandler) UpdateSystemImplementationUser(ctx echo.Context) error
- type Validatable
- type ValidationError
Constants ¶
const ( InventorySourceSSP = "System Security Plan" InventorySourceEvidence = "Evidence Collection" InventorySourcePOAM = "Plan of Action and Milestones" InventorySourceAssessmentPlan = "Assessment Plan" InventorySourceAssessmentResults = "Assessment Results" InventorySourceUnknown = "Unknown" // Source type identifiers SourceTypeSSP = "ssp" SourceTypeEvidence = "evidence" SourceTypePOAM = "poam" SourceTypeAssessmentPlan = "assessment-plan" SourceTypeAssessmentResults = "assessment-results" SourceTypeAP = "ap" SourceTypeAR = "ar" SourceTypeUnknown = "unknown" )
Source type constants
Variables ¶
var ErrDashboardSuggestionWorkerDisabled = errors.New("dashboard suggestion worker disabled")
Functions ¶
func BuildControlCatalogForProfile ¶ added in v0.4.1
func BuildControlCatalogForProfile(profile *relational.Profile, db *gorm.DB) (*relational.Catalog, error)
func CollectControlIDs ¶ added in v0.7.0
func CollectControlIDs(controls []relational.Control, controlsMap map[string]uuid.UUID)
CollectControlIDs recursively extracts control IDs and their CatalogIDs from a list of controls
func CollectControlIDsFromGroups ¶ added in v0.7.0
func CollectControlIDsFromGroups(groups []relational.Group, controlsMap map[string]uuid.UUID)
CollectControlIDsFromGroups recursively extracts control IDs and their CatalogIDs from groups
func CombineBackmatter ¶
func CombineBackmatter(backmatters *[]relational.BackMatter) *relational.BackMatter
Helper functions CombineBackmatter merges multiple BackMatter slices into a single BackMatter by concatenating all resources.
func FindFullProfile ¶
FindFullProfile loads a Profile by its UUID string from the database, preloading all related entities such as metadata, imports, merges, modifications, and back matter.
func FindOscalCatalogFromBackMatter ¶
FindOscalCatalogFromBackMatter searches the profile’s BackMatter for a resource matching the reference string and returns its catalog UUID if found.
func GatherControlIds ¶
func GatherControlIds(imports relational.Import) []string
GatherControlIds extracts unique control IDs from an Import's IncludeControls, avoiding duplicates.
func GetCatalogBackmatter ¶
func GetCatalogBackmatter(db *gorm.DB, uuids []uuid.UUID) (*[]relational.BackMatter, error)
GetCatalogBackmatter retrieves back matter records for the given catalog UUIDs, preloading associated resources from the database.
func GetControlCatalogFromBuiltProfile ¶ added in v0.7.0
func GetControlCatalogFromBuiltProfile(profile *relational.Profile, db *gorm.DB) (*relational.Catalog, error)
func GetControlIDsMapFromProfile ¶ added in v0.7.0
func GetControlIDsMapFromProfile(profile *relational.Profile, db *gorm.DB) (map[string]uuid.UUID, error)
GetControlIDsMapFromProfile resolves a profile and returns a map of control IDs to their CatalogIDs.
func NewValidationErrorResponse ¶ added in v0.4.2
func NewValidationErrorResponse(errors []ValidationError) *echo.HTTPError
func RegisterHandlers ¶
func RegisterHandlers(server *api.Server, logger *zap.SugaredLogger, db *gorm.DB, config *config.Config, evidenceSvc *evidencesvc.EvidenceService, jobEnqueuer SSPJobEnqueuer, pep *middleware.PEP)
RegisterHandlers mounts the OSCAL route groups. pep is the shared, config-selected Policy Enforcement Point (cmd/run.go builds it once); callers that pass nil (e.g. test suites) get a builtin-backed PEP, reproducing the prior access rules with no behavior change.
func ResolveControls ¶
func ResolveControls(profile *relational.Profile, db *gorm.DB) ([]uuid.UUID, []relational.Control, error)
ResolveControls orchestrates control resolution for all imports in the profile, returning the list of catalog UUIDs and the fully processed controls.
func ResponsibilityPosture ¶
func ResponsibilityPosture(db *gorm.DB, downstreamSSPID uuid.UUID, responsibilityUUIDs []uuid.UUID) (map[uuid.UUID]string, error)
ResponsibilityPosture computes per-responsibility compliance posture (satisfied / not-satisfied / unknown) for a downstream SSP, using the same status-count/evidence logic as control-keyed posture (computeProfileControlStatus), but keyed by responsibility_uuid via filter_responsibilities instead of by (catalogId, controlId) via filter_controls (BCH-1339). Feeds the Inherited Capability projection (SSPLeverageHandler.LeveragedControls, BCH-1338 Phase 2) so a downstream can see whether an inherited responsibility is actually backed by satisfying evidence, not just recorded as satisfied at subscribe time. Every requested uuid is always present in the returned map — defaulting to "unknown" when no filter targets it — never an absent key, matching bulkResolveUpstreamResponsibilities's convention in ssp_leverage.go.
func SyncExportOffering ¶
SyncExportOffering is the single write path for an SSPExportOffering's ContentHash and Version, sibling of SyncProfileControls (profiles.go). It recomputes the content hash from the offering's current title/description/items and, only if that hash actually changed, increments Version and persists the new hash — so calling it on an unchanged offering (an idempotent republish) is a no-op. Mirrors SyncProfileControls's concurrency guard: it captures UpdatedAt before recomputing, then aborts inside the write transaction if the row was modified in the meantime, rather than overwriting a newer state with a stale computation.
Types ¶
type ActivityHandler ¶ added in v0.4.1
type ActivityHandler struct {
// contains filtered or unexported fields
}
func NewActivityHandler ¶ added in v0.4.1
func NewActivityHandler(sugar *zap.SugaredLogger, db *gorm.DB) *ActivityHandler
func (*ActivityHandler) CreateActivity ¶ added in v0.4.1
func (h *ActivityHandler) CreateActivity(ctx echo.Context) error
CreateActivity godoc
@Summary Create an Activity
@Description Creates a new activity for us in other resources.
@Tags Activities
@Accept json
@Produce json
@Param activity body oscalTypes_1_1_3.Activity true "Activity object"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Activity]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/activities [post]
func (*ActivityHandler) DeleteActivity ¶ added in v0.4.1
func (h *ActivityHandler) DeleteActivity(ctx echo.Context) error
DeleteActivity godoc
@Summary Delete Activity
@Description Deletes an activity
@Tags Activities
@Param id path string true "Activity ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/activities/{id} [delete]
func (*ActivityHandler) GetActivity ¶ added in v0.4.1
func (h *ActivityHandler) GetActivity(ctx echo.Context) error
GetActivity godoc
@Summary Retrieve an Activity
@Description Retrieves an Activity by its unique ID.
@Tags Activities
@Accept json
@Produce json
@Param id path string true "Activity ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Activity]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/activities/{id} [get]
func (*ActivityHandler) Register ¶ added in v0.4.1
func (h *ActivityHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
func (*ActivityHandler) UpdateActivity ¶ added in v0.4.1
func (h *ActivityHandler) UpdateActivity(ctx echo.Context) error
UpdateActivity godoc
@Summary Update an Activity
@Description Updates properties of an existing Activity by its ID.
@Tags Activities
@Accept json
@Produce json
@Param id path string true "Activity ID"
@Param activity body oscalTypes_1_1_3.Activity true "Activity object"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Activity]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/activities/{id} [put]
type AiDiagnosticsConfig ¶ added in v0.17.0
type AiDiagnosticsHandler ¶ added in v0.17.0
type AiDiagnosticsHandler struct {
// contains filtered or unexported fields
}
func NewAiDiagnosticsHandler ¶ added in v0.17.0
func NewAiDiagnosticsHandler(sugar *zap.SugaredLogger, db *gorm.DB, cfg *config.AIConfig) *AiDiagnosticsHandler
func (*AiDiagnosticsHandler) Register ¶ added in v0.17.0
func (h *AiDiagnosticsHandler) Register(apiGroup *echo.Group)
func (*AiDiagnosticsHandler) RunDetail ¶ added in v0.17.0
func (h *AiDiagnosticsHandler) RunDetail(ctx echo.Context) error
RunDetail godoc
@Summary Get AI diagnostic run detail
@Description Returns one dashboard suggestion run with cells and events.
@Tags AI Diagnostics
@Produce json
@Param runId path string true "Dashboard suggestion run ID"
@Success 200 {object} handler.GenericDataResponse[oscal.AiDiagnosticsRunDetail]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /admin/ai-diagnostics/runs/{runId} [get]
func (*AiDiagnosticsHandler) Runs ¶ added in v0.17.0
func (h *AiDiagnosticsHandler) Runs(ctx echo.Context) error
Runs godoc
@Summary List AI diagnostic runs
@Description Lists dashboard suggestion runs across all SSPs, newest first, with optional status and SSP filters.
@Tags AI Diagnostics
@Produce json
@Param status query string false "Run status" Enums(pending, running, completed, failed)
@Param sspId query string false "System Security Plan ID"
@Param limit query int false "Page size, default 25, max 100" minimum(1) maximum(100)
@Param cursor query string false "Opaque pagination cursor"
@Success 200 {object} handler.GenericDataListResponse[oscal.AiDiagnosticsRun]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /admin/ai-diagnostics/runs [get]
func (*AiDiagnosticsHandler) Summary ¶ added in v0.17.0
func (h *AiDiagnosticsHandler) Summary(ctx echo.Context) error
Summary godoc
@Summary Get AI diagnostics summary
@Description Returns cross-SSP dashboard suggestion totals, suggestion queue stats, and health checks for admins.
@Tags AI Diagnostics
@Produce json
@Success 200 {object} handler.GenericDataResponse[oscal.AiDiagnosticsSummary]
@Failure 401 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /admin/ai-diagnostics/summary [get]
type AiDiagnosticsHealthCheck ¶ added in v0.17.0
type AiDiagnosticsQueue ¶ added in v0.17.0
type AiDiagnosticsQueue struct {
Name string `json:"name"`
MaxWorkers int `json:"maxWorkers"`
Available int64 `json:"available"`
Running int64 `json:"running"`
Retryable int64 `json:"retryable"`
Scheduled int64 `json:"scheduled"`
Completed24h int64 `json:"completed24h"`
Discarded24h int64 `json:"discarded24h"`
OldestAvailableAt *time.Time `json:"oldestAvailableAt"`
}
type AiDiagnosticsRun ¶ added in v0.17.0
type AiDiagnosticsRun struct {
ID string `json:"id"`
SSPID string `json:"sspId"`
SSPName string `json:"sspName"`
Status string `json:"status"`
Model string `json:"model"`
PromptVersion string `json:"promptVersion"`
PlannedCalls int `json:"plannedCalls"`
CompletedCells int `json:"completedCells"`
FailedCells int `json:"failedCells"`
InputTokens int `json:"inputTokens"`
OutputTokens int `json:"outputTokens"`
CacheReadInputTokens int `json:"cacheReadInputTokens"`
CacheCreationInputTokens int `json:"cacheCreationInputTokens"`
CacheHitRatio float64 `json:"cacheHitRatio"`
MappingsReturned int `json:"mappingsReturned"`
MappingsRejected int `json:"mappingsRejected"`
RateLimitedTotal int `json:"rateLimitedTotal"`
StartedAt *time.Time `json:"startedAt"`
CompletedAt *time.Time `json:"completedAt"`
DurationMs int64 `json:"durationMs"`
TriggeredBy *suggestionEventActor `json:"triggeredBy,omitempty"`
}
type AiDiagnosticsRunCell ¶ added in v0.17.0
type AiDiagnosticsRunCell struct {
CellIndex int `json:"cellIndex"`
Status string `json:"status"`
ControlKeys []string `json:"controlKeys"`
LabelSetHashes []string `json:"labelSetHashes"`
InputTokens int `json:"inputTokens"`
OutputTokens int `json:"outputTokens"`
CacheReadInputTokens int `json:"cacheReadInputTokens"`
CacheCreationInputTokens int `json:"cacheCreationInputTokens"`
RateLimitedCount int `json:"rateLimitedCount"`
MappingsReturned int `json:"mappingsReturned"`
MappingsRejected int `json:"mappingsRejected"`
Error *string `json:"error"`
CompletedAt *time.Time `json:"completedAt"`
}
type AiDiagnosticsRunDetail ¶ added in v0.17.0
type AiDiagnosticsRunDetail struct {
AiDiagnosticsRun
Cells []AiDiagnosticsRunCell `json:"cells"`
Events []dashboardSuggestionEventResponse `json:"events"`
}
type AiDiagnosticsSummary ¶ added in v0.17.0
type AiDiagnosticsSummary struct {
Enabled bool `json:"enabled"`
Config AiDiagnosticsConfig `json:"config"`
Totals AiDiagnosticsTotals `json:"totals"`
Queue *AiDiagnosticsQueue `json:"queue"`
Checks []AiDiagnosticsHealthCheck `json:"checks"`
}
type AiDiagnosticsTotals ¶ added in v0.17.0
type AiDiagnosticsTotals struct {
Runs int64 `json:"runs"`
RunsByStatus map[string]int64 `json:"runsByStatus"`
CellsCompleted int64 `json:"cellsCompleted"`
CellsFailed int64 `json:"cellsFailed"`
InputTokens int64 `json:"inputTokens"`
OutputTokens int64 `json:"outputTokens"`
CacheReadInputTokens int64 `json:"cacheReadInputTokens"`
CacheCreationInputTokens int64 `json:"cacheCreationInputTokens"`
CacheHitRatio float64 `json:"cacheHitRatio"`
MappingsReturned int64 `json:"mappingsReturned"`
MappingsRejected int64 `json:"mappingsRejected"`
SuggestionsAccepted int64 `json:"suggestionsAccepted"`
SuggestionsRejected int64 `json:"suggestionsRejected"`
SuggestionsPending int64 `json:"suggestionsPending"`
RateLimitedTotal int64 `json:"rateLimitedTotal"`
}
type ApplySuggestionRequest ¶ added in v0.13.0
type ApplySuggestionRequest struct {
ComponentDefinitionID *uuid.UUID `json:"component-definition-id" binding:"required" format:"uuid"`
DefinedComponentID *uuid.UUID `json:"defined-component-id" binding:"required" format:"uuid"`
}
func (*ApplySuggestionRequest) Validate ¶ added in v0.13.0
func (r *ApplySuggestionRequest) Validate() error
type AssessmentPlanCreateRequest ¶ added in v0.4.2
type AssessmentPlanCreateRequest struct {
Data *oscalTypes.AssessmentPlan
}
func (*AssessmentPlanCreateRequest) Validate ¶ added in v0.4.2
func (ap *AssessmentPlanCreateRequest) Validate() []ValidationError
type AssessmentPlanHandler ¶
type AssessmentPlanHandler struct {
// contains filtered or unexported fields
}
func NewAssessmentPlanHandler ¶
func NewAssessmentPlanHandler(sugar *zap.SugaredLogger, db *gorm.DB) *AssessmentPlanHandler
func (*AssessmentPlanHandler) AssociateTaskActivity ¶ added in v0.4.1
func (h *AssessmentPlanHandler) AssociateTaskActivity(ctx echo.Context) error
AssociateTaskActivity godoc
@Summary Associate an Activity with a Task
@Description Associates an existing Activity to a Task within an Assessment Plan.
@Tags Assessment Plans
@Produce json
@Param id path string true "Assessment Plan ID"
@Param taskId path string true "Task ID"
@Param activityId path string true "Activity ID"
@Success 200 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id}/tasks/{taskId}/associated-activities/{activityId} [post]
func (*AssessmentPlanHandler) Create ¶
func (h *AssessmentPlanHandler) Create(ctx echo.Context) error
Create godoc
@Summary Create an Assessment Plan
@Description Creates a new OSCAL Assessment Plan with comprehensive validation.
@Tags Assessment Plans
@Accept json
@Produce json
@Param plan body oscalTypes_1_1_3.AssessmentPlan true "Assessment Plan object with required fields: UUID, metadata (title, version), import-ssp"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.AssessmentPlan] "Successfully created assessment plan"
@Failure 400 {object} api.Error "Bad request - validation errors or malformed input"
@Failure 401 {object} api.Error "Unauthorized - invalid or missing JWT token"
@Failure 500 {object} api.Error "Internal server error"
@Security OAuth2Password
@Router /oscal/assessment-plans [post]
func (*AssessmentPlanHandler) CreateAssessmentAsset ¶
func (h *AssessmentPlanHandler) CreateAssessmentAsset(ctx echo.Context) error
CreateAssessmentAsset godoc
@Summary Create Assessment Plan Asset
@Description Creates a new assessment asset for an Assessment Plan.
@Tags Assessment Plans
@Accept json
@Produce json
@Param id path string true "Assessment Plan ID"
@Param asset body oscalTypes_1_1_3.AssessmentAssets true "Assessment Asset object"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.AssessmentAssets]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id}/assessment-assets [post]
func (*AssessmentPlanHandler) CreateAssessmentSubject ¶
func (h *AssessmentPlanHandler) CreateAssessmentSubject(ctx echo.Context) error
CreateAssessmentSubject godoc
@Summary Create Assessment Plan Subject
@Description Creates a new assessment subject for an Assessment Plan.
@Tags Assessment Plans
@Accept json
@Produce json
@Param id path string true "Assessment Plan ID"
@Param subject body oscalTypes_1_1_3.AssessmentSubject true "Assessment Subject object"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.AssessmentSubject]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id}/assessment-subjects [post]
func (*AssessmentPlanHandler) CreateTask ¶
func (h *AssessmentPlanHandler) CreateTask(ctx echo.Context) error
CreateTask godoc
@Summary Create Assessment Plan Task
@Description Creates a new task for an Assessment Plan.
@Tags Assessment Plans
@Accept json
@Produce json
@Param id path string true "Assessment Plan ID"
@Param task body oscalTypes_1_1_3.Task true "Task object"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Task]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id}/tasks [post]
func (*AssessmentPlanHandler) Delete ¶
func (h *AssessmentPlanHandler) Delete(ctx echo.Context) error
Delete godoc
@Summary Delete an Assessment Plan
@Description Deletes an Assessment Plan by its unique ID.
@Tags Assessment Plans
@Param id path string true "Assessment Plan ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id} [delete]
func (*AssessmentPlanHandler) DeleteAssessmentAsset ¶
func (h *AssessmentPlanHandler) DeleteAssessmentAsset(ctx echo.Context) error
DeleteAssessmentAsset godoc
@Summary Delete Assessment Plan Asset
@Description Deletes an assessment asset from an Assessment Plan.
@Tags Assessment Plans
@Param id path string true "Assessment Plan ID"
@Param assetId path string true "Assessment Asset ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id}/assessment-assets/{assetId} [delete]
func (*AssessmentPlanHandler) DeleteAssessmentSubject ¶
func (h *AssessmentPlanHandler) DeleteAssessmentSubject(ctx echo.Context) error
DeleteAssessmentSubject godoc
@Summary Delete Assessment Plan Subject
@Description Deletes an assessment subject from an Assessment Plan.
@Tags Assessment Plans
@Param id path string true "Assessment Plan ID"
@Param subjectId path string true "Assessment Subject ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id}/assessment-subjects/{subjectId} [delete]
func (*AssessmentPlanHandler) DeleteTask ¶
func (h *AssessmentPlanHandler) DeleteTask(ctx echo.Context) error
DeleteTask godoc
@Summary Delete Assessment Plan Task
@Description Deletes a task from an Assessment Plan.
@Tags Assessment Plans
@Param id path string true "Assessment Plan ID"
@Param taskId path string true "Task ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id}/tasks/{taskId} [delete]
func (*AssessmentPlanHandler) DisassociateTaskActivity ¶ added in v0.4.1
func (h *AssessmentPlanHandler) DisassociateTaskActivity(ctx echo.Context) error
DisassociateTaskActivity godoc
@Summary Disassociate an Activity from a Task
@Description Removes an association of an Activity from a Task within an Assessment Plan.
@Tags Assessment Plans
@Param id path string true "Assessment Plan ID"
@Param taskId path string true "Task ID"
@Param activityId path string true "Activity ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id}/tasks/{taskId}/associated-activities/{activityId} [delete]
func (*AssessmentPlanHandler) Full ¶
func (h *AssessmentPlanHandler) Full(ctx echo.Context) error
Full godoc
@Summary Get a full Assessment Plan
@Description Retrieves a single Assessment Plan by its unique ID with all related data preloaded.
@Tags Assessment Plans
@Produce json
@Param id path string true "Assessment Plan ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.AssessmentPlan]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id}/full [get]
func (*AssessmentPlanHandler) Get ¶
func (h *AssessmentPlanHandler) Get(ctx echo.Context) error
Get godoc
@Summary Get an Assessment Plan
@Description Retrieves a single Assessment Plan by its unique ID.
@Tags Assessment Plans
@Produce json
@Param id path string true "Assessment Plan ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.AssessmentPlan]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id} [get]
func (*AssessmentPlanHandler) GetAssessmentAssets ¶
func (h *AssessmentPlanHandler) GetAssessmentAssets(ctx echo.Context) error
GetAssessmentAssets godoc
@Summary Get Assessment Plan Assets
@Description Retrieves all assessment assets for an Assessment Plan.
@Tags Assessment Plans
@Produce json
@Param id path string true "Assessment Plan ID"
@Success 200 {object} handler.GenericDataResponse[[]oscalTypes_1_1_3.AssessmentAssets]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id}/assessment-assets [get]
func (*AssessmentPlanHandler) GetAssessmentSubjects ¶
func (h *AssessmentPlanHandler) GetAssessmentSubjects(ctx echo.Context) error
GetAssessmentSubjects godoc
@Summary Get Assessment Plan Subjects
@Description Retrieves all assessment subjects for an Assessment Plan.
@Tags Assessment Plans
@Produce json
@Param id path string true "Assessment Plan ID"
@Success 200 {object} handler.GenericDataResponse[[]oscalTypes_1_1_3.AssessmentSubject]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id}/assessment-subjects [get]
func (*AssessmentPlanHandler) GetBackMatter ¶
func (h *AssessmentPlanHandler) GetBackMatter(ctx echo.Context) error
GetBackMatter godoc
@Summary Get Assessment Plan Back Matter
@Description Retrieves back matter for an Assessment Plan.
@Tags Assessment Plans
@Produce json
@Param id path string true "Assessment Plan ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.BackMatter]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id}/back-matter [get]
func (*AssessmentPlanHandler) GetImportSsp ¶
func (h *AssessmentPlanHandler) GetImportSsp(ctx echo.Context) error
GetImportSsp godoc
@Summary Get Assessment Plan Import SSP
@Description Retrieves import SSP information for an Assessment Plan.
@Tags Assessment Plans
@Produce json
@Param id path string true "Assessment Plan ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ImportSsp]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id}/import-ssp [get]
func (*AssessmentPlanHandler) GetLocalDefinitions ¶
func (h *AssessmentPlanHandler) GetLocalDefinitions(ctx echo.Context) error
GetLocalDefinitions godoc
@Summary Get Assessment Plan Local Definitions
@Description Retrieves local definitions for an Assessment Plan.
@Tags Assessment Plans
@Produce json
@Param id path string true "Assessment Plan ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.LocalDefinitions]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id}/local-definitions [get]
func (*AssessmentPlanHandler) GetMetadata ¶
func (h *AssessmentPlanHandler) GetMetadata(ctx echo.Context) error
GetMetadata godoc
@Summary Get Assessment Plan Metadata
@Description Retrieves metadata for an Assessment Plan.
@Tags Assessment Plans
@Produce json
@Param id path string true "Assessment Plan ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Metadata]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id}/metadata [get]
func (*AssessmentPlanHandler) GetTaskActivities ¶ added in v0.4.1
func (h *AssessmentPlanHandler) GetTaskActivities(ctx echo.Context) error
GetTaskActivities godoc
@Summary List Associated Activities for a Task
@Description Retrieves all Activities associated with a specific Task in an Assessment Plan.
@Tags Assessment Plans
@Produce json
@Param id path string true "Assessment Plan ID"
@Param taskId path string true "Task ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.AssociatedActivity]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id}/tasks/{taskId}/associated-activities [get]
func (*AssessmentPlanHandler) GetTasks ¶
func (h *AssessmentPlanHandler) GetTasks(ctx echo.Context) error
GetTasks godoc
@Summary Get Assessment Plan Tasks
@Description Retrieves all tasks for an Assessment Plan.
@Tags Assessment Plans
@Produce json
@Param id path string true "Assessment Plan ID"
@Success 200 {object} handler.GenericDataResponse[[]oscalTypes_1_1_3.Task]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id}/tasks [get]
func (*AssessmentPlanHandler) GetTermsAndConditions ¶
func (h *AssessmentPlanHandler) GetTermsAndConditions(ctx echo.Context) error
GetTermsAndConditions godoc
@Summary Get Assessment Plan Terms and Conditions
@Description Retrieves terms and conditions for an Assessment Plan.
@Tags Assessment Plans
@Produce json
@Param id path string true "Assessment Plan ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.AssessmentPlanTermsAndConditions]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id}/terms-and-conditions [get]
func (*AssessmentPlanHandler) List ¶
func (h *AssessmentPlanHandler) List(ctx echo.Context) error
List godoc
@Summary List Assessment Plans
@Description Retrieves all Assessment Plans.
@Tags Assessment Plans
@Produce json
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.AssessmentPlan]
@Failure 400 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans [get]
func (*AssessmentPlanHandler) Register ¶
func (h *AssessmentPlanHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
Register registers Assessment Plan endpoints to the API group.
func (*AssessmentPlanHandler) Update ¶
func (h *AssessmentPlanHandler) Update(ctx echo.Context) error
Update godoc
@Summary Update an Assessment Plan
@Description Updates an existing Assessment Plan.
@Tags Assessment Plans
@Accept json
@Produce json
@Param id path string true "Assessment Plan ID"
@Param plan body oscalTypes_1_1_3.AssessmentPlan true "Assessment Plan object"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.AssessmentPlan]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id} [put]
func (*AssessmentPlanHandler) UpdateAssessmentAsset ¶
func (h *AssessmentPlanHandler) UpdateAssessmentAsset(ctx echo.Context) error
UpdateAssessmentAsset godoc
@Summary Update Assessment Plan Asset
@Description Updates an existing assessment asset for an Assessment Plan.
@Tags Assessment Plans
@Accept json
@Produce json
@Param id path string true "Assessment Plan ID"
@Param assetId path string true "Assessment Asset ID"
@Param asset body oscalTypes_1_1_3.AssessmentAssets true "Assessment Asset object"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.AssessmentAssets]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id}/assessment-assets/{assetId} [put]
func (*AssessmentPlanHandler) UpdateAssessmentSubject ¶
func (h *AssessmentPlanHandler) UpdateAssessmentSubject(ctx echo.Context) error
UpdateAssessmentSubject godoc
@Summary Update Assessment Plan Subject
@Description Updates an existing assessment subject for an Assessment Plan.
@Tags Assessment Plans
@Accept json
@Produce json
@Param id path string true "Assessment Plan ID"
@Param subjectId path string true "Assessment Subject ID"
@Param subject body oscalTypes_1_1_3.AssessmentSubject true "Assessment Subject object"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.AssessmentSubject]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id}/assessment-subjects/{subjectId} [put]
func (*AssessmentPlanHandler) UpdateTask ¶
func (h *AssessmentPlanHandler) UpdateTask(ctx echo.Context) error
UpdateTask godoc
@Summary Update Assessment Plan Task
@Description Updates an existing task for an Assessment Plan.
@Tags Assessment Plans
@Accept json
@Produce json
@Param id path string true "Assessment Plan ID"
@Param taskId path string true "Task ID"
@Param task body oscalTypes_1_1_3.Task true "Task object"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Task]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-plans/{id}/tasks/{taskId} [put]
type AssessmentPlanUpdateRequest ¶ added in v0.4.2
type AssessmentPlanUpdateRequest struct {
Data *oscalTypes.AssessmentPlan
}
func (*AssessmentPlanUpdateRequest) Validate ¶ added in v0.4.2
func (ap *AssessmentPlanUpdateRequest) Validate() []ValidationError
type AssessmentResultsHandler ¶ added in v0.4.2
type AssessmentResultsHandler struct {
// contains filtered or unexported fields
}
AssessmentResultsHandler handles OSCAL Assessment Results endpoints.
@Tags Assessment Results
All types are defined in oscalTypes_1_1_3 (see types.go)
func NewAssessmentResultsHandler ¶ added in v0.4.2
func NewAssessmentResultsHandler(sugar *zap.SugaredLogger, db *gorm.DB) *AssessmentResultsHandler
NewAssessmentResultsHandler creates a new handler for Assessment Results endpoints.
func (*AssessmentResultsHandler) AssociateResultFinding ¶ added in v0.4.2
func (h *AssessmentResultsHandler) AssociateResultFinding(ctx echo.Context) error
AssociateResultFinding godoc
@Summary Associate a Finding with a Result
@Description Associates an existing Finding to a Result within an Assessment Results.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Param findingId path string true "Finding ID"
@Success 200 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/associated-findings/{findingId} [post]
func (*AssessmentResultsHandler) AssociateResultObservation ¶ added in v0.4.2
func (h *AssessmentResultsHandler) AssociateResultObservation(ctx echo.Context) error
AssociateResultObservation godoc
@Summary Associate an Observation with a Result
@Description Associates an existing Observation to a Result within an Assessment Results.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Param observationId path string true "Observation ID"
@Success 200 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/associated-observations/{observationId} [post]
func (*AssessmentResultsHandler) AssociateResultRisk ¶ added in v0.4.2
func (h *AssessmentResultsHandler) AssociateResultRisk(ctx echo.Context) error
AssociateResultRisk godoc
@Summary Associate a Risk with a Result
@Description Associates an existing Risk to a Result within an Assessment Results.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Param riskId path string true "Risk ID"
@Success 200 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/associated-risks/{riskId} [post]
func (*AssessmentResultsHandler) Create ¶ added in v0.4.2
func (h *AssessmentResultsHandler) Create(ctx echo.Context) error
Create godoc
@Summary Create an Assessment Results
@Description Creates an Assessment Results from input.
@Tags Assessment Results
@Accept json
@Produce json
@Param ar body oscalTypes_1_1_3.AssessmentResults true "Assessment Results data"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.AssessmentResults]
@Failure 400 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results [post]
func (*AssessmentResultsHandler) CreateBackMatter ¶ added in v0.4.2
func (h *AssessmentResultsHandler) CreateBackMatter(ctx echo.Context) error
CreateBackMatter godoc
@Summary Create back matter
@Description Creates or replaces the back matter for an Assessment Results.
@Tags Assessment Results
@Accept json
@Produce json
@Param id path string true "Assessment Results ID"
@Param backMatter body oscalTypes_1_1_3.BackMatter true "Back Matter"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.BackMatter]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/back-matter [post]
func (*AssessmentResultsHandler) CreateBackMatterResource ¶ added in v0.4.2
func (h *AssessmentResultsHandler) CreateBackMatterResource(ctx echo.Context) error
CreateBackMatterResource godoc
@Summary Create back matter resource
@Description Creates a new resource in the back matter for an Assessment Results.
@Tags Assessment Results
@Accept json
@Produce json
@Param id path string true "Assessment Results ID"
@Param resource body oscalTypes_1_1_3.Resource true "Resource"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Resource]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/back-matter/resources [post]
func (*AssessmentResultsHandler) CreateResult ¶ added in v0.4.2
func (h *AssessmentResultsHandler) CreateResult(ctx echo.Context) error
CreateResult godoc
@Summary Create a result for an Assessment Results
@Description Creates a new result for a given Assessment Results.
@Tags Assessment Results
@Accept json
@Produce json
@Param id path string true "Assessment Results ID"
@Param result body oscalTypes_1_1_3.Result true "Result data"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Result]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results [post]
func (*AssessmentResultsHandler) CreateResultAttestation ¶ added in v0.4.2
func (h *AssessmentResultsHandler) CreateResultAttestation(ctx echo.Context) error
CreateResultAttestation godoc
@Summary Create an attestation for a result
@Description Creates a new attestation for a given result.
@Tags Assessment Results
@Accept json
@Produce json
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Param attestation body oscalTypes_1_1_3.AttestationStatements true "Attestation data"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.AttestationStatements]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/attestations [post]
func (*AssessmentResultsHandler) CreateResultFinding ¶ added in v0.4.2
func (h *AssessmentResultsHandler) CreateResultFinding(ctx echo.Context) error
CreateResultFinding godoc
@Summary Create a finding for a result
@Description Creates a new finding for a given result.
@Tags Assessment Results
@Accept json
@Produce json
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Param finding body oscalTypes_1_1_3.Finding true "Finding data"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Finding]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/findings [post]
func (*AssessmentResultsHandler) CreateResultObservation ¶ added in v0.4.2
func (h *AssessmentResultsHandler) CreateResultObservation(ctx echo.Context) error
CreateResultObservation godoc
@Summary Create an observation for a result
@Description Creates a new observation for a given result.
@Tags Assessment Results
@Accept json
@Produce json
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Param observation body oscalTypes_1_1_3.Observation true "Observation data"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Observation]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/observations [post]
func (*AssessmentResultsHandler) CreateResultRisk ¶ added in v0.4.2
func (h *AssessmentResultsHandler) CreateResultRisk(ctx echo.Context) error
CreateResultRisk godoc
@Summary Create a risk for a result
@Description Creates a new risk for a given result.
@Tags Assessment Results
@Accept json
@Produce json
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Param risk body oscalTypes_1_1_3.Risk true "Risk data"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Risk]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/risks [post]
func (*AssessmentResultsHandler) Delete ¶ added in v0.4.2
func (h *AssessmentResultsHandler) Delete(ctx echo.Context) error
Delete godoc
@Summary Delete an Assessment Results
@Description Deletes an Assessment Results by its ID.
@Tags Assessment Results
@Param id path string true "Assessment Results ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id} [delete]
func (*AssessmentResultsHandler) DeleteBackMatter ¶ added in v0.4.2
func (h *AssessmentResultsHandler) DeleteBackMatter(ctx echo.Context) error
DeleteBackMatter godoc
@Summary Delete back matter
@Description Deletes the back matter for an Assessment Results.
@Tags Assessment Results
@Param id path string true "Assessment Results ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/back-matter [delete]
func (*AssessmentResultsHandler) DeleteBackMatterResource ¶ added in v0.4.2
func (h *AssessmentResultsHandler) DeleteBackMatterResource(ctx echo.Context) error
DeleteBackMatterResource godoc
@Summary Delete back matter resource
@Description Deletes a specific resource from the back matter for an Assessment Results.
@Tags Assessment Results
@Param id path string true "Assessment Results ID"
@Param resourceId path string true "Resource ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/back-matter/resources/{resourceId} [delete]
func (*AssessmentResultsHandler) DeleteResult ¶ added in v0.4.2
func (h *AssessmentResultsHandler) DeleteResult(ctx echo.Context) error
DeleteResult godoc
@Summary Delete a result
@Description Deletes a specific result from an Assessment Results.
@Tags Assessment Results
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId} [delete]
func (*AssessmentResultsHandler) DeleteResultAttestation ¶ added in v0.4.2
func (h *AssessmentResultsHandler) DeleteResultAttestation(ctx echo.Context) error
DeleteResultAttestation godoc
@Summary Delete an attestation
@Description Deletes a specific attestation from a result.
@Tags Assessment Results
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Param attestationId path string true "Attestation ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/attestations/{attestationId} [delete]
func (*AssessmentResultsHandler) DeleteResultFinding ¶ added in v0.4.2
func (h *AssessmentResultsHandler) DeleteResultFinding(ctx echo.Context) error
DeleteResultFinding godoc
@Summary Delete a finding
@Description Deletes a specific finding from a result.
@Tags Assessment Results
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Param findingId path string true "Finding ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/findings/{findingId} [delete]
func (*AssessmentResultsHandler) DeleteResultObservation ¶ added in v0.4.2
func (h *AssessmentResultsHandler) DeleteResultObservation(ctx echo.Context) error
DeleteResultObservation godoc
@Summary Delete an observation
@Description Deletes a specific observation from a result.
@Tags Assessment Results
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Param obsId path string true "Observation ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/observations/{obsId} [delete]
func (*AssessmentResultsHandler) DeleteResultRisk ¶ added in v0.4.2
func (h *AssessmentResultsHandler) DeleteResultRisk(ctx echo.Context) error
DeleteResultRisk godoc
@Summary Delete a risk
@Description Deletes a specific risk from a result.
@Tags Assessment Results
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Param riskId path string true "Risk ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/risks/{riskId} [delete]
func (*AssessmentResultsHandler) DisassociateResultFinding ¶ added in v0.4.2
func (h *AssessmentResultsHandler) DisassociateResultFinding(ctx echo.Context) error
DisassociateResultFinding godoc
@Summary Disassociate a Finding from a Result
@Description Removes an association of a Finding from a Result within an Assessment Results.
@Tags Assessment Results
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Param findingId path string true "Finding ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/associated-findings/{findingId} [delete]
func (*AssessmentResultsHandler) DisassociateResultObservation ¶ added in v0.4.2
func (h *AssessmentResultsHandler) DisassociateResultObservation(ctx echo.Context) error
DisassociateResultObservation godoc
@Summary Disassociate an Observation from a Result
@Description Removes an association of an Observation from a Result within an Assessment Results.
@Tags Assessment Results
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Param observationId path string true "Observation ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/associated-observations/{observationId} [delete]
func (*AssessmentResultsHandler) DisassociateResultRisk ¶ added in v0.4.2
func (h *AssessmentResultsHandler) DisassociateResultRisk(ctx echo.Context) error
DisassociateResultRisk godoc
@Summary Disassociate a Risk from a Result
@Description Removes an association of a Risk from a Result within an Assessment Results.
@Tags Assessment Results
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Param riskId path string true "Risk ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/associated-risks/{riskId} [delete]
func (*AssessmentResultsHandler) Full ¶ added in v0.4.2
func (h *AssessmentResultsHandler) Full(ctx echo.Context) error
Full godoc
@Summary Get a complete Assessment Results
@Description Retrieves a complete Assessment Results by its ID, including all metadata and related objects.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.AssessmentResults]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/full [get]
func (*AssessmentResultsHandler) Get ¶ added in v0.4.2
func (h *AssessmentResultsHandler) Get(ctx echo.Context) error
Get godoc
@Summary Get an Assessment Results
@Description Retrieves a single Assessment Results by its unique ID.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.AssessmentResults]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id} [get]
func (*AssessmentResultsHandler) GetAllFindings ¶ added in v0.4.2
func (h *AssessmentResultsHandler) GetAllFindings(ctx echo.Context) error
GetAllFindings godoc
@Summary List all findings available for association
@Description Retrieves all findings in the system that can be associated with results.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Finding]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/findings [get]
func (*AssessmentResultsHandler) GetAllObservations ¶ added in v0.4.2
func (h *AssessmentResultsHandler) GetAllObservations(ctx echo.Context) error
GetAllObservations godoc
@Summary List all observations available for association
@Description Retrieves all observations in the system that can be associated with results.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Observation]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/observations [get]
func (*AssessmentResultsHandler) GetAllRisks ¶ added in v0.4.2
func (h *AssessmentResultsHandler) GetAllRisks(ctx echo.Context) error
GetAllRisks godoc
@Summary List all risks available for association
@Description Retrieves all risks in the system that can be associated with results.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Risk]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/risks [get]
func (*AssessmentResultsHandler) GetAvailableControls ¶ added in v0.4.2
func (h *AssessmentResultsHandler) GetAvailableControls(ctx echo.Context) error
GetAvailableControls godoc
@Summary Get available controls for findings
@Description Retrieves controls that can be referenced in findings
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Success 200 {object} handler.GenericDataListResponse[[]oscalTypes_1_1_3.Control]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/available-controls [get]
func (*AssessmentResultsHandler) GetBackMatter ¶ added in v0.4.2
func (h *AssessmentResultsHandler) GetBackMatter(ctx echo.Context) error
GetBackMatter godoc
@Summary Get back matter
@Description Retrieves the back matter for an Assessment Results.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.BackMatter]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/back-matter [get]
func (*AssessmentResultsHandler) GetBackMatterResources ¶ added in v0.4.2
func (h *AssessmentResultsHandler) GetBackMatterResources(ctx echo.Context) error
GetBackMatterResources godoc
@Summary Get back matter resources
@Description Retrieves all resources from the back matter for an Assessment Results.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Resource]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/back-matter/resources [get]
func (*AssessmentResultsHandler) GetControlDetails ¶ added in v0.4.2
func (h *AssessmentResultsHandler) GetControlDetails(ctx echo.Context) error
GetControlDetails godoc
@Summary Get control details with statements and objectives
@Description Retrieves a control with all its parts for reference in findings
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Param controlId path string true "Control ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Control]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/control/{controlId} [get]
func (*AssessmentResultsHandler) GetImportAp ¶ added in v0.4.2
func (h *AssessmentResultsHandler) GetImportAp(ctx echo.Context) error
GetImportAp godoc
@Summary Get Assessment Results import-ap
@Description Retrieves import-ap for a given Assessment Results.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ImportAp]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/import-ap [get]
func (*AssessmentResultsHandler) GetLocalDefinitions ¶ added in v0.4.2
func (h *AssessmentResultsHandler) GetLocalDefinitions(ctx echo.Context) error
GetLocalDefinitions godoc
@Summary Get Assessment Results local-definitions
@Description Retrieves local-definitions for a given Assessment Results.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.LocalDefinitions]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/local-definitions [get]
func (*AssessmentResultsHandler) GetMetadata ¶ added in v0.4.2
func (h *AssessmentResultsHandler) GetMetadata(ctx echo.Context) error
GetMetadata godoc
@Summary Get Assessment Results metadata
@Description Retrieves metadata for a given Assessment Results.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Metadata]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/metadata [get]
func (*AssessmentResultsHandler) GetResult ¶ added in v0.4.2
func (h *AssessmentResultsHandler) GetResult(ctx echo.Context) error
GetResult godoc
@Summary Get a specific result
@Description Retrieves a specific result from an Assessment Results.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Result]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId} [get]
func (*AssessmentResultsHandler) GetResultAssociatedFindings ¶ added in v0.4.2
func (h *AssessmentResultsHandler) GetResultAssociatedFindings(ctx echo.Context) error
GetResultAssociatedFindings godoc
@Summary List Associated Findings for a Result
@Description Retrieves all Findings associated with a specific Result in an Assessment Results.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Finding]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/associated-findings [get]
func (*AssessmentResultsHandler) GetResultAssociatedObservations ¶ added in v0.4.2
func (h *AssessmentResultsHandler) GetResultAssociatedObservations(ctx echo.Context) error
GetResultAssociatedObservations godoc
@Summary List Associated Observations for a Result
@Description Retrieves all Observations associated with a specific Result in an Assessment Results.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Observation]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/associated-observations [get]
func (*AssessmentResultsHandler) GetResultAssociatedRisks ¶ added in v0.4.2
func (h *AssessmentResultsHandler) GetResultAssociatedRisks(ctx echo.Context) error
GetResultAssociatedRisks godoc
@Summary List Associated Risks for a Result
@Description Retrieves all Risks associated with a specific Result in an Assessment Results.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Risk]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/associated-risks [get]
func (*AssessmentResultsHandler) GetResultAttestations ¶ added in v0.4.2
func (h *AssessmentResultsHandler) GetResultAttestations(ctx echo.Context) error
GetResultAttestations godoc
@Summary Get attestations for a result
@Description Retrieves all attestations for a given result.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.AttestationStatements]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/attestations [get]
func (*AssessmentResultsHandler) GetResultFindings ¶ added in v0.4.2
func (h *AssessmentResultsHandler) GetResultFindings(ctx echo.Context) error
GetResultFindings godoc
@Summary Get findings for a result
@Description Retrieves all findings for a given result.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Finding]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/findings [get]
func (*AssessmentResultsHandler) GetResultObservations ¶ added in v0.4.2
func (h *AssessmentResultsHandler) GetResultObservations(ctx echo.Context) error
GetResultObservations godoc
@Summary Get observations for a result
@Description Retrieves all observations for a given result.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Observation]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/observations [get]
func (*AssessmentResultsHandler) GetResultRisks ¶ added in v0.4.2
func (h *AssessmentResultsHandler) GetResultRisks(ctx echo.Context) error
GetResultRisks godoc
@Summary Get risks for a result
@Description Retrieves all risks for a given result.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Risk]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/risks [get]
func (*AssessmentResultsHandler) GetResults ¶ added in v0.4.2
func (h *AssessmentResultsHandler) GetResults(ctx echo.Context) error
GetResults godoc
@Summary Get results for an Assessment Results
@Description Retrieves all results for a given Assessment Results.
@Tags Assessment Results
@Produce json
@Param id path string true "Assessment Results ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Result]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results [get]
func (*AssessmentResultsHandler) List ¶ added in v0.4.2
func (h *AssessmentResultsHandler) List(ctx echo.Context) error
List godoc
@Summary List Assessment Results
@Description Retrieves all Assessment Results.
@Tags Assessment Results
@Produce json
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.AssessmentResults]
@Failure 400 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results [get]
func (*AssessmentResultsHandler) Register ¶ added in v0.4.2
func (h *AssessmentResultsHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
Register registers Assessment Results endpoints to the API group.
func (*AssessmentResultsHandler) Update ¶ added in v0.4.2
func (h *AssessmentResultsHandler) Update(ctx echo.Context) error
Update godoc
@Summary Update an Assessment Results
@Description Updates an existing Assessment Results.
@Tags Assessment Results
@Accept json
@Produce json
@Param id path string true "Assessment Results ID"
@Param ar body oscalTypes_1_1_3.AssessmentResults true "Updated Assessment Results object"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.AssessmentResults]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id} [put]
func (*AssessmentResultsHandler) UpdateBackMatter ¶ added in v0.4.2
func (h *AssessmentResultsHandler) UpdateBackMatter(ctx echo.Context) error
UpdateBackMatter godoc
@Summary Update back matter
@Description Updates the back matter for an Assessment Results.
@Tags Assessment Results
@Accept json
@Produce json
@Param id path string true "Assessment Results ID"
@Param backMatter body oscalTypes_1_1_3.BackMatter true "Back Matter"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.BackMatter]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/back-matter [put]
func (*AssessmentResultsHandler) UpdateBackMatterResource ¶ added in v0.4.2
func (h *AssessmentResultsHandler) UpdateBackMatterResource(ctx echo.Context) error
UpdateBackMatterResource godoc
@Summary Update back matter resource
@Description Updates a specific resource in the back matter for an Assessment Results.
@Tags Assessment Results
@Accept json
@Produce json
@Param id path string true "Assessment Results ID"
@Param resourceId path string true "Resource ID"
@Param resource body oscalTypes_1_1_3.Resource true "Resource"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Resource]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/back-matter/resources/{resourceId} [put]
func (*AssessmentResultsHandler) UpdateImportAp ¶ added in v0.4.2
func (h *AssessmentResultsHandler) UpdateImportAp(ctx echo.Context) error
UpdateImportAp godoc
@Summary Update Assessment Results import-ap
@Description Updates import-ap for a given Assessment Results.
@Tags Assessment Results
@Accept json
@Produce json
@Param id path string true "Assessment Results ID"
@Param importAp body oscalTypes_1_1_3.ImportAp true "Import AP data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ImportAp]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/import-ap [put]
func (*AssessmentResultsHandler) UpdateLocalDefinitions ¶ added in v0.4.2
func (h *AssessmentResultsHandler) UpdateLocalDefinitions(ctx echo.Context) error
UpdateLocalDefinitions godoc
@Summary Update Assessment Results local-definitions
@Description Updates local-definitions for a given Assessment Results.
@Tags Assessment Results
@Accept json
@Produce json
@Param id path string true "Assessment Results ID"
@Param localDefinitions body oscalTypes_1_1_3.LocalDefinitions true "Local definitions data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.LocalDefinitions]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/local-definitions [put]
func (*AssessmentResultsHandler) UpdateMetadata ¶ added in v0.4.2
func (h *AssessmentResultsHandler) UpdateMetadata(ctx echo.Context) error
UpdateMetadata godoc
@Summary Update Assessment Results metadata
@Description Updates metadata for a given Assessment Results.
@Tags Assessment Results
@Accept json
@Produce json
@Param id path string true "Assessment Results ID"
@Param metadata body oscalTypes_1_1_3.Metadata true "Metadata data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Metadata]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/metadata [put]
func (*AssessmentResultsHandler) UpdateResult ¶ added in v0.4.2
func (h *AssessmentResultsHandler) UpdateResult(ctx echo.Context) error
UpdateResult godoc
@Summary Update a result
@Description Updates a specific result in an Assessment Results.
@Tags Assessment Results
@Accept json
@Produce json
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Param result body oscalTypes_1_1_3.Result true "Result data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Result]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId} [put]
func (*AssessmentResultsHandler) UpdateResultAttestation ¶ added in v0.4.2
func (h *AssessmentResultsHandler) UpdateResultAttestation(ctx echo.Context) error
UpdateResultAttestation godoc
@Summary Update an attestation
@Description Updates a specific attestation in a result.
@Tags Assessment Results
@Accept json
@Produce json
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Param attestationId path string true "Attestation ID"
@Param attestation body oscalTypes_1_1_3.AttestationStatements true "Attestation data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.AttestationStatements]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/attestations/{attestationId} [put]
func (*AssessmentResultsHandler) UpdateResultFinding ¶ added in v0.4.2
func (h *AssessmentResultsHandler) UpdateResultFinding(ctx echo.Context) error
UpdateResultFinding godoc
@Summary Update a finding
@Description Updates a specific finding in a result.
@Tags Assessment Results
@Accept json
@Produce json
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Param findingId path string true "Finding ID"
@Param finding body oscalTypes_1_1_3.Finding true "Finding data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Finding]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/findings/{findingId} [put]
func (*AssessmentResultsHandler) UpdateResultObservation ¶ added in v0.4.2
func (h *AssessmentResultsHandler) UpdateResultObservation(ctx echo.Context) error
UpdateResultObservation godoc
@Summary Update an observation
@Description Updates a specific observation in a result.
@Tags Assessment Results
@Accept json
@Produce json
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Param obsId path string true "Observation ID"
@Param observation body oscalTypes_1_1_3.Observation true "Observation data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Observation]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/observations/{obsId} [put]
func (*AssessmentResultsHandler) UpdateResultRisk ¶ added in v0.4.2
func (h *AssessmentResultsHandler) UpdateResultRisk(ctx echo.Context) error
UpdateResultRisk godoc
@Summary Update a risk
@Description Updates a specific risk in a result.
@Tags Assessment Results
@Accept json
@Produce json
@Param id path string true "Assessment Results ID"
@Param resultId path string true "Result ID"
@Param riskId path string true "Risk ID"
@Param risk body oscalTypes_1_1_3.Risk true "Risk data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Risk]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/assessment-results/{id}/results/{resultId}/risks/{riskId} [put]
type BuildByPropsRequest ¶ added in v0.12.0
type BuildByPropsRequest struct {
CatalogID string `json:"catalogId"`
MatchStrategy string `json:"matchStrategy"` // all | any
Rules []rule `json:"rules"`
Title string `json:"title"`
Version string `json:"version"`
}
BuildByPropsRequest represents the payload to build a Profile by matching control props.
type BuildByPropsResponse ¶ added in v0.12.0
type BuildByPropsResponse struct {
ProfileID uuid.UUID `json:"profileId"`
ControlIDs []string `json:"controlIds"`
Profile oscalTypes_1_1_3.Profile `json:"profile"`
}
BuildByPropsResponse represents the response payload for Profile build-by-props.
type CatalogHandler ¶
type CatalogHandler struct {
// contains filtered or unexported fields
}
func NewCatalogHandler ¶
func NewCatalogHandler(l *zap.SugaredLogger, db *gorm.DB) *CatalogHandler
func (*CatalogHandler) Create ¶
func (h *CatalogHandler) Create(ctx echo.Context) error
@Summary Create a new Catalog @Description Creates a new OSCAL Catalog. The catalog type may be supplied via the ?type= query param or a catalog-type metadata prop; it defaults to standard. @Tags Catalog @Accept json @Produce json @Param catalog body oscalTypes_1_1_3.Catalog true "Catalog object" @Param type query string false "Catalog type (standard|policy|procedure); overrides any metadata prop" @Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Catalog] @Failure 400 {object} api.Error @Failure 500 {object} api.Error @Security OAuth2Password @Router /oscal/catalogs [post]
func (*CatalogHandler) CreateControl ¶
func (h *CatalogHandler) CreateControl(ctx echo.Context) error
@Summary Create a new Control for a Catalog @Description Adds a top-level control under the specified Catalog. @Tags Catalog @Accept json @Produce json @Param id path string true "Catalog ID" @Param control body oscalTypes_1_1_3.Control true "Control object" @Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Control] @Failure 400 {object} api.Error @Failure 500 {object} api.Error @Security OAuth2Password @Router /oscal/catalogs/{id}/controls [post]
func (*CatalogHandler) CreateControlSubControl ¶
func (h *CatalogHandler) CreateControlSubControl(ctx echo.Context) error
@Summary Create a new Sub-Control for a Control within a Catalog @Description Adds a child control under the specified Catalog Control. @Tags Catalog @Accept json @Produce json @Param id path string true "Catalog ID" @Param control path string true "Parent Control ID" @Param control body oscalTypes_1_1_3.Control true "Control object" @Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Control] @Failure 400 {object} api.Error @Failure 500 {object} api.Error @Security OAuth2Password @Router /oscal/catalogs/{id}/controls/{control}/controls [post]
func (*CatalogHandler) CreateGroup ¶
func (h *CatalogHandler) CreateGroup(ctx echo.Context) error
@Summary Create a new Group for a Catalog @Description Adds a top-level group under the specified Catalog. @Tags Catalog @Accept json @Produce json @Param id path string true "Catalog ID" @Param group body oscalTypes_1_1_3.Group true "Group object" @Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Group] @Failure 400 {object} api.Error @Failure 500 {object} api.Error @Security OAuth2Password @Router /oscal/catalogs/{id}/groups [post]
func (*CatalogHandler) CreateGroupControl ¶
func (h *CatalogHandler) CreateGroupControl(ctx echo.Context) error
CreateGroupControl godoc
@Summary Create a new Control for a Catalog Group
@Description Adds a control under the specified Catalog and Group.
@Tags Catalog
@Accept json
@Produce json
@Param id path string true "Catalog ID"
@Param group path string true "Parent Group ID"
@Param control body oscalTypes_1_1_3.Control true "Control object"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Control]
@Failure 400 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/catalogs/{id}/groups/{group}/controls [post]
func (*CatalogHandler) CreateGroupSubGroup ¶
func (h *CatalogHandler) CreateGroupSubGroup(ctx echo.Context) error
@Summary Create a new Sub-Group for a Catalog Group @Description Adds a sub-group under the specified Catalog and Group. @Tags Catalog @Accept json @Produce json @Param id path string true "Catalog ID" @Param group path string true "Parent Group ID" @Param group body oscalTypes_1_1_3.Group true "Group object" @Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Group] @Failure 400 {object} api.Error @Failure 500 {object} api.Error @Security OAuth2Password @Router /oscal/catalogs/{id}/groups/{group}/groups [post]
func (*CatalogHandler) Delete ¶ added in v0.9.0
func (h *CatalogHandler) Delete(ctx echo.Context) error
Delete godoc
@Summary Delete a Catalog (cascade)
@Description Deletes a Catalog and cascades to related groups/controls, metadata and back-matter.
@Tags Catalog
@Param id path string true "Catalog ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/catalogs/{id} [delete]
func (*CatalogHandler) DeleteControl ¶ added in v0.9.0
func (h *CatalogHandler) DeleteControl(ctx echo.Context) error
DeleteControl godoc
@Summary Delete a Control (cascade)
@Description Deletes a Control and cascades to nested children; clears filter associations.
@Tags Catalog
@Param id path string true "Catalog ID"
@Param control path string true "Control ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/catalogs/{id}/controls/{control} [delete]
func (*CatalogHandler) DeleteGroup ¶ added in v0.9.0
func (h *CatalogHandler) DeleteGroup(ctx echo.Context) error
DeleteGroup godoc
@Summary Delete a Group (cascade)
@Description Deletes a Group and cascades to nested groups and controls.
@Tags Catalog
@Param id path string true "Catalog ID"
@Param group path string true "Group ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/catalogs/{id}/groups/{group} [delete]
func (*CatalogHandler) Get ¶
func (h *CatalogHandler) Get(ctx echo.Context) error
Get godoc
@Summary Get a Catalog
@Description Retrieves a single Catalog by its unique ID.
@Tags Catalog
@Produce json
@Param id path string true "Catalog ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Catalog]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 401 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/catalogs/{id} [get]
func (*CatalogHandler) GetAllControls ¶ added in v0.12.0
func (h *CatalogHandler) GetAllControls(ctx echo.Context) error
@Summary List controls for a Catalog @Description Retrieves the top-level controls for a given Catalog. @Tags Catalog @Produce json @Param id path string true "Catalog ID" @Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Control] @Failure 400 {object} api.Error @Failure 404 {object} api.Error @Failure 401 {object} api.Error @Failure 500 {object} api.Error @Security OAuth2Password @Router /oscal/catalogs/{id}/all-controls [get]
func (*CatalogHandler) GetBackMatter ¶
func (h *CatalogHandler) GetBackMatter(ctx echo.Context) error
GetBackMatter godoc
@Summary Get back-matter for a Catalog
@Description Retrieves the back-matter for a given Catalog.
@Tags Catalog
@Produce json
@Param id path string true "Catalog ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.BackMatter]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 401 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/catalogs/{id}/back-matter [get]
func (*CatalogHandler) GetControl ¶
func (h *CatalogHandler) GetControl(ctx echo.Context) error
GetControl godoc
@Summary Get a specific Control within a Catalog
@Description Retrieves a single Control by its ID for a given Catalog.
@Tags Catalog
@Produce json
@Param id path string true "Catalog ID"
@Param control path string true "Control ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Control]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/catalogs/{id}/controls/{control} [get]
func (*CatalogHandler) GetControlSubControls ¶
func (h *CatalogHandler) GetControlSubControls(ctx echo.Context) error
@Summary List child controls for a Control within a Catalog @Description Retrieves the controls directly under a specific Control in a given Catalog. @Tags Catalog @Produce json @Param id path string true "Catalog ID" @Param control path string true "Control ID" @Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Control] @Failure 400 {object} api.Error @Failure 404 {object} api.Error @Failure 500 {object} api.Error @Security OAuth2Password @Router /oscal/catalogs/{id}/controls/{control}/controls [get]
func (*CatalogHandler) GetControls ¶
func (h *CatalogHandler) GetControls(ctx echo.Context) error
@Summary List controls for a Catalog @Description Retrieves the top-level controls for a given Catalog. @Tags Catalog @Produce json @Param id path string true "Catalog ID" @Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Control] @Failure 400 {object} api.Error @Failure 404 {object} api.Error @Failure 401 {object} api.Error @Failure 500 {object} api.Error @Security OAuth2Password @Router /oscal/catalogs/{id}/controls [get]
func (*CatalogHandler) GetGroup ¶
func (h *CatalogHandler) GetGroup(ctx echo.Context) error
GetGroup godoc
@Summary Get a specific Group within a Catalog
@Description Retrieves a single Group by its ID for a given Catalog.
@Tags Catalog
@Produce json
@Param id path string true "Catalog ID"
@Param group path string true "Group ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Group]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/catalogs/{id}/groups/{group} [get]
func (*CatalogHandler) GetGroupControls ¶
func (h *CatalogHandler) GetGroupControls(ctx echo.Context) error
GetGroupControls godoc
@Summary List controls for a Group within a Catalog
@Description Retrieves the controls directly under a specific Group in a given Catalog.
@Tags Catalog
@Produce json
@Param id path string true "Catalog ID"
@Param group path string true "Group ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Control]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/catalogs/{id}/groups/{group}/controls [get]
func (*CatalogHandler) GetGroupSubGroups ¶
func (h *CatalogHandler) GetGroupSubGroups(ctx echo.Context) error
GetGroupSubGroups godoc
@Summary List sub-groups for a Group within a Catalog
@Description Retrieves the sub-groups of a specific Group in a given Catalog.
@Tags Catalog
@Produce json
@Param id path string true "Catalog ID"
@Param group path string true "Group ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Group]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/catalogs/{id}/groups/{group}/groups [get]
func (*CatalogHandler) GetGroups ¶
func (h *CatalogHandler) GetGroups(ctx echo.Context) error
GetGroups godoc
@Summary List groups for a Catalog
@Description Retrieves the top-level groups for a given Catalog.
@Tags Catalog
@Produce json
@Param id path string true "Catalog ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Group]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 401 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/catalogs/{id}/groups [get]
func (*CatalogHandler) List ¶
func (h *CatalogHandler) List(ctx echo.Context) error
@Summary List catalogs @Description Retrieves all catalogs, optionally filtered by catalog type. @Tags Catalog @Produce json @Param type query string false "Filter by catalog type (standard|policy|procedure)" @Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Catalog] @Failure 400 {object} api.Error @Failure 500 {object} api.Error @Security OAuth2Password @Router /oscal/catalogs [get]
func (*CatalogHandler) Register ¶
func (h *CatalogHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
func (*CatalogHandler) SetActive ¶
func (h *CatalogHandler) SetActive(ctx echo.Context) error
SetActive godoc
@Summary Set a Catalog's active state
@Description Marks a catalog active or inactive. Inactive catalogs are hidden from the lineage /roots listing but remain reachable as control-link children. This is the reliable way to toggle the flag (a struct-based Update leaves it untouched).
@Tags Catalog
@Accept json
@Produce json
@Param id path string true "Catalog ID"
@Param body body handler.SetCatalogActiveRequest true "Active state"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Catalog]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/catalogs/{id}/active [put]
func (*CatalogHandler) Update ¶
func (h *CatalogHandler) Update(ctx echo.Context) error
@Summary Update a Catalog @Description Updates an existing OSCAL Catalog. @Tags Catalog @Accept json @Produce json @Param id path string true "Catalog ID" @Param catalog body oscalTypes_1_1_3.Catalog true "Updated Catalog object" @Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Catalog] @Failure 400 {object} api.Error @Failure 404 {object} api.Error @Failure 500 {object} api.Error @Security OAuth2Password @Router /oscal/catalogs/{id} [put]
func (*CatalogHandler) UpdateControl ¶
func (h *CatalogHandler) UpdateControl(ctx echo.Context) error
@Summary Update a Control within a Catalog @Description Updates the properties of an existing Control under the specified Catalog. @Tags Catalog @Accept json @Produce json @Param id path string true "Catalog ID" @Param control path string true "Control ID" @Param control body oscalTypes_1_1_3.Control true "Updated Control object" @Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Control] @Failure 400 {object} api.Error @Failure 404 {object} api.Error @Failure 500 {object} api.Error @Security OAuth2Password @Router /oscal/catalogs/{id}/controls/{control} [put]
func (*CatalogHandler) UpdateGroup ¶
func (h *CatalogHandler) UpdateGroup(ctx echo.Context) error
@Summary Update a Group within a Catalog @Description Updates the properties of an existing Group under the specified Catalog. @Tags Catalog @Accept json @Produce json @Param id path string true "Catalog ID" @Param group path string true "Group ID" @Param group body oscalTypes_1_1_3.Group true "Updated Group object" @Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Group] @Failure 400 {object} api.Error @Failure 404 {object} api.Error @Failure 500 {object} api.Error @Security OAuth2Password @Router /oscal/catalogs/{id}/groups/{group} [put]
type ComponentDefinitionHandler ¶
type ComponentDefinitionHandler struct {
// contains filtered or unexported fields
}
func NewComponentDefinitionHandler ¶
func NewComponentDefinitionHandler(sugar *zap.SugaredLogger, db *gorm.DB) *ComponentDefinitionHandler
func (*ComponentDefinitionHandler) Create ¶
func (h *ComponentDefinitionHandler) Create(ctx echo.Context) error
Create godoc
@Summary Create a component definition
@Description Creates a new component definition.
@Tags Component Definitions
@Accept json
@Produce json
@Param componentDefinition body oscalTypes_1_1_3.ComponentDefinition true "Component Definition"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ComponentDefinition]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions [post]
func (*ComponentDefinitionHandler) CreateBackMatter ¶
func (h *ComponentDefinitionHandler) CreateBackMatter(ctx echo.Context) error
CreateBackMatter godoc
@Summary Create back-matter for a component definition
@Description Creates new back-matter for a given component definition.
@Tags Component Definitions
@Accept json
@Produce json
@Param id path string true "Component Definition ID"
@Param back-matter body oscalTypes_1_1_3.BackMatter true "Back Matter"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.BackMatter]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/back-matter [post]
func (*ComponentDefinitionHandler) CreateCapabilities ¶
func (h *ComponentDefinitionHandler) CreateCapabilities(ctx echo.Context) error
CreateCapabilities godoc
@Summary Create capabilities for a component definition
@Description Creates new capabilities for a given component definition.
@Tags Component Definitions
@Accept json
@Produce json
@Param id path string true "Component Definition ID"
@Param capabilities body []oscalTypes_1_1_3.Capability true "Capabilities"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Capability]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/capabilities [post]
func (*ComponentDefinitionHandler) CreateComponents ¶
func (h *ComponentDefinitionHandler) CreateComponents(ctx echo.Context) error
CreateComponents godoc
@Summary Create components for a component definition
@Description Creates new components for a given component definition.
@Tags Component Definitions
@Accept json
@Produce json
@Param id path string true "Component Definition ID"
@Param components body []oscalTypes_1_1_3.DefinedComponent true "Components to create"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.DefinedComponent]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/components [post]
func (*ComponentDefinitionHandler) CreateControlImplementations ¶
func (h *ComponentDefinitionHandler) CreateControlImplementations(ctx echo.Context) error
CreateControlImplementations godoc
@Summary Create control implementations for a defined component
@Description Creates new control implementations for a given defined component.
@Tags Component Definitions
@Accept json
@Produce json
@Param id path string true "Component Definition ID"
@Param defined-component path string true "Defined Component ID"
@Param control-implementations body []oscalTypes_1_1_3.ControlImplementationSet true "Control Implementations"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.ControlImplementationSet]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/components/{defined-component}/control-implementations [post]
func (*ComponentDefinitionHandler) CreateDefinedComponent ¶
func (h *ComponentDefinitionHandler) CreateDefinedComponent(ctx echo.Context) error
CreateDefinedComponent godoc
@Summary Create a defined component for a component definition
@Description Creates a new defined component for a given component definition.
@Tags Component Definitions
@Accept json
@Produce json
@Param id path string true "Component Definition ID"
@Param defined-component body oscalTypes_1_1_3.DefinedComponent true "Defined Component to create"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.DefinedComponent]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/components/{defined-component} [post]
func (*ComponentDefinitionHandler) CreateImportComponentDefinitions ¶
func (h *ComponentDefinitionHandler) CreateImportComponentDefinitions(ctx echo.Context) error
CreateImportComponentDefinitions godoc
@Summary Create import component definitions for a component definition
@Description Creates new import component definitions for a given component definition.
@Tags Component Definitions
@Produce json
@Param id path string true "Component Definition ID"
@Param import-component-definitions body []oscalTypes_1_1_3.ImportComponentDefinition true "Import Component Definitions"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.ImportComponentDefinition]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/import-component-definitions [post]
func (*ComponentDefinitionHandler) CreateIncorporatesComponents ¶
func (h *ComponentDefinitionHandler) CreateIncorporatesComponents(ctx echo.Context) error
CreateIncorporatesComponents godoc
@Summary Create incorporates components for a component definition
@Description Creates new incorporates components for a given component definition.
@Tags Component Definitions
@Accept json
@Produce json
@Param id path string true "Component Definition ID"
@Param incorporates-components body []oscalTypes_1_1_3.IncorporatesComponent true "Incorporates Components"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.IncorporatesComponent]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/capabilities/incorporates-components [post]
func (*ComponentDefinitionHandler) Full ¶
func (h *ComponentDefinitionHandler) Full(ctx echo.Context) error
Full godoc
@Summary Get a complete Component Definition
@Description Retrieves a complete Component Definition by its ID, including all metadata and revisions.
@Tags Component Definitions
@Produce json
@Param id path string true "Component Definition ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ComponentDefinition]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/full [get]
func (*ComponentDefinitionHandler) Get ¶
func (h *ComponentDefinitionHandler) Get(ctx echo.Context) error
Get godoc
@Summary Get a component definition
@Description Retrieves a single component definition by its unique ID.
@Tags Component Definitions
@Produce json
@Param id path string true "Component Definition ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ComponentDefinition]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id} [get]
func (*ComponentDefinitionHandler) GetBackMatter ¶
func (h *ComponentDefinitionHandler) GetBackMatter(ctx echo.Context) error
GetBackMatter godoc
@Summary Get back-matter for a Component Definition
@Description Retrieves the back-matter for a given Component Definition.
@Tags Component Definitions
@Produce json
@Param id path string true "Component Definition ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.BackMatter]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/back-matter [get]
func (*ComponentDefinitionHandler) GetCapabilities ¶
func (h *ComponentDefinitionHandler) GetCapabilities(ctx echo.Context) error
GetCapabilities godoc
@Summary Get capabilities for a component definition
@Description Retrieves all capabilities for a given component definition.
@Tags Component Definitions
@Produce json
@Param id path string true "Component Definition ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Capability]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/capabilities [get]
func (*ComponentDefinitionHandler) GetComponents ¶
func (h *ComponentDefinitionHandler) GetComponents(ctx echo.Context) error
GetComponents godoc
@Summary Get components for a component definition
@Description Retrieves all components for a given component definition.
@Tags Component Definitions
@Produce json
@Param id path string true "Component Definition ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.DefinedComponent]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/components [get]
func (*ComponentDefinitionHandler) GetControlImplementations ¶
func (h *ComponentDefinitionHandler) GetControlImplementations(ctx echo.Context) error
GetControlImplementations godoc
@Summary Get control implementations for a defined component
@Description Retrieves all control implementations for a given defined component.
@Tags Component Definitions
@Produce json
@Param id path string true "Component Definition ID"
@Param defined-component path string true "Defined Component ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.ControlImplementationSet]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/components/{defined-component}/control-implementations [get]
func (*ComponentDefinitionHandler) GetDefinedComponent ¶
func (h *ComponentDefinitionHandler) GetDefinedComponent(ctx echo.Context) error
GetDefinedComponent godoc
@Summary Get a defined component for a component definition
@Description Retrieves a defined component for a given component definition.
@Tags Component Definitions
@Produce json
@Param id path string true "Component Definition ID"
@Param defined-component path string true "Defined Component ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.DefinedComponent]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/components/{defined-component} [get]
func (*ComponentDefinitionHandler) GetImplementedRequirements ¶
func (h *ComponentDefinitionHandler) GetImplementedRequirements(ctx echo.Context) error
GetImplementedRequirements godoc
@Summary Get implemented requirements for a defined component
@Description Retrieves all implemented requirements for a given defined component.
@Tags Component Definitions
@Produce json
@Param id path string true "Component Definition ID"
@Param defined-component path string true "Defined Component ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.ImplementedRequirementControlImplementation]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/components/{defined-component}/control-implementations/implemented-requirements [get]
func (*ComponentDefinitionHandler) GetImportComponentDefinitions ¶
func (h *ComponentDefinitionHandler) GetImportComponentDefinitions(ctx echo.Context) error
GetImportComponentDefinitions godoc
@Summary Get import component definitions for a defined component
@Description Retrieves all import component definitions for a given defined component.
@Tags Component Definitions
@Produce json
@Param id path string true "Component Definition ID"
@Param defined-component path string true "Defined Component ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.ImportComponentDefinition]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/import-component-definitions [get]
func (*ComponentDefinitionHandler) GetIncorporatesComponents ¶
func (h *ComponentDefinitionHandler) GetIncorporatesComponents(ctx echo.Context) error
GetIncorporatesComponents godoc
@Summary Get incorporates components for a component definition
@Description Retrieves all incorporates components for a given component definition.
@Tags Component Definitions
@Produce json
@Param id path string true "Component Definition ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.IncorporatesComponent]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/capabilities/incorporates-components [get]
func (*ComponentDefinitionHandler) GetStatements ¶
func (h *ComponentDefinitionHandler) GetStatements(ctx echo.Context) error
GetStatements godoc
@Summary Get statements for a defined component
@Description Retrieves all statements for a given defined component.
@Tags Component Definitions
@Produce json
@Param id path string true "Component Definition ID"
@Param defined-component path string true "Defined Component ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.ControlStatementImplementation]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/components/{defined-component}/control-implementations/implemented-requirements/statements [get]
func (*ComponentDefinitionHandler) List ¶
func (h *ComponentDefinitionHandler) List(ctx echo.Context) error
List godoc
@Summary List component definitions
@Description Retrieves all component definitions.
@Tags Component Definitions
@Produce json
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.ComponentDefinition]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions [get]
func (*ComponentDefinitionHandler) Register ¶
func (h *ComponentDefinitionHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
func (*ComponentDefinitionHandler) Update ¶
func (h *ComponentDefinitionHandler) Update(ctx echo.Context) error
Update godoc
@Summary Update a component definition
@Description Updates an existing component definition.
@Tags Component Definitions
@Accept json
@Produce json
@Param id path string true "Component Definition ID"
@Param componentDefinition body oscalTypes_1_1_3.ComponentDefinition true "Updated Component Definition object"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ComponentDefinition]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id} [put]
func (*ComponentDefinitionHandler) UpdateCapability ¶
func (h *ComponentDefinitionHandler) UpdateCapability(ctx echo.Context) error
UpdateCapability godoc
@Summary Update a capability for a component definition
@Description Updates a single capability for a given component definition.
@Tags Component Definitions
@Accept json
@Produce json
@Param id path string true "Component Definition ID"
@Param capability path string true "Capability ID (UUID)"
@Param capability body oscalTypes_1_1_3.Capability true "Capability to update"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Capability]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/capabilities/{capability} [put]
func (*ComponentDefinitionHandler) UpdateComponents ¶
func (h *ComponentDefinitionHandler) UpdateComponents(ctx echo.Context) error
UpdateComponents godoc
@Summary Update components for a component definition
@Description Updates the components for a given component definition.
@Tags Component Definitions
@Accept json
@Produce json
@Param id path string true "Component Definition ID"
@Param components body []oscalTypes_1_1_3.DefinedComponent true "Components to update"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.DefinedComponent]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/components [put]
func (*ComponentDefinitionHandler) UpdateControlImplementations ¶
func (h *ComponentDefinitionHandler) UpdateControlImplementations(ctx echo.Context) error
UpdateControlImplementations godoc
@Summary Update control implementations for a defined component
@Description Updates control implementations for a given defined component.
@Tags Component Definitions
@Accept json
@Produce json
@Param id path string true "Component Definition ID"
@Param defined-component path string true "Defined Component ID"
@Param control-implementations body []oscalTypes_1_1_3.ControlImplementationSet true "Control Implementations"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.ControlImplementationSet]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/components/{defined-component}/control-implementations [put]
func (*ComponentDefinitionHandler) UpdateDefinedComponent ¶
func (h *ComponentDefinitionHandler) UpdateDefinedComponent(ctx echo.Context) error
UpdateDefinedComponent godoc
@Summary Update a defined component for a component definition
@Description Updates a defined component for a given component definition.
@Tags Component Definitions
@Accept json
@Produce json
@Param id path string true "Component Definition ID"
@Param defined-component path string true "Defined Component ID"
@Param defined-component body oscalTypes_1_1_3.DefinedComponent true "Defined Component to update"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.DefinedComponent]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/components/{defined-component} [put]
func (*ComponentDefinitionHandler) UpdateImportComponentDefinitions ¶
func (h *ComponentDefinitionHandler) UpdateImportComponentDefinitions(ctx echo.Context) error
UpdateImportComponentDefinitions godoc
@Summary Update import component definitions for a component definition
@Description Updates the import component definitions for a given component definition.
@Tags Component Definitions
@Produce json
@Param id path string true "Component Definition ID"
@Param import-component-definitions body []oscalTypes_1_1_3.ImportComponentDefinition true "Import Component Definitions"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.ImportComponentDefinition]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/import-component-definitions [put]
func (*ComponentDefinitionHandler) UpdateSingleControlImplementation ¶
func (h *ComponentDefinitionHandler) UpdateSingleControlImplementation(ctx echo.Context) error
UpdateSingleControlImplementation godoc
@Summary Update a single control implementation for a defined component
@Description Updates a specific control implementation for a given defined component.
@Tags Component Definitions
@Accept json
@Produce json
@Param id path string true "Component Definition ID"
@Param defined-component path string true "Defined Component ID"
@Param control-implementation path string true "Control Implementation ID"
@Param control-implementation body oscalTypes_1_1_3.ControlImplementationSet true "Control Implementation"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ControlImplementationSet]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/component-definitions/{id}/components/{defined-component}/control-implementations/{control-implementation} [put]
type CreateInventoryItemRequest ¶ added in v0.4.5
type CreateInventoryItemRequest struct {
Destination string `json:"destination"` // "ssp", "poam", or "unattached"
DestinationID string `json:"destination_id,omitempty"`
InventoryItem oscalTypes_1_1_3.InventoryItem `json:"inventory_item"`
}
CreateInventoryItemRequest represents the request for creating an inventory item
type DashboardSuggestionHandler ¶ added in v0.17.0
type DashboardSuggestionHandler struct {
// contains filtered or unexported fields
}
func NewDashboardSuggestionHandler ¶ added in v0.17.0
func NewDashboardSuggestionHandler(sugar *zap.SugaredLogger, db *gorm.DB, cfg *config.AIConfig, jobEnqueuer SSPJobEnqueuer) *DashboardSuggestionHandler
func (*DashboardSuggestionHandler) Accept ¶ added in v0.17.0
func (h *DashboardSuggestionHandler) Accept(ctx echo.Context) error
Accept godoc
@Summary Accept dashboard suggestions
@Description Accepts pending dashboard suggestions and creates or extends SSP-bound filters.
@Tags Dashboard Suggestions
@Accept json
@Produce json
@Param id path string true "System Security Plan ID"
@Param request body dashboardSuggestionDecisionRequest true "Suggestion IDs"
@Success 200 {object} handler.GenericDataResponse[oscal.acceptDashboardSuggestionsResponse]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 409 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/dashboard-suggestions/accept [post]
func (*DashboardSuggestionHandler) Config ¶ added in v0.17.0
func (h *DashboardSuggestionHandler) Config(ctx echo.Context) error
Config godoc
@Summary Get dashboard suggestions feature configuration
@Description Returns whether AI dashboard suggestions are enabled.
@Tags Dashboard Suggestions
@Produce json
@Success 200 {object} handler.GenericDataResponse[oscal.dashboardSuggestionConfigResponse]
@Router /dashboard-suggestions/config [get]
func (*DashboardSuggestionHandler) ControlResults ¶ added in v0.17.0
func (h *DashboardSuggestionHandler) ControlResults(ctx echo.Context) error
ControlResults godoc
@Summary List dashboard suggestion control results for an SSP
@Description Returns the latest dashboard-suggestion evaluation outcome per evaluated control.
@Tags Dashboard Suggestions
@Produce json
@Param id path string true "System Security Plan ID"
@Success 200 {object} handler.GenericDataListResponse[oscal.controlSuggestionResultResponse]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/dashboard-suggestions/control-results [get]
func (*DashboardSuggestionHandler) EditGroup ¶ added in v0.17.0
func (h *DashboardSuggestionHandler) EditGroup(ctx echo.Context) error
EditGroup godoc
@Summary Edit a group of pending dashboard suggestions
@Description Edits the title, proposed filter labels, and control membership of a pending suggestion group. User-provided labels are stored verbatim (the evidence-subset rule is bypassed) and the rows are flagged as user-edited.
@Tags Dashboard Suggestions
@Accept json
@Produce json
@Param id path string true "System Security Plan ID"
@Param request body editDashboardSuggestionGroupRequest true "Group edit"
@Success 200 {object} handler.GenericDataListResponse[oscal.dashboardSuggestionResponse]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 409 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/dashboard-suggestions/edit-group [post]
func (*DashboardSuggestionHandler) Events ¶ added in v0.17.0
func (h *DashboardSuggestionHandler) Events(ctx echo.Context) error
Events godoc
@Summary List dashboard suggestion events
@Description Returns audit events for one dashboard suggestion.
@Tags Dashboard Suggestions
@Produce json
@Param id path string true "System Security Plan ID"
@Param suggestionId path string true "Dashboard suggestion ID"
@Success 200 {object} handler.GenericDataListResponse[oscal.dashboardSuggestionEventResponse]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/dashboard-suggestions/{suggestionId}/events [get]
func (*DashboardSuggestionHandler) Generalize ¶ added in v0.17.0
func (h *DashboardSuggestionHandler) Generalize(ctx echo.Context) error
Generalize godoc
@Summary Suggest filter merges for an SSP
@Description Runs the deterministic filter-merge detector for this SSP and creates pending generalization suggestions for near-duplicate filters that differ only by one generalizable label. No LLM is involved.
@Tags Dashboard Suggestions
@Produce json
@Param id path string true "System Security Plan ID"
@Success 200 {object} handler.GenericDataResponse[oscal.generalizeDashboardSuggestionsResponse]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/dashboard-suggestions/generalize [post]
func (*DashboardSuggestionHandler) Generate ¶ added in v0.17.0
func (h *DashboardSuggestionHandler) Generate(ctx echo.Context) error
Generate godoc
@Summary Generate dashboard suggestions for an SSP
@Description Creates a dashboard suggestion run, snapshots the resolved scope, creates run cells, and enqueues cell processing.
@Tags Dashboard Suggestions
@Accept json
@Produce json
@Param id path string true "System Security Plan ID"
@Param request body generateDashboardSuggestionsRequest false "Generation request"
@Success 202 {object} handler.GenericDataResponse[oscal.dashboardSuggestionRunResponse]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 409 {object} api.Error
@Failure 422 {object} api.Error
@Failure 503 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/dashboard-suggestions/generate [post]
func (*DashboardSuggestionHandler) GetRun ¶ added in v0.17.0
func (h *DashboardSuggestionHandler) GetRun(ctx echo.Context) error
GetRun godoc
@Summary Get a dashboard suggestion run
@Description Returns a dashboard suggestion run with cell progress.
@Tags Dashboard Suggestions
@Produce json
@Param id path string true "System Security Plan ID"
@Param runId path string true "Dashboard suggestion run ID"
@Success 200 {object} handler.GenericDataResponse[oscal.dashboardSuggestionRunResponse]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/dashboard-suggestion-runs/{runId} [get]
func (*DashboardSuggestionHandler) LabelKeys ¶ added in v0.17.0
func (h *DashboardSuggestionHandler) LabelKeys(ctx echo.Context) error
LabelKeys godoc
@Summary List distinct evidence label keys and values
@Description Returns distinct evidence label keys with their distinct values, for building an evidence-scoping filter without loading every label set.
@Tags Dashboard Suggestions
@Produce json
@Param id path string true "System Security Plan ID"
@Success 200 {object} handler.GenericDataListResponse[suggestions.LabelKeyInput]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/dashboard-suggestions/label-keys [get]
func (*DashboardSuggestionHandler) LabelSets ¶ added in v0.17.0
func (h *DashboardSuggestionHandler) LabelSets(ctx echo.Context) error
LabelSets godoc
@Summary List dashboard suggestion label sets
@Description Returns canonical evidence label sets for dashboard suggestion scope selection.
@Tags Dashboard Suggestions
@Produce json
@Param id path string true "System Security Plan ID"
@Success 200 {object} handler.GenericDataListResponse[suggestions.LabelSetInput]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/dashboard-suggestions/label-sets [get]
func (*DashboardSuggestionHandler) LabelValues ¶ added in v0.17.0
func (h *DashboardSuggestionHandler) LabelValues(ctx echo.Context) error
LabelValues godoc
@Summary Search evidence label values for a key
@Description Returns distinct evidence label values for a given label key, optionally matching a substring query. Searched server-side so high-cardinality values are reachable.
@Tags Dashboard Suggestions
@Produce json
@Param id path string true "System Security Plan ID"
@Param key query string true "Label key"
@Param query query string false "Substring to match against values"
@Success 200 {object} handler.GenericDataListResponse[string]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/dashboard-suggestions/label-values [get]
func (*DashboardSuggestionHandler) LatestRun ¶ added in v0.17.0
func (h *DashboardSuggestionHandler) LatestRun(ctx echo.Context) error
LatestRun godoc
@Summary Get latest dashboard suggestion run for an SSP
@Description Returns the latest dashboard suggestion run with cell progress.
@Tags Dashboard Suggestions
@Produce json
@Param id path string true "System Security Plan ID"
@Success 200 {object} handler.GenericDataResponse[oscal.dashboardSuggestionRunResponse]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/dashboard-suggestion-runs/latest [get]
func (*DashboardSuggestionHandler) ListSuggestions ¶ added in v0.17.0
func (h *DashboardSuggestionHandler) ListSuggestions(ctx echo.Context) error
ListSuggestions godoc
@Summary List dashboard suggestions for an SSP
@Description Lists dashboard suggestions joined with control title and target filter name.
@Tags Dashboard Suggestions
@Produce json
@Param id path string true "System Security Plan ID"
@Param status query string false "Suggestion status (default pending)"
@Success 200 {object} handler.GenericDataListResponse[oscal.dashboardSuggestionResponse]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/dashboard-suggestions [get]
func (*DashboardSuggestionHandler) Preview ¶ added in v0.17.0
func (h *DashboardSuggestionHandler) Preview(ctx echo.Context) error
Preview godoc
@Summary Preview dashboard suggestion generation for an SSP
@Description Resolves the requested dashboard suggestion scope and returns planned call counts without creating runs or enqueueing work.
@Tags Dashboard Suggestions
@Accept json
@Produce json
@Param id path string true "System Security Plan ID"
@Param request body generateDashboardSuggestionsRequest false "Preview request"
@Success 200 {object} handler.GenericDataResponse[oscal.dashboardSuggestionPreviewResponse]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 422 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/dashboard-suggestions/preview [post]
func (*DashboardSuggestionHandler) Register ¶ added in v0.17.0
func (h *DashboardSuggestionHandler) Register(apiGroup *echo.Group, auth echo.MiddlewareFunc, guard middleware.ResourceGuard)
Register mounts the SSP-scoped dashboard-suggestion routes. auth is the per-route auth middleware; guard enforces the dashboard-suggestion resource. generate/generalize create runs; preview and the label/run/list GETs are reads; accept/reject/edit-group mutate existing suggestions (update).
func (*DashboardSuggestionHandler) RegisterConfig ¶ added in v0.17.0
func (h *DashboardSuggestionHandler) RegisterConfig(apiGroup *echo.Group, middlewares ...echo.MiddlewareFunc)
RegisterConfig mounts the feature-config probe. The caller passes the auth middleware + the read guard, so /config sits behind auth like every other route: a valid token identifies the subject and the guard enforces dashboard-suggestion:read.
func (*DashboardSuggestionHandler) Reject ¶ added in v0.17.0
func (h *DashboardSuggestionHandler) Reject(ctx echo.Context) error
Reject godoc
@Summary Reject dashboard suggestions
@Description Rejects pending dashboard suggestions.
@Tags Dashboard Suggestions
@Accept json
@Produce json
@Param id path string true "System Security Plan ID"
@Param request body dashboardSuggestionDecisionRequest true "Suggestion IDs and reason"
@Success 200 {object} handler.GenericDataListResponse[oscal.dashboardSuggestionResponse]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 409 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/dashboard-suggestions/reject [post]
type GetAllInventoryItemsRequest ¶ added in v0.4.5
type GetAllInventoryItemsRequest struct {
IncludeSSP string `query:"include_ssp" json:"include_ssp,omitempty"`
IncludeEvidence string `query:"include_evidence" json:"include_evidence,omitempty"`
IncludePOAM string `query:"include_poam" json:"include_poam,omitempty"`
IncludeAP string `query:"include_ap" json:"include_ap,omitempty"`
IncludeAR string `query:"include_ar" json:"include_ar,omitempty"`
ItemType string `query:"item_type" json:"item_type,omitempty"`
AttachedToSSP string `query:"attached_to_ssp" json:"attached_to_ssp,omitempty"`
}
GetAllInventoryItemsRequest represents the request for getting all inventory items
type ImportFileResult ¶ added in v0.7.0
type ImportHandler ¶ added in v0.7.0
type ImportHandler struct {
// contains filtered or unexported fields
}
func NewImportHandler ¶ added in v0.7.0
func NewImportHandler(l *zap.SugaredLogger, db *gorm.DB) *ImportHandler
func (*ImportHandler) ImportOSCAL ¶ added in v0.7.0
func (h *ImportHandler) ImportOSCAL(ctx echo.Context) error
ImportOSCAL godoc
@Summary Import OSCAL files
@Description Import multiple OSCAL JSON files (catalogs, profiles, SSPs, etc.)
@Tags OSCAL
@Accept multipart/form-data
@Produce json
@Param files formData file true "OSCAL JSON files to import"
@Success 200 {object} handler.GenericDataResponse[ImportResponse]
@Failure 400 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/import [post]
func (*ImportHandler) Register ¶ added in v0.7.0
func (h *ImportHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
type ImportResponse ¶ added in v0.7.0
type ImportResponse struct {
TotalFiles int `json:"total_files"`
SuccessfulCount int `json:"successful_count"`
FailedCount int `json:"failed_count"`
Results []ImportFileResult `json:"results"`
}
type InventoryHandler ¶ added in v0.4.5
type InventoryHandler struct {
// contains filtered or unexported fields
}
InventoryHandler handles inventory-related endpoints
func NewInventoryHandler ¶ added in v0.4.5
func NewInventoryHandler(sugar *zap.SugaredLogger, db *gorm.DB) *InventoryHandler
NewInventoryHandler creates a new InventoryHandler
func (*InventoryHandler) CreateInventoryItem ¶ added in v0.4.5
func (h *InventoryHandler) CreateInventoryItem(ctx echo.Context) error
CreateInventoryItem godoc
@Summary Create Inventory Item
@Description Creates a new inventory item with optional attachment to SSP or POAM
@Tags Inventory
@Accept json
@Produce json
@Param request body CreateInventoryItemRequest true "Create Inventory Item Request"
@Success 201 {object} handler.GenericDataResponse[InventoryItemWithSource]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/inventory [post]
func (*InventoryHandler) GetAllInventoryItems ¶ added in v0.4.5
func (h *InventoryHandler) GetAllInventoryItems(ctx echo.Context) error
GetAllInventoryItems godoc
@Summary Get All Inventory Items
@Description Retrieves all inventory items from all sources (SSP, Evidence, POAM, AP, AR)
@Tags Inventory
@Produce json
@Param include_ssp query string false "Include items from System Security Plans"
@Param include_evidence query string false "Include items from Evidence"
@Param include_poam query string false "Include items from Plan of Action and Milestones"
@Param include_ap query string false "Include items from Assessment Plans"
@Param include_ar query string false "Include items from Assessment Results"
@Param item_type query string false "Filter by item type (e.g., operating-system, database, web-server)"
@Param attached_to_ssp query string false "Filter by SSP attachment status"
@Success 200 {object} handler.GenericDataListResponse[InventoryItemWithSource]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/inventory [get]
func (*InventoryHandler) GetInventoryItem ¶ added in v0.4.5
func (h *InventoryHandler) GetInventoryItem(ctx echo.Context) error
GetInventoryItem godoc
@Summary Get Inventory Item by ID
@Description Retrieves a specific inventory item by its ID
@Tags Inventory
@Produce json
@Param id path string true "Inventory Item ID"
@Success 200 {object} handler.GenericDataResponse[InventoryItemWithSource]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/inventory/{id} [get]
func (*InventoryHandler) Register ¶ added in v0.4.5
func (h *InventoryHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
Register registers inventory routes
type InventoryItemWithSource ¶ added in v0.4.5
type InventoryItemWithSource struct {
oscalTypes_1_1_3.InventoryItem
Source string `json:"source"`
SourceID string `json:"source_id"`
SourceType string `json:"source_type"`
}
InventoryItemWithSource represents an inventory item with its source information
type PartyHandler ¶
type PartyHandler struct {
// contains filtered or unexported fields
}
func NewPartyHandler ¶
func NewPartyHandler(l *zap.SugaredLogger, db *gorm.DB) *PartyHandler
func (*PartyHandler) Get ¶
func (h *PartyHandler) Get(ctx echo.Context) error
Get godoc
@Summary Get a Party
@Description Retrieves a single Party by its unique ID.
@Tags Oscal
@Produce json
@Param id path string true "Party ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Party]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/parties/{id} [get]
func (*PartyHandler) List ¶
func (h *PartyHandler) List(ctx echo.Context) error
List godoc
@Summary List parties
@Description Retrieves all parties.
@Tags Oscal
@Produce json
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Party]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/parties [get]
func (*PartyHandler) Register ¶
func (h *PartyHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
type PlanOfActionAndMilestonesHandler ¶
type PlanOfActionAndMilestonesHandler struct {
// contains filtered or unexported fields
}
PlanOfActionAndMilestonesHandler handles OSCAL Plan of Action and Milestones (POA&M) endpoints.
@Tags Plan Of Action and Milestones
All types are defined in oscalTypes_1_1_3 (see types.go)
func NewPlanOfActionAndMilestonesHandler ¶
func NewPlanOfActionAndMilestonesHandler(sugar *zap.SugaredLogger, db *gorm.DB) *PlanOfActionAndMilestonesHandler
NewPlanOfActionAndMilestonesHandler creates a new handler for POA&M endpoints.
func (*PlanOfActionAndMilestonesHandler) Create ¶
func (h *PlanOfActionAndMilestonesHandler) Create(ctx echo.Context) error
Create godoc
@Summary Create a new POA&M
@Description Creates a new Plan of Action and Milestones.
@Tags Plan Of Action and Milestones
@Accept json
@Produce json
@Param poam body oscalTypes_1_1_3.PlanOfActionAndMilestones true "POA&M data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.PlanOfActionAndMilestones]
@Failure 400 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones [post]
func (*PlanOfActionAndMilestonesHandler) CreateBackMatter ¶
func (h *PlanOfActionAndMilestonesHandler) CreateBackMatter(ctx echo.Context) error
CreateBackMatter creates back-matter for a POA&M
func (*PlanOfActionAndMilestonesHandler) CreateBackMatterResource ¶
func (h *PlanOfActionAndMilestonesHandler) CreateBackMatterResource(ctx echo.Context) error
CreateBackMatterResource godoc
@Summary Create a new back-matter resource for a POA&M
@Description Creates a new back-matter resource for a given POA&M.
@Tags Plan Of Action and Milestones
@Accept json
@Produce json
@Param id path string true "POA&M ID"
@Param resource body oscalTypes_1_1_3.Resource true "Resource data"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Resource]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/back-matter/resources [post]
func (*PlanOfActionAndMilestonesHandler) CreateFinding ¶
func (h *PlanOfActionAndMilestonesHandler) CreateFinding(ctx echo.Context) error
CreateFinding godoc
@Summary Create a new finding for a POA&M
@Description Creates a new finding for a given POA&M.
@Tags Plan Of Action and Milestones
@Accept json
@Produce json
@Param id path string true "POA&M ID"
@Param finding body oscalTypes_1_1_3.Finding true "Finding data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Finding]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/findings [post]
func (*PlanOfActionAndMilestonesHandler) CreateImportSsp ¶
func (h *PlanOfActionAndMilestonesHandler) CreateImportSsp(ctx echo.Context) error
CreateImportSsp godoc
@Summary Create import-ssp for a POA&M
@Description Creates import-ssp for a given POA&M.
@Tags Plan Of Action and Milestones
@Accept json
@Produce json
@Param id path string true "POA&M ID"
@Param importSsp body oscalTypes_1_1_3.ImportSsp true "Import SSP data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ImportSsp]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/import-ssp [post]
func (*PlanOfActionAndMilestonesHandler) CreateObservation ¶
func (h *PlanOfActionAndMilestonesHandler) CreateObservation(ctx echo.Context) error
CreateObservation godoc
@Summary Create a new observation for a POA&M
@Description Creates a new observation for a given POA&M.
@Tags Plan Of Action and Milestones
@Accept json
@Produce json
@Param id path string true "POA&M ID"
@Param observation body oscalTypes_1_1_3.Observation true "Observation data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Observation]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/observations [post]
func (*PlanOfActionAndMilestonesHandler) CreatePoamItem ¶
func (h *PlanOfActionAndMilestonesHandler) CreatePoamItem(ctx echo.Context) error
CreatePoamItem godoc
@Summary Create a new POAM item for a POA&M
@Description Creates a new POAM item for a given POA&M.
@Tags Plan Of Action and Milestones
@Accept json
@Produce json
@Param id path string true "POA&M ID"
@Param poam-item body oscalTypes_1_1_3.PoamItem true "POAM Item data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.PoamItem]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/poam-items [post]
func (*PlanOfActionAndMilestonesHandler) CreateRisk ¶
func (h *PlanOfActionAndMilestonesHandler) CreateRisk(ctx echo.Context) error
CreateRisk godoc
@Summary Create a new risk for a POA&M
@Description Creates a new risk for a given POA&M.
@Tags Plan Of Action and Milestones
@Accept json
@Produce json
@Param id path string true "POA&M ID"
@Param risk body oscalTypes_1_1_3.Risk true "Risk data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Risk]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/risks [post]
func (*PlanOfActionAndMilestonesHandler) CreateSystemId ¶
func (h *PlanOfActionAndMilestonesHandler) CreateSystemId(ctx echo.Context) error
CreateSystemId godoc
@Summary Create system-id for a POA&M
@Description Creates system-id for a given POA&M.
@Tags Plan Of Action and Milestones
@Accept json
@Produce json
@Param id path string true "POA&M ID"
@Param systemId body oscalTypes_1_1_3.SystemId true "System ID data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.SystemId]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/system-id [post]
func (*PlanOfActionAndMilestonesHandler) Delete ¶
func (h *PlanOfActionAndMilestonesHandler) Delete(ctx echo.Context) error
Delete
@Summary Delete a POA&M
@Description Deletes an existing Plan of Action and Milestones and all its related data.
@Tags Plan Of Action and Milestones
@Param id path string true "POA&M ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id} [delete]
func (*PlanOfActionAndMilestonesHandler) DeleteBackMatter ¶
func (h *PlanOfActionAndMilestonesHandler) DeleteBackMatter(ctx echo.Context) error
DeleteBackMatter deletes back-matter for a POA&M
func (*PlanOfActionAndMilestonesHandler) DeleteBackMatterResource ¶
func (h *PlanOfActionAndMilestonesHandler) DeleteBackMatterResource(ctx echo.Context) error
DeleteBackMatterResource godoc
@Summary Delete a back-matter resource from a POA&M
@Description Deletes an existing back-matter resource for a given POA&M.
@Tags Plan Of Action and Milestones
@Param id path string true "POA&M ID"
@Param resourceId path string true "Resource ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/back-matter/resources/{resourceId} [delete]
func (*PlanOfActionAndMilestonesHandler) DeleteFinding ¶
func (h *PlanOfActionAndMilestonesHandler) DeleteFinding(ctx echo.Context) error
DeleteFinding godoc
@Summary Delete a finding from a POA&M
@Description Deletes an existing finding for a given POA&M.
@Tags Plan Of Action and Milestones
@Param id path string true "POA&M ID"
@Param findingId path string true "Finding ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/findings/{findingId} [delete]
func (*PlanOfActionAndMilestonesHandler) DeleteObservation ¶
func (h *PlanOfActionAndMilestonesHandler) DeleteObservation(ctx echo.Context) error
DeleteObservation godoc
@Summary Delete an observation from a POA&M
@Description Deletes an existing observation for a given POA&M.
@Tags Plan Of Action and Milestones
@Param id path string true "POA&M ID"
@Param obsId path string true "Observation ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/observations/{obsId} [delete]
func (*PlanOfActionAndMilestonesHandler) DeletePoamItem ¶
func (h *PlanOfActionAndMilestonesHandler) DeletePoamItem(ctx echo.Context) error
DeletePoamItem godoc
@Summary Delete a POAM item from a POA&M
@Description Deletes an existing POAM item for a given POA&M.
@Tags Plan Of Action and Milestones
@Param id path string true "POA&M ID"
@Param itemId path string true "POAM Item ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/poam-items/{itemId} [delete]
func (*PlanOfActionAndMilestonesHandler) DeleteRisk ¶
func (h *PlanOfActionAndMilestonesHandler) DeleteRisk(ctx echo.Context) error
DeleteRisk godoc
@Summary Delete a risk from a POA&M
@Description Deletes an existing risk for a given POA&M.
@Tags Plan Of Action and Milestones
@Param id path string true "POA&M ID"
@Param riskId path string true "Risk ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/risks/{riskId} [delete]
func (*PlanOfActionAndMilestonesHandler) Full ¶
func (h *PlanOfActionAndMilestonesHandler) Full(ctx echo.Context) error
Full godoc
@Summary Get a complete POA&M
@Description Retrieves a complete POA&M by its ID, including all metadata and related objects.
@Tags Plan Of Action and Milestones
@Produce json
@Param id path string true "POA&M ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.PlanOfActionAndMilestones]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/full [get]
func (*PlanOfActionAndMilestonesHandler) Get ¶
func (h *PlanOfActionAndMilestonesHandler) Get(ctx echo.Context) error
Get godoc
@Summary Get a POA&M
@Description Retrieves a single Plan of Action and Milestones by its unique ID.
@Tags Plan Of Action and Milestones
@Produce json
@Param id path string true "POA&M ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.PlanOfActionAndMilestones]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id} [get]
func (*PlanOfActionAndMilestonesHandler) GetBackMatter ¶
func (h *PlanOfActionAndMilestonesHandler) GetBackMatter(ctx echo.Context) error
GetBackMatter godoc
@Summary Get POA&M back-matter
@Description Retrieves back-matter for a given POA&M.
@Tags Plan Of Action and Milestones
@Produce json
@Param id path string true "POA&M ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.BackMatter]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/back-matter [get]
func (*PlanOfActionAndMilestonesHandler) GetBackMatterResources ¶
func (h *PlanOfActionAndMilestonesHandler) GetBackMatterResources(ctx echo.Context) error
GetBackMatterResources godoc
@Summary Get back-matter resources for a POA&M
@Description Retrieves all back-matter resources for a given POA&M.
@Tags Plan Of Action and Milestones
@Produce json
@Param id path string true "POA&M ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Resource]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/back-matter/resources [get]
func (*PlanOfActionAndMilestonesHandler) GetFindings ¶
func (h *PlanOfActionAndMilestonesHandler) GetFindings(ctx echo.Context) error
GetFindings godoc
@Summary Get findings for a POA&M
@Description Retrieves all findings for a given POA&M.
@Tags Plan Of Action and Milestones
@Produce json
@Param id path string true "POA&M ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Finding]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/findings [get]
func (*PlanOfActionAndMilestonesHandler) GetImportSsp ¶
func (h *PlanOfActionAndMilestonesHandler) GetImportSsp(ctx echo.Context) error
GetImportSsp godoc
@Summary Get POA&M import-ssp
@Description Retrieves import-ssp for a given POA&M.
@Tags Plan Of Action and Milestones
@Produce json
@Param id path string true "POA&M ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ImportSsp]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/import-ssp [get]
func (*PlanOfActionAndMilestonesHandler) GetLocalDefinitions ¶
func (h *PlanOfActionAndMilestonesHandler) GetLocalDefinitions(ctx echo.Context) error
GetLocalDefinitions godoc
@Summary Get POA&M local definitions
@Description Retrieves local definitions for a given POA&M.
@Tags Plan Of Action and Milestones
@Produce json
@Param id path string true "POA&M ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.PlanOfActionAndMilestonesLocalDefinitions]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/local-definitions [get]
func (*PlanOfActionAndMilestonesHandler) GetMetadata ¶
func (h *PlanOfActionAndMilestonesHandler) GetMetadata(ctx echo.Context) error
GetMetadata godoc
@Summary Get POA&M metadata
@Description Retrieves metadata for a given POA&M.
@Tags Plan Of Action and Milestones
@Produce json
@Param id path string true "POA&M ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Metadata]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/metadata [get]
func (*PlanOfActionAndMilestonesHandler) GetObservations ¶
func (h *PlanOfActionAndMilestonesHandler) GetObservations(ctx echo.Context) error
GetObservations godoc
@Summary Get observations for a POA&M
@Description Retrieves all observations for a given POA&M.
@Tags Plan Of Action and Milestones
@Produce json
@Param id path string true "POA&M ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Observation]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/observations [get]
func (*PlanOfActionAndMilestonesHandler) GetPoamItems ¶
func (h *PlanOfActionAndMilestonesHandler) GetPoamItems(ctx echo.Context) error
GetPoamItems godoc
@Summary Get POA&M items
@Description Retrieves all POA&M items for a given POA&M.
@Tags Plan Of Action and Milestones
@Produce json
@Param id path string true "POA&M ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.PoamItem]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/poam-items [get]
func (*PlanOfActionAndMilestonesHandler) GetRisks ¶
func (h *PlanOfActionAndMilestonesHandler) GetRisks(ctx echo.Context) error
GetRisks godoc
@Summary Get risks for a POA&M
@Description Retrieves all risks for a given POA&M.
@Tags Plan Of Action and Milestones
@Produce json
@Param id path string true "POA&M ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Risk]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/risks [get]
func (*PlanOfActionAndMilestonesHandler) GetSystemId ¶
func (h *PlanOfActionAndMilestonesHandler) GetSystemId(ctx echo.Context) error
GetSystemId godoc
@Summary Get POA&M system-id
@Description Retrieves system-id for a given POA&M.
@Tags Plan Of Action and Milestones
@Produce json
@Param id path string true "POA&M ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.SystemId]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/system-id [get]
func (*PlanOfActionAndMilestonesHandler) List ¶
func (h *PlanOfActionAndMilestonesHandler) List(ctx echo.Context) error
List godoc
@Summary List POA&Ms
@Description Retrieves all Plan of Action and Milestones.
@Tags Plan Of Action and Milestones
@Produce json
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.PlanOfActionAndMilestones]
@Failure 400 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones [get]
func (*PlanOfActionAndMilestonesHandler) Register ¶
func (h *PlanOfActionAndMilestonesHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
Register registers POA&M endpoints to the API group.
func (*PlanOfActionAndMilestonesHandler) Update ¶
func (h *PlanOfActionAndMilestonesHandler) Update(ctx echo.Context) error
Update godoc
@Summary Update a POA&M
@Description Updates an existing Plan of Action and Milestones.
@Tags Plan Of Action and Milestones
@Accept json
@Produce json
@Param id path string true "POA&M ID"
@Param poam body oscalTypes_1_1_3.PlanOfActionAndMilestones true "POA&M data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.PlanOfActionAndMilestones]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id} [put]
func (*PlanOfActionAndMilestonesHandler) UpdateBackMatter ¶
func (h *PlanOfActionAndMilestonesHandler) UpdateBackMatter(ctx echo.Context) error
UpdateBackMatter updates back-matter for a POA&M
func (*PlanOfActionAndMilestonesHandler) UpdateBackMatterResource ¶
func (h *PlanOfActionAndMilestonesHandler) UpdateBackMatterResource(ctx echo.Context) error
UpdateBackMatterResource godoc
@Summary Update a back-matter resource for a POA&M
@Description Updates an existing back-matter resource for a given POA&M.
@Tags Plan Of Action and Milestones
@Accept json
@Produce json
@Param id path string true "POA&M ID"
@Param resourceId path string true "Resource ID"
@Param resource body oscalTypes_1_1_3.Resource true "Resource data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Resource]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/back-matter/resources/{resourceId} [put]
func (*PlanOfActionAndMilestonesHandler) UpdateFinding ¶
func (h *PlanOfActionAndMilestonesHandler) UpdateFinding(ctx echo.Context) error
UpdateFinding godoc
@Summary Update a finding for a POA&M
@Description Updates an existing finding for a given POA&M.
@Tags Plan Of Action and Milestones
@Accept json
@Produce json
@Param id path string true "POA&M ID"
@Param findingId path string true "Finding ID"
@Param finding body oscalTypes_1_1_3.Finding true "Finding data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Finding]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/findings/{findingId} [put]
func (*PlanOfActionAndMilestonesHandler) UpdateImportSsp ¶
func (h *PlanOfActionAndMilestonesHandler) UpdateImportSsp(ctx echo.Context) error
UpdateImportSsp godoc
@Summary Update import-ssp for a POA&M
@Description Updates import-ssp for a given POA&M.
@Tags Plan Of Action and Milestones
@Accept json
@Produce json
@Param id path string true "POA&M ID"
@Param importSsp body oscalTypes_1_1_3.ImportSsp true "Import SSP data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ImportSsp]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/import-ssp [put]
func (*PlanOfActionAndMilestonesHandler) UpdateLocalDefinitions ¶ added in v0.11.0
func (h *PlanOfActionAndMilestonesHandler) UpdateLocalDefinitions(ctx echo.Context) error
UpdateLocalDefinitions godoc
@Summary Update POA&M local-definitions
@Description Updates local-definitions for a given POA&M with special handling of array and object fields.
@Description - Components and inventory-items arrays are treated as full replacements: the existing values on the POA&M are overwritten by the arrays provided in the request body (no per-element merge is performed).
@Description - Sending an empty array [] for components or inventory-items clears that specific field (resulting in an empty array on the POA&M).
@Description - Omitting a field in the request body leaves the existing value for that field unchanged.
@Description - Sending an empty JSON object {} as the payload deletes the entire local-definitions object for the POA&M.
@Tags Plan Of Action and Milestones
@Accept json
@Produce json
@Param id path string true "POA&M ID"
@Param local-definitions body oscalTypes_1_1_3.PlanOfActionAndMilestonesLocalDefinitions true "Local definitions data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.PlanOfActionAndMilestonesLocalDefinitions]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/local-definitions [put]
func (*PlanOfActionAndMilestonesHandler) UpdateMetadata ¶
func (h *PlanOfActionAndMilestonesHandler) UpdateMetadata(ctx echo.Context) error
UpdateMetadata godoc
@Summary Update POA&M metadata
@Description Updates metadata for a given POA&M.
@Tags Plan Of Action and Milestones
@Accept json
@Produce json
@Param id path string true "POA&M ID"
@Param metadata body oscalTypes_1_1_3.Metadata true "Metadata data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Metadata]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/metadata [put]
func (*PlanOfActionAndMilestonesHandler) UpdateObservation ¶
func (h *PlanOfActionAndMilestonesHandler) UpdateObservation(ctx echo.Context) error
UpdateObservation godoc
@Summary Update an observation for a POA&M
@Description Updates an existing observation for a given POA&M.
@Tags Plan Of Action and Milestones
@Accept json
@Produce json
@Param id path string true "POA&M ID"
@Param obsId path string true "Observation ID"
@Param observation body oscalTypes_1_1_3.Observation true "Observation data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Observation]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/observations/{obsId} [put]
func (*PlanOfActionAndMilestonesHandler) UpdatePoamItem ¶
func (h *PlanOfActionAndMilestonesHandler) UpdatePoamItem(ctx echo.Context) error
UpdatePoamItem godoc
@Summary Update a POAM item for a POA&M
@Description Updates an existing POAM item for a given POA&M.
@Tags Plan Of Action and Milestones
@Accept json
@Produce json
@Param id path string true "POA&M ID"
@Param itemId path string true "POAM Item ID"
@Param poam-item body oscalTypes_1_1_3.PoamItem true "POAM Item data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.PoamItem]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/poam-items/{itemId} [put]
func (*PlanOfActionAndMilestonesHandler) UpdateRisk ¶
func (h *PlanOfActionAndMilestonesHandler) UpdateRisk(ctx echo.Context) error
UpdateRisk godoc
@Summary Update a risk for a POA&M
@Description Updates an existing risk for a given POA&M.
@Tags Plan Of Action and Milestones
@Accept json
@Produce json
@Param id path string true "POA&M ID"
@Param riskId path string true "Risk ID"
@Param risk body oscalTypes_1_1_3.Risk true "Risk data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Risk]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/risks/{riskId} [put]
func (*PlanOfActionAndMilestonesHandler) UpdateSystemId ¶
func (h *PlanOfActionAndMilestonesHandler) UpdateSystemId(ctx echo.Context) error
UpdateSystemId godoc
@Summary Update system-id for a POA&M
@Description Updates system-id for a given POA&M.
@Tags Plan Of Action and Milestones
@Accept json
@Produce json
@Param id path string true "POA&M ID"
@Param systemId body oscalTypes_1_1_3.SystemId true "System ID data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.SystemId]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/plan-of-action-and-milestones/{id}/system-id [put]
type ProfileComplianceControl ¶ added in v0.13.0
type ProfileComplianceControl struct {
ControlID string `json:"controlId"`
CatalogID uuid.UUID `json:"catalogId"`
Title string `json:"title"`
GroupID string `json:"groupId,omitempty"`
GroupTitle string `json:"groupTitle,omitempty"`
Implemented *bool `json:"implemented,omitempty"`
StatusCounts []ProfileComplianceStatusCount `json:"statusCounts"`
ComputedStatus string `json:"computedStatus"`
}
type ProfileComplianceGroup ¶ added in v0.13.0
type ProfileComplianceImplementation ¶ added in v0.13.0
type ProfileComplianceProgress ¶ added in v0.13.0
type ProfileComplianceProgress struct {
Scope ProfileComplianceScope `json:"scope"`
Summary ProfileComplianceSummary `json:"summary"`
Implementation *ProfileComplianceImplementation `json:"implementation,omitempty"`
Groups []ProfileComplianceGroup `json:"groups"`
Controls []ProfileComplianceControl `json:"controls"`
}
type ProfileComplianceScope ¶ added in v0.13.0
type ProfileComplianceStatusCount ¶ added in v0.13.0
type ProfileComplianceSummary ¶ added in v0.13.0
type ProfileComplianceSummary struct {
TotalControls int `json:"totalControls"`
Satisfied int `json:"satisfied"`
NotSatisfied int `json:"notSatisfied"`
Unknown int `json:"unknown"`
CompliancePct int `json:"compliancePercent"`
AssessedPct int `json:"assessedPercent"`
ImplementedTotal *int `json:"implementedControls,omitempty"`
}
type ProfileHandler ¶
type ProfileHandler struct {
// contains filtered or unexported fields
}
func NewProfileHandler ¶
func NewProfileHandler(sugar *zap.SugaredLogger, db *gorm.DB) *ProfileHandler
func (*ProfileHandler) AddImport ¶
func (h *ProfileHandler) AddImport(ctx echo.Context) error
AddImport godoc
@Summary Add Import to Profile
@Description Adds an import to a profile by its UUID and type (catalog/profile). Only catalogs are currently supported currently
@Tags Profile
@Param id path string true "Profile ID"
@Accept json
@Produce json
@Param request body oscal.ProfileHandler.AddImport.request true "Request data"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Import]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 409 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/profiles/{id}/imports/add [post]
func (*ProfileHandler) BuildByProps ¶ added in v0.12.0
func (h *ProfileHandler) BuildByProps(ctx echo.Context) error
BuildByProps
@Summary Build Profile by Control Props
@Description Generates a Profile selecting controls from a catalog based on prop matching rules. Returns the created Profile and the matched control IDs.
@Tags Profile
@Accept json
@Produce json
@Param request body oscal.BuildByPropsRequest true "Prop matching request"
@Success 201 {object} handler.GenericDataResponse[oscal.BuildByPropsResponse]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/profiles/build-props [post]
func (*ProfileHandler) ComplianceProgress ¶ added in v0.13.0
func (h *ProfileHandler) ComplianceProgress(ctx echo.Context) error
ComplianceProgress godoc
@Summary Get compliance progress for a Profile
@Description Returns aggregated compliance progress for controls in a Profile, including summary, optional per-control rows, and group rollups.
@Tags Profile
@Param id path string true "Profile ID"
@Param includeControls query bool false "Include per-control breakdown (default true)"
@Param sspId query string false "System Security Plan ID for implementation coverage"
@Produce json
@Success 200 {object} handler.GenericDataResponse[oscal.ProfileComplianceProgress]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/profiles/{id}/compliance-progress [get]
func (*ProfileHandler) Create ¶
func (h *ProfileHandler) Create(ctx echo.Context) error
Create godoc
@Summary Create a new OSCAL Profile
@Description Creates a new OSCAL Profile.
@Tags Profile
@Accept json
@Produce json
@Param profile body oscalTypes_1_1_3.Profile true "Profile object"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Profile]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/profiles [post]
func (*ProfileHandler) DeleteImport ¶
func (h *ProfileHandler) DeleteImport(ctx echo.Context) error
DeleteImport godoc
@Summary Delete Import from Profile
@Description Deletes an import from a profile by its href
@Tags Profile
@Param id path string true "Profile ID"
@Param href path string true "Import Href"
@Produce json
@Success 204 "Import deleted successfully"
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/profiles/{id}/imports/{href} [delete]
func (*ProfileHandler) Get ¶
func (h *ProfileHandler) Get(ctx echo.Context) error
Get godoc
@Summary Get Profile
@Description Get an OSCAL profile with the uuid provided
@Tags Profile
@Param id path string true "Profile ID"
@Produce json
@Success 200 {object} handler.GenericDataResponse[oscal.ProfileHandler.Get.response]
@Failure 404 {object} api.Error
@Failure 401 {object} api.Error
@Failure 400 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/profiles/{id} [get]
func (*ProfileHandler) GetBackmatter ¶
func (h *ProfileHandler) GetBackmatter(ctx echo.Context) error
GetBackmatter godoc
@Summary Get Backmatter
@Description Get the BackMatter for a specific profile
@Tags Profile
@Param id path string true "Profile ID"
@Produce json
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.BackMatter]
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 400 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/profiles/{id}/back-matter [get]
func (*ProfileHandler) GetFull ¶
func (h *ProfileHandler) GetFull(ctx echo.Context) error
GetFull godoc
@Summary Get full Profile
@Description Retrieves the full OSCAL Profile, including all nested content.
@Tags Profile
@Produce json
@Param id path string true "Profile ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Profile]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/profiles/{id}/full [get]
func (*ProfileHandler) GetImport ¶
func (h *ProfileHandler) GetImport(ctx echo.Context) error
GetImport godoc
@Summary Get Import from Profile by Backmatter Href
@Description Retrieves a specific import from a profile by its backmatter href
@Tags Profile
@Param id path string true "Profile UUID"
@Param href path string true "Import Href"
@Produce json
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Import]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/profiles/{id}/imports/{href} [get]
func (*ProfileHandler) GetMerge ¶
func (h *ProfileHandler) GetMerge(ctx echo.Context) error
GetMerge godoc
@Summary Get merge section
@Description Retrieves the merge section for a specific profile.
@Tags Profile
@Param id path string true "Profile ID"
@Produce json
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Merge]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/profiles/{id}/merge [get]
func (*ProfileHandler) GetModify ¶
func (h *ProfileHandler) GetModify(ctx echo.Context) error
GetModify godoc
@Summary Get modify section
@Description Retrieves the modify section for a specific profile.
@Tags Profile
@Param id path string true "Profile ID"
@Produce json
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Modify]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/profiles/{id}/modify [get]
func (*ProfileHandler) List ¶
func (h *ProfileHandler) List(ctx echo.Context) error
List godoc
@Summary List Profiles
@Description Retrieves all OSCAL profiles
@Tags Profile
@Produce json
@Success 200 {object} handler.GenericDataListResponse[oscal.ProfileHandler.List.response]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/profiles [get]
func (*ProfileHandler) ListImports ¶
func (h *ProfileHandler) ListImports(ctx echo.Context) error
ListImports godoc
@Summary List Imports
@Description List imports for a specific profile
@Tags Profile
@Param id path string true "Profile ID"
@Produce json
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Import]
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 400 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/profiles/{id}/imports [get]
func (*ProfileHandler) Register ¶
func (h *ProfileHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
func (*ProfileHandler) Resolve ¶
func (h *ProfileHandler) Resolve(ctx echo.Context) error
Resolve godoc
@Summary Resolves a Profile as a stored catalog
@Description Resolves a Profiled identified by the "profile ID" param and stores a new catalog in the database
@Tags Profile
@Param id path string true "Profile ID"
@Produce json
@Success 201 {object} handler.GenericDataResponse[oscal.ProfileHandler.Resolve.response]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/profiles/{id}/resolve [post]
func (*ProfileHandler) Resolved ¶ added in v0.4.1
func (h *ProfileHandler) Resolved(ctx echo.Context) error
Resolved godoc
@Summary Get Resolved Profile
@Description Returns a resolved OSCAL catalog based on a given Profile ID, applying all imports and modifications.
@Tags Profile
@Param id path string true "Profile ID"
@Produce json
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Catalog]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/profiles/{id}/resolved [get]
func (*ProfileHandler) ResolvedWithCatalogs ¶ added in v0.13.0
func (h *ProfileHandler) ResolvedWithCatalogs(ctx echo.Context) error
ResolvedWithCatalogs godoc
@Summary Get Resolved Profile with Catalog IDs
@Description Returns a simplified flat list of controls from a resolved profile with control-id, catalog-id, title, and class.
@Tags Profile
@Param id path string true "Profile ID"
@Produce json
@Success 200 {object} handler.GenericDataListResponse[resolvedWithCatalogsResponse]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/profiles/{id}/resolved-with-catalogs [get]
func (*ProfileHandler) UpdateImport ¶
func (h *ProfileHandler) UpdateImport(ctx echo.Context) error
UpdateImport godoc
@Summary Update Import in Profile
@Description Updates an existing import in a profile by its href
@Tags Profile
@Param id path string true "Profile ID"
@Param href path string true "Import Href"
@Accept json
@Produce json
@Param request body oscalTypes_1_1_3.Import true "Import data to update"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Import]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/profiles/{id}/imports/{href} [put]
func (*ProfileHandler) UpdateMerge ¶
func (h *ProfileHandler) UpdateMerge(ctx echo.Context) error
UpdateMerge godoc
@Summary Update Merge
@Description Updates the merge information for a specific profile
@Tags Profile
@Param id path string true "Profile ID"
@Accept json
@Produce json
@Param request body oscalTypes_1_1_3.Merge true "Merge data to update"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Merge]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/profiles/{id}/merge [put]
type RoleHandler ¶
type RoleHandler struct {
// contains filtered or unexported fields
}
func NewRoleHandler ¶
func NewRoleHandler(l *zap.SugaredLogger, db *gorm.DB) *RoleHandler
func (*RoleHandler) Get ¶
func (h *RoleHandler) Get(ctx echo.Context) error
@Summary Get a Role @Description Retrieves a single Role by its unique ID. @Tags Oscal @Produce json @Param id path string true "Party ID" @Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Role] @Failure 400 {object} api.Error @Failure 401 {object} api.Error @Failure 404 {object} api.Error @Failure 500 {object} api.Error @Security OAuth2Password @Router /oscal/roles/{id} [get]
func (*RoleHandler) List ¶
func (h *RoleHandler) List(ctx echo.Context) error
@Summary List roles @Description Retrieves all roles. @Tags Oscal @Produce json @Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Role] @Failure 400 {object} api.Error @Failure 401 {object} api.Error @Failure 500 {object} api.Error @Security OAuth2Password @Router /oscal/roles [get]
func (*RoleHandler) Register ¶
func (h *RoleHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
type SSPExportOfferingHandler ¶
type SSPExportOfferingHandler struct {
// contains filtered or unexported fields
}
SSPExportOfferingHandler serves both the SSP-nested curation surface (create/edit/ delete/publish, gated by ssp:export) and the top-level read-only ssp-export-offering catalog (gated by ssp-export-offering:read).
func NewSSPExportOfferingHandler ¶
func NewSSPExportOfferingHandler(l *zap.SugaredLogger, db *gorm.DB) *SSPExportOfferingHandler
func (*SSPExportOfferingHandler) CreateItem ¶
func (h *SSPExportOfferingHandler) CreateItem(ctx echo.Context) error
CreateItem godoc
@Summary Add an item to an export offering
@Description Adds one offered capability (a control, optionally scoped to a statement, implemented by a component) to a draft export offering.
@Tags SSP Export Offerings
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param offeringId path string true "Offering ID"
@Param item body createExportOfferingItemRequest true "Item data"
@Success 201 {object} handler.GenericDataResponse[relational.SSPExportOfferingItem]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/export-offerings/{offeringId}/items [post]
func (*SSPExportOfferingHandler) CreateOffering ¶
func (h *SSPExportOfferingHandler) CreateOffering(ctx echo.Context) error
CreateOffering godoc
@Summary Create an export offering
@Description Creates a new draft export offering for an SSP.
@Tags SSP Export Offerings
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param offering body createExportOfferingRequest true "Offering data"
@Success 201 {object} handler.GenericDataResponse[relational.SSPExportOffering]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/export-offerings [post]
func (*SSPExportOfferingHandler) DeleteItem ¶
func (h *SSPExportOfferingHandler) DeleteItem(ctx echo.Context) error
DeleteItem godoc
@Summary Delete an export offering item
@Description Removes one item from an export offering.
@Tags SSP Export Offerings
@Param id path string true "SSP ID"
@Param offeringId path string true "Offering ID"
@Param itemId path string true "Item ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/export-offerings/{offeringId}/items/{itemId} [delete]
func (*SSPExportOfferingHandler) DeleteOffering ¶
func (h *SSPExportOfferingHandler) DeleteOffering(ctx echo.Context) error
DeleteOffering godoc
@Summary Delete an export offering
@Description Deletes an export offering and its items.
@Tags SSP Export Offerings
@Param id path string true "SSP ID"
@Param offeringId path string true "Offering ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/export-offerings/{offeringId} [delete]
func (*SSPExportOfferingHandler) GetByID ¶
func (h *SSPExportOfferingHandler) GetByID(ctx echo.Context) error
GetByID godoc
@Summary Get an export offering
@Description Retrieves a single published export offering by its own ID (no parent SSP scoping). Draft/deprecated/revoked offerings are only visible via the SSP-nested curation routes.
@Tags SSP Export Offerings
@Produce json
@Param id path string true "Offering ID"
@Success 200 {object} handler.GenericDataResponse[catalogOffering]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/ssp-export-offerings/{id} [get]
func (*SSPExportOfferingHandler) GetOffering ¶
func (h *SSPExportOfferingHandler) GetOffering(ctx echo.Context) error
GetOffering godoc
@Summary Get an export offering
@Description Retrieves a single export offering (with its items) curated for an SSP.
@Tags SSP Export Offerings
@Produce json
@Param id path string true "SSP ID"
@Param offeringId path string true "Offering ID"
@Success 200 {object} handler.GenericDataResponse[relational.SSPExportOffering]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/export-offerings/{offeringId} [get]
func (*SSPExportOfferingHandler) ListAll ¶
func (h *SSPExportOfferingHandler) ListAll(ctx echo.Context) error
ListAll godoc
@Summary List export offerings
@Description Retrieves published export offerings across all system security plans. Draft/deprecated/revoked offerings are only visible via the SSP-nested curation routes.
@Tags SSP Export Offerings
@Produce json
@Param limit query int false "Max number of offerings to return (default 100, max 1000)"
@Param offset query int false "Number of offerings to skip"
@Success 200 {object} handler.GenericDataListResponse[catalogOffering]
@Failure 400 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/ssp-export-offerings [get]
func (*SSPExportOfferingHandler) ListForSSP ¶
func (h *SSPExportOfferingHandler) ListForSSP(ctx echo.Context) error
ListForSSP godoc
@Summary List export offerings for an SSP
@Description Retrieves every export offering curated for a given system security plan.
@Tags SSP Export Offerings
@Produce json
@Param id path string true "SSP ID"
@Success 200 {object} handler.GenericDataListResponse[relational.SSPExportOffering]
@Failure 400 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/export-offerings [get]
func (*SSPExportOfferingHandler) Publish ¶
func (h *SSPExportOfferingHandler) Publish(ctx echo.Context) error
Publish godoc
@Summary Publish an export offering
@Description Transitions a draft export offering to published (or republishes a
@Description published one), recomputing content_hash via SyncExportOffering and
@Description bumping version only if the content actually changed since the last publish.
@Tags SSP Export Offerings
@Produce json
@Param id path string true "SSP ID"
@Param offeringId path string true "Offering ID"
@Success 200 {object} handler.GenericDataResponse[relational.SSPExportOffering]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/export-offerings/{offeringId}/publish [post]
func (*SSPExportOfferingHandler) Register ¶
func (h *SSPExportOfferingHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
Register mounts the top-level, cross-SSP read-only catalog: list and get any offering by its own ID, gated by ssp-export-offering:read.
func (*SSPExportOfferingHandler) RegisterNested ¶
func (h *SSPExportOfferingHandler) RegisterNested(api *echo.Group, guard middleware.ResourceGuard)
RegisterNested mounts the SSP-scoped curation routes onto the SSP handler's own route group, guarded uniformly by ssp:export — curating and publishing an offering is a distinct capability from ssp's ordinary read/create/update/delete verbs.
func (*SSPExportOfferingHandler) UpdateItem ¶
func (h *SSPExportOfferingHandler) UpdateItem(ctx echo.Context) error
UpdateItem godoc
@Summary Update an export offering item
@Description Updates one item of an export offering.
@Tags SSP Export Offerings
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param offeringId path string true "Offering ID"
@Param itemId path string true "Item ID"
@Param item body createExportOfferingItemRequest true "Item data"
@Success 200 {object} handler.GenericDataResponse[relational.SSPExportOfferingItem]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/export-offerings/{offeringId}/items/{itemId} [put]
func (*SSPExportOfferingHandler) UpdateOffering ¶
func (h *SSPExportOfferingHandler) UpdateOffering(ctx echo.Context) error
UpdateOffering godoc
@Summary Update an export offering
@Description Updates the title/description of an export offering. Does not change items, status, version or content_hash.
@Tags SSP Export Offerings
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param offeringId path string true "Offering ID"
@Param offering body createExportOfferingRequest true "Offering data"
@Success 200 {object} handler.GenericDataResponse[relational.SSPExportOffering]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/export-offerings/{offeringId} [put]
type SSPJobEnqueuer ¶ added in v0.15.0
type SSPJobEnqueuer interface {
EnqueueOrphanedRiskCleanup(ctx context.Context, sspID uuid.UUID, oldProfileID, newProfileID *uuid.UUID) error
EnqueueDashboardSuggestionCells(ctx context.Context, runID uuid.UUID, cellCount int) error
}
SSPJobEnqueuer is a minimal interface for enqueueing SSP-related background jobs. Defined here to avoid a circular import between the oscal handler and worker packages.
type SSPLeverageHandler ¶
type SSPLeverageHandler struct {
// contains filtered or unexported fields
}
SSPLeverageHandler serves the downstream side of BCH-1338 Phase 2: subscribing to a published SSPExportOffering (recording OSCAL inherited + satisfied + a leveraged-authorization on the downstream SSP) and the read-only projection over what a downstream SSP has subscribed to.
func NewSSPLeverageHandler ¶
func NewSSPLeverageHandler(l *zap.SugaredLogger, db *gorm.DB, pdp authz.PDP, failMode authz.FailMode) *SSPLeverageHandler
func (*SSPLeverageHandler) LeveragedControls ¶
func (h *SSPLeverageHandler) LeveragedControls(ctx echo.Context) error
LeveragedControls godoc
@Summary Project a downstream SSP's leveraged controls
@Description Read-only view over the downstream SSP's own inherited/satisfied entries
@Description joined to ssp_leverage_links + the upstream offering. Per control/statement,
@Description returns which offering it was inherited from, whether satisfaction is full
@Description or partial (recomputed live from the current satisfied-responsibility rows,
@Description not trusted from the link's stored value), any outstanding
@Description responsibilities, and live evidence-backed posture per responsibility uuid
@Description (satisfied/not-satisfied/unknown, via filter_responsibilities). Writes
@Description nothing; never touches profile_controls/controls.
@Tags SSP Export Offerings
@Produce json
@Param id path string true "Downstream SSP ID"
@Success 200 {object} handler.GenericDataListResponse[leveragedControlResponse]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/leveraged-controls [get]
func (*SSPLeverageHandler) RegisterProjection ¶
func (h *SSPLeverageHandler) RegisterProjection(g *echo.Group, guard middleware.ResourceGuard)
RegisterProjection mounts the leveraged-controls projection onto the SSP handler's own route group, gated by the standard ssp:read.
func (*SSPLeverageHandler) RegisterSubscribe ¶
func (h *SSPLeverageHandler) RegisterSubscribe(g *echo.Group, guard middleware.ResourceGuard)
RegisterSubscribe mounts the subscribe route onto the same group the flat ssp-export-offering catalog uses, gated by ssp-export-offering:subscribe.
func (*SSPLeverageHandler) Subscribe ¶
func (h *SSPLeverageHandler) Subscribe(ctx echo.Context) error
Subscribe godoc
@Summary Subscribe to a published export offering
@Description Records, on the downstream SSP named in the request body, an OSCAL
@Description inherited-control-implementation and (optionally) satisfied-responsibility
@Description entries per chosen offering item, plus one leveraged-authorization for the
@Description whole request — all in a single atomic write. Never checks ssp:read on the
@Description upstream SSP: the trust boundary is that subscribing to a published offering
@Description only requires ssp-export-offering:subscribe on the offering and ssp:update on
@Description the downstream SSP.
@Tags SSP Export Offerings
@Accept json
@Produce json
@Param id path string true "Offering ID"
@Param subscribe body subscribeRequest true "Subscribe request"
@Success 201 {object} handler.GenericDataListResponse[relational.SSPLeverageLink]
@Failure 400 {object} api.Error
@Failure 403 {object} api.Error
@Failure 404 {object} api.Error
@Failure 409 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/ssp-export-offerings/{id}/subscribe [post]
type SystemComponentRequest ¶ added in v0.13.0
type SystemComponentRequest struct {
oscalTypes_1_1_3.SystemComponent
DefinedComponentID *uuid.UUID `json:"definedComponentId,omitempty"`
}
type SystemSecurityPlanHandler ¶
type SystemSecurityPlanHandler struct {
// contains filtered or unexported fields
}
func NewSystemSecurityPlanHandler ¶
func NewSystemSecurityPlanHandler(sugar *zap.SugaredLogger, db *gorm.DB, evidenceSvc *evidencesvc.EvidenceService, jobEnqueuer SSPJobEnqueuer) *SystemSecurityPlanHandler
func (*SystemSecurityPlanHandler) AddProfile ¶ added in v0.16.0
func (h *SystemSecurityPlanHandler) AddProfile(ctx echo.Context) error
AddProfile godoc
@Summary Add a Profile binding to an SSP
@Description Associates an additional Profile with a System Security Plan. Creates ImplementedRequirements for any new controls.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param request body addProfileRequest true "Profile binding request"
@Success 200 {object} handler.GenericDataListResponse[profileSummary]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 409 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/profiles [post]
func (*SystemSecurityPlanHandler) ApplySuggestion ¶ added in v0.13.0
func (h *SystemSecurityPlanHandler) ApplySuggestion(ctx echo.Context) error
ApplySuggestion godoc
@Summary Apply a specific component suggestion for an implemented requirement
@Description Creates or reuses a SystemComponent from the provided DefinedComponent and links it via ByComponent.
@Tags System Security Plans
@Accept json
@Param id path string true "SSP ID"
@Param reqId path string true "Implemented Requirement ID"
@Param request body ApplySuggestionRequest true "Suggestion to apply"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/apply-suggestion [post]
func (*SystemSecurityPlanHandler) ApplySuggestionForStatement ¶ added in v0.13.0
func (h *SystemSecurityPlanHandler) ApplySuggestionForStatement(ctx echo.Context) error
ApplySuggestionForStatement godoc
@Summary Apply a specific component suggestion for a statement
@Description Creates or reuses a SystemComponent from the provided DefinedComponent and links it via ByComponent to the statement.
@Tags System Security Plans
@Accept json
@Param id path string true "SSP ID"
@Param reqId path string true "Implemented Requirement ID"
@Param stmtId path string true "Statement ID"
@Param request body ApplySuggestionRequest true "Suggestion to apply"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/statements/{stmtId}/apply-suggestion [post]
func (*SystemSecurityPlanHandler) ApplySuggestionsForStatement ¶ added in v0.13.0
func (h *SystemSecurityPlanHandler) ApplySuggestionsForStatement(ctx echo.Context) error
ApplySuggestionsForStatement godoc
@Summary Apply all component suggestions for a statement
@Description Creates SystemComponents from all matching DefinedComponents and links them via ByComponent to the statement.
@Tags System Security Plans
@Param id path string true "SSP ID"
@Param reqId path string true "Implemented Requirement ID"
@Param stmtId path string true "Statement ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/statements/{stmtId}/apply-suggestions [post]
func (*SystemSecurityPlanHandler) AttachProfile ¶ added in v0.4.1
func (h *SystemSecurityPlanHandler) AttachProfile(ctx echo.Context) error
AttachProfile godoc
@Summary Attach a Profile to a System Security Plan
@Description Associates a given Profile with a System Security Plan.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param request body addProfileRequest true "Profile binding request"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.SystemSecurityPlan]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/profile [put]
func (*SystemSecurityPlanHandler) BulkApplyComponentSuggestions ¶ added in v0.13.0
func (h *SystemSecurityPlanHandler) BulkApplyComponentSuggestions(ctx echo.Context) error
BulkApplyComponentSuggestions godoc
@Summary Bulk apply component suggestions for all implemented requirements in an SSP
@Description For each ImplementedRequirement, creates SystemComponents from matching DefinedComponents and links them via ByComponent.
@Tags System Security Plans
@Param id path string true "SSP ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/bulk-apply-component-suggestions [post]
func (*SystemSecurityPlanHandler) Create ¶
func (h *SystemSecurityPlanHandler) Create(ctx echo.Context) error
Create godoc
@Summary Create a System Security Plan
@Description Creates a System Security Plan from input.
@Tags System Security Plans
@Accept json
@Produce json
@Param ssp body oscalTypes_1_1_3.SystemSecurityPlan true "SSP data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.SystemSecurityPlan]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans [post]
func (*SystemSecurityPlanHandler) CreateBackMatterResource ¶
func (h *SystemSecurityPlanHandler) CreateBackMatterResource(ctx echo.Context) error
CreateBackMatterResource godoc
@Summary Create a new back-matter resource for a SSP
@Description Creates a new back-matter resource for a given SSP.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param resource body oscalTypes_1_1_3.Resource true "Resource data"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Resource]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/back-matter/resources [post]
func (*SystemSecurityPlanHandler) CreateCharacteristicsAuthorizationBoundaryDiagram ¶ added in v0.4.6
func (h *SystemSecurityPlanHandler) CreateCharacteristicsAuthorizationBoundaryDiagram(ctx echo.Context) error
CreateCharacteristicsAuthorizationBoundaryDiagram godoc
@Summary Create an Authorization Boundary Diagram
@Description Creates a new Diagram under the Authorization Boundary of a System Security Plan. Creates the Authorization Boundary grouping if it does not exist yet.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "System Security Plan ID"
@Param diagram body oscalTypes_1_1_3.Diagram true "Diagram object to create"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Diagram]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/system-characteristics/authorization-boundary/diagrams [post]
func (*SystemSecurityPlanHandler) CreateCharacteristicsDataFlowDiagram ¶ added in v0.4.6
func (h *SystemSecurityPlanHandler) CreateCharacteristicsDataFlowDiagram(ctx echo.Context) error
CreateCharacteristicsDataFlowDiagram godoc
@Summary Create a Data Flow Diagram
@Description Creates a new Diagram under the Data Flow of a System Security Plan. Creates the Data Flow grouping if it does not exist yet.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "System Security Plan ID"
@Param diagram body oscalTypes_1_1_3.Diagram true "Diagram object to create"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Diagram]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/system-characteristics/data-flow/diagrams [post]
func (*SystemSecurityPlanHandler) CreateCharacteristicsNetworkArchitectureDiagram ¶ added in v0.4.6
func (h *SystemSecurityPlanHandler) CreateCharacteristicsNetworkArchitectureDiagram(ctx echo.Context) error
CreateCharacteristicsNetworkArchitectureDiagram godoc
@Summary Create a Network Architecture Diagram
@Description Creates a new Diagram under the Network Architecture of a System Security Plan. Creates the Network Architecture grouping if it does not exist yet.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "System Security Plan ID"
@Param diagram body oscalTypes_1_1_3.Diagram true "Diagram object to create"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Diagram]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/system-characteristics/network-architecture/diagrams [post]
func (*SystemSecurityPlanHandler) CreateImplementedRequirement ¶
func (h *SystemSecurityPlanHandler) CreateImplementedRequirement(ctx echo.Context) error
CreateImplementedRequirement godoc
@Summary Create a new implemented requirement for a SSP
@Description Creates a new implemented requirement for a given SSP.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param requirement body oscalTypes_1_1_3.ImplementedRequirement true "Implemented Requirement data"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ImplementedRequirement]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements [post]
func (*SystemSecurityPlanHandler) CreateImplementedRequirementByComponentExport ¶
func (h *SystemSecurityPlanHandler) CreateImplementedRequirementByComponentExport(ctx echo.Context) error
CreateImplementedRequirementByComponentExport godoc
@Summary Create the export for a control-level by-component
@Description Creates the Export for a by-component within an implemented requirement. A by-component may have at most one Export.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param byComponentId path string true "By-Component ID"
@Param export body oscalTypes_1_1_3.Export true "Export data"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Export]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 409 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/by-components/{byComponentId}/export [post]
func (*SystemSecurityPlanHandler) CreateImplementedRequirementByComponentExportProvided ¶
func (h *SystemSecurityPlanHandler) CreateImplementedRequirementByComponentExportProvided(ctx echo.Context) error
CreateImplementedRequirementByComponentExportProvided godoc
@Summary Create a provided entry on a control-level by-component's export
@Description Creates a ProvidedControlImplementation entry under the Export of a by-component within an implemented requirement.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param byComponentId path string true "By-Component ID"
@Param provided body oscalTypes_1_1_3.ProvidedControlImplementation true "Provided data"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ProvidedControlImplementation]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/by-components/{byComponentId}/export/provided [post]
func (*SystemSecurityPlanHandler) CreateImplementedRequirementByComponentExportResponsibility ¶
func (h *SystemSecurityPlanHandler) CreateImplementedRequirementByComponentExportResponsibility(ctx echo.Context) error
CreateImplementedRequirementByComponentExportResponsibility godoc
@Summary Create a responsibility entry on a control-level by-component's export
@Description Creates a ControlImplementationResponsibility entry under the Export of a by-component within an implemented requirement.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param byComponentId path string true "By-Component ID"
@Param responsibility body oscalTypes_1_1_3.ControlImplementationResponsibility true "Responsibility data"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ControlImplementationResponsibility]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/by-components/{byComponentId}/export/responsibilities [post]
func (*SystemSecurityPlanHandler) CreateImplementedRequirementStatement ¶
func (h *SystemSecurityPlanHandler) CreateImplementedRequirementStatement(ctx echo.Context) error
CreateImplementedRequirementStatement godoc
@Summary Create a new statement within an implemented requirement
@Description Creates a new statement within an implemented requirement for a given SSP.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param statement body oscalTypes_1_1_3.Statement true "Statement data"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Statement]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/statements [post]
func (*SystemSecurityPlanHandler) CreateImplementedRequirementStatementByComponent ¶ added in v0.4.7
func (h *SystemSecurityPlanHandler) CreateImplementedRequirementStatementByComponent(ctx echo.Context) error
CreateImplementedRequirementStatementByComponent godoc
@Summary Create a by-component within a statement (within an implemented requirement)
@Description Create a by-component within an existing statement within an implemented requirement for a given SSP.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param stmtId path string true "Statement ID"
@Param by-component body oscalTypes_1_1_3.ByComponent true "By-Component data"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ByComponent]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/statements/{stmtId}/by-components [post]
func (*SystemSecurityPlanHandler) CreateImplementedRequirementStatementByComponentExport ¶
func (h *SystemSecurityPlanHandler) CreateImplementedRequirementStatementByComponentExport(ctx echo.Context) error
CreateImplementedRequirementStatementByComponentExport godoc
@Summary Create the export for a statement-level by-component
@Description Creates the Export for a by-component within a statement. A by-component may have at most one Export.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param stmtId path string true "Statement ID"
@Param byComponentId path string true "By-Component ID"
@Param export body oscalTypes_1_1_3.Export true "Export data"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Export]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 409 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/statements/{stmtId}/by-components/{byComponentId}/export [post]
func (*SystemSecurityPlanHandler) CreateImplementedRequirementStatementByComponentExportProvided ¶
func (h *SystemSecurityPlanHandler) CreateImplementedRequirementStatementByComponentExportProvided(ctx echo.Context) error
CreateImplementedRequirementStatementByComponentExportProvided godoc
@Summary Create a provided entry on a statement-level by-component's export
@Description Creates a ProvidedControlImplementation entry under the Export of a by-component within a statement.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param stmtId path string true "Statement ID"
@Param byComponentId path string true "By-Component ID"
@Param provided body oscalTypes_1_1_3.ProvidedControlImplementation true "Provided data"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ProvidedControlImplementation]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/statements/{stmtId}/by-components/{byComponentId}/export/provided [post]
func (*SystemSecurityPlanHandler) CreateImplementedRequirementStatementByComponentExportResponsibility ¶
func (h *SystemSecurityPlanHandler) CreateImplementedRequirementStatementByComponentExportResponsibility(ctx echo.Context) error
CreateImplementedRequirementStatementByComponentExportResponsibility godoc
@Summary Create a responsibility entry on a statement-level by-component's export
@Description Creates a ControlImplementationResponsibility entry under the Export of a by-component within a statement.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param stmtId path string true "Statement ID"
@Param byComponentId path string true "By-Component ID"
@Param responsibility body oscalTypes_1_1_3.ControlImplementationResponsibility true "Responsibility data"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ControlImplementationResponsibility]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/statements/{stmtId}/by-components/{byComponentId}/export/responsibilities [post]
func (*SystemSecurityPlanHandler) CreateSystemImplementationComponent ¶
func (h *SystemSecurityPlanHandler) CreateSystemImplementationComponent(ctx echo.Context) error
CreateSystemImplementationComponent godoc
@Summary Create a new system component
@Description Creates a new system component for a given SSP. Accepts an optional definedComponentId field to link to a DefinedComponent.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param component body SystemComponentRequest true "System Component data with optional definedComponentId field"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.SystemComponent]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/system-implementation/components [post]
func (*SystemSecurityPlanHandler) CreateSystemImplementationInventoryItem ¶
func (h *SystemSecurityPlanHandler) CreateSystemImplementationInventoryItem(ctx echo.Context) error
CreateSystemImplementationInventoryItem godoc
@Summary Create a new inventory item
@Description Creates a new inventory item for a given SSP.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param item body oscalTypes_1_1_3.InventoryItem true "Inventory Item data"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.InventoryItem]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/system-implementation/inventory-items [post]
func (*SystemSecurityPlanHandler) CreateSystemImplementationLeveragedAuthorization ¶
func (h *SystemSecurityPlanHandler) CreateSystemImplementationLeveragedAuthorization(ctx echo.Context) error
CreateSystemImplementationLeveragedAuthorization godoc
@Summary Create a new leveraged authorization
@Description Creates a new leveraged authorization for a given SSP.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param auth body oscalTypes_1_1_3.LeveragedAuthorization true "Leveraged Authorization data"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.LeveragedAuthorization]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/system-implementation/leveraged-authorizations [post]
func (*SystemSecurityPlanHandler) CreateSystemImplementationUser ¶
func (h *SystemSecurityPlanHandler) CreateSystemImplementationUser(ctx echo.Context) error
CreateSystemImplementationUser godoc
@Summary Create a new system user
@Description Creates a new system user for a given SSP.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param user body oscalTypes_1_1_3.SystemUser true "System User data"
@Success 201 {object} handler.GenericDataResponse[oscalTypes_1_1_3.SystemUser]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/system-implementation/users [post]
func (*SystemSecurityPlanHandler) Delete ¶
func (h *SystemSecurityPlanHandler) Delete(ctx echo.Context) error
Delete godoc
@Summary Delete a System Security Plan
@Description Deletes an existing System Security Plan and all its related data.
@Tags System Security Plans
@Param id path string true "SSP ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id} [delete]
func (*SystemSecurityPlanHandler) DeleteBackMatterResource ¶
func (h *SystemSecurityPlanHandler) DeleteBackMatterResource(ctx echo.Context) error
DeleteBackMatterResource godoc
@Summary Delete a back-matter resource from a SSP
@Description Deletes an existing back-matter resource for a given SSP.
@Tags System Security Plans
@Param id path string true "SSP ID"
@Param resourceId path string true "Resource ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/back-matter/resources/{resourceId} [delete]
func (*SystemSecurityPlanHandler) DeleteCharacteristicsAuthorizationBoundaryDiagram ¶ added in v0.4.6
func (h *SystemSecurityPlanHandler) DeleteCharacteristicsAuthorizationBoundaryDiagram(ctx echo.Context) error
DeleteCharacteristicsAuthorizationBoundaryDiagram godoc
@Summary Delete an Authorization Boundary Diagram
@Description Deletes a specific Diagram under the Authorization Boundary of a System Security Plan.
@Tags System Security Plans
@Produce json
@Param id path string true "System Security Plan ID"
@Param diagram path string true "Diagram ID"
@Success 204
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/system-characteristics/authorization-boundary/diagrams/{diagram} [delete]
func (*SystemSecurityPlanHandler) DeleteCharacteristicsDataFlowDiagram ¶ added in v0.4.6
func (h *SystemSecurityPlanHandler) DeleteCharacteristicsDataFlowDiagram(ctx echo.Context) error
DeleteCharacteristicsDataFlowDiagram godoc
@Summary Delete a Data Flow Diagram
@Description Deletes a specific Diagram under the Data Flow of a System Security Plan.
@Tags System Security Plans
@Produce json
@Param id path string true "System Security Plan ID"
@Param diagram path string true "Diagram ID"
@Success 204
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/system-characteristics/data-flow/diagrams/{diagram} [delete]
func (*SystemSecurityPlanHandler) DeleteCharacteristicsNetworkArchitectureDiagram ¶ added in v0.4.6
func (h *SystemSecurityPlanHandler) DeleteCharacteristicsNetworkArchitectureDiagram(ctx echo.Context) error
DeleteCharacteristicsNetworkArchitectureDiagram godoc
@Summary Delete a Network Architecture Diagram
@Description Deletes a specific Diagram under the Network Architecture of a System Security Plan.
@Tags System Security Plans
@Produce json
@Param id path string true "System Security Plan ID"
@Param diagram path string true "Diagram ID"
@Success 204
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/system-characteristics/network-architecture/diagrams/{diagram} [delete]
func (*SystemSecurityPlanHandler) DeleteImplementedRequirement ¶
func (h *SystemSecurityPlanHandler) DeleteImplementedRequirement(ctx echo.Context) error
DeleteImplementedRequirement godoc
@Summary Delete an implemented requirement from a SSP
@Description Deletes an existing implemented requirement for a given SSP.
@Tags System Security Plans
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId} [delete]
func (*SystemSecurityPlanHandler) DeleteImplementedRequirementByComponentExport ¶
func (h *SystemSecurityPlanHandler) DeleteImplementedRequirementByComponentExport(ctx echo.Context) error
DeleteImplementedRequirementByComponentExport godoc
@Summary Delete the export for a control-level by-component
@Description Deletes the Export (and its Provided/Responsibilities entries) for a by-component within an implemented requirement.
@Tags System Security Plans
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param byComponentId path string true "By-Component ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/by-components/{byComponentId}/export [delete]
func (*SystemSecurityPlanHandler) DeleteImplementedRequirementByComponentExportProvided ¶
func (h *SystemSecurityPlanHandler) DeleteImplementedRequirementByComponentExportProvided(ctx echo.Context) error
DeleteImplementedRequirementByComponentExportProvided godoc
@Summary Delete a provided entry on a control-level by-component's export
@Description Deletes an existing ProvidedControlImplementation entry under the Export of a by-component within an implemented requirement.
@Tags System Security Plans
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param byComponentId path string true "By-Component ID"
@Param providedId path string true "Provided entry ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/by-components/{byComponentId}/export/provided/{providedId} [delete]
func (*SystemSecurityPlanHandler) DeleteImplementedRequirementByComponentExportResponsibility ¶
func (h *SystemSecurityPlanHandler) DeleteImplementedRequirementByComponentExportResponsibility(ctx echo.Context) error
DeleteImplementedRequirementByComponentExportResponsibility godoc
@Summary Delete a responsibility entry on a control-level by-component's export
@Description Deletes an existing ControlImplementationResponsibility entry under the Export of a by-component within an implemented requirement.
@Tags System Security Plans
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param byComponentId path string true "By-Component ID"
@Param responsibilityId path string true "Responsibility entry ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/by-components/{byComponentId}/export/responsibilities/{responsibilityId} [delete]
func (*SystemSecurityPlanHandler) DeleteImplementedRequirementStatementByComponent ¶ added in v0.4.7
func (h *SystemSecurityPlanHandler) DeleteImplementedRequirementStatementByComponent(ctx echo.Context) error
DeleteImplementedRequirementStatementByComponent godoc
@Summary Delete a by-component within a statement (within an implemented requirement)
@Description Deletes a by-component within an existing statement within an implemented requirement for a given SSP.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param stmtId path string true "Statement ID"
@Param byComponentId path string true "By-Component ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ByComponent]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/statements/{stmtId}/by-components/{byComponentId} [delete]
func (*SystemSecurityPlanHandler) DeleteImplementedRequirementStatementByComponentExport ¶
func (h *SystemSecurityPlanHandler) DeleteImplementedRequirementStatementByComponentExport(ctx echo.Context) error
DeleteImplementedRequirementStatementByComponentExport godoc
@Summary Delete the export for a statement-level by-component
@Description Deletes the Export (and its Provided/Responsibilities entries) for a by-component within a statement.
@Tags System Security Plans
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param stmtId path string true "Statement ID"
@Param byComponentId path string true "By-Component ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/statements/{stmtId}/by-components/{byComponentId}/export [delete]
func (*SystemSecurityPlanHandler) DeleteImplementedRequirementStatementByComponentExportProvided ¶
func (h *SystemSecurityPlanHandler) DeleteImplementedRequirementStatementByComponentExportProvided(ctx echo.Context) error
DeleteImplementedRequirementStatementByComponentExportProvided godoc
@Summary Delete a provided entry on a statement-level by-component's export
@Description Deletes an existing ProvidedControlImplementation entry under the Export of a by-component within a statement.
@Tags System Security Plans
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param stmtId path string true "Statement ID"
@Param byComponentId path string true "By-Component ID"
@Param providedId path string true "Provided entry ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/statements/{stmtId}/by-components/{byComponentId}/export/provided/{providedId} [delete]
func (*SystemSecurityPlanHandler) DeleteImplementedRequirementStatementByComponentExportResponsibility ¶
func (h *SystemSecurityPlanHandler) DeleteImplementedRequirementStatementByComponentExportResponsibility(ctx echo.Context) error
DeleteImplementedRequirementStatementByComponentExportResponsibility godoc
@Summary Delete a responsibility entry on a statement-level by-component's export
@Description Deletes an existing ControlImplementationResponsibility entry under the Export of a by-component within a statement.
@Tags System Security Plans
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param stmtId path string true "Statement ID"
@Param byComponentId path string true "By-Component ID"
@Param responsibilityId path string true "Responsibility entry ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/statements/{stmtId}/by-components/{byComponentId}/export/responsibilities/{responsibilityId} [delete]
func (*SystemSecurityPlanHandler) DeleteSystemImplementationComponent ¶
func (h *SystemSecurityPlanHandler) DeleteSystemImplementationComponent(ctx echo.Context) error
DeleteSystemImplementationComponent godoc
@Summary Delete a system component
@Description Deletes an existing system component for a given SSP.
@Tags System Security Plans
@Param id path string true "SSP ID"
@Param componentId path string true "Component ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/system-implementation/components/{componentId} [delete]
func (*SystemSecurityPlanHandler) DeleteSystemImplementationInventoryItem ¶
func (h *SystemSecurityPlanHandler) DeleteSystemImplementationInventoryItem(ctx echo.Context) error
DeleteSystemImplementationInventoryItem godoc
@Summary Delete an inventory item
@Description Deletes an existing inventory item for a given SSP.
@Tags System Security Plans
@Param id path string true "SSP ID"
@Param itemId path string true "Item ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/system-implementation/inventory-items/{itemId} [delete]
func (*SystemSecurityPlanHandler) DeleteSystemImplementationLeveragedAuthorization ¶
func (h *SystemSecurityPlanHandler) DeleteSystemImplementationLeveragedAuthorization(ctx echo.Context) error
DeleteSystemImplementationLeveragedAuthorization godoc
@Summary Delete a leveraged authorization
@Description Deletes an existing leveraged authorization for a given SSP.
@Tags System Security Plans
@Param id path string true "SSP ID"
@Param authId path string true "Authorization ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/system-implementation/leveraged-authorizations/{authId} [delete]
func (*SystemSecurityPlanHandler) DeleteSystemImplementationUser ¶
func (h *SystemSecurityPlanHandler) DeleteSystemImplementationUser(ctx echo.Context) error
DeleteSystemImplementationUser godoc
@Summary Delete a system user
@Description Deletes an existing system user for a given SSP.
@Tags System Security Plans
@Param id path string true "SSP ID"
@Param userId path string true "User ID"
@Success 204 "No Content"
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/system-implementation/users/{userId} [delete]
func (*SystemSecurityPlanHandler) Full ¶
func (h *SystemSecurityPlanHandler) Full(ctx echo.Context) error
func (*SystemSecurityPlanHandler) Get ¶
func (h *SystemSecurityPlanHandler) Get(ctx echo.Context) error
Get godoc
@Summary Get a System Security Plan
@Description Retrieves a single System Security Plan by its unique ID.
@Tags System Security Plans
@Produce json
@Param id path string true "System Security Plan ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.SystemSecurityPlan]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id} [get]
func (*SystemSecurityPlanHandler) GetBackMatter ¶
func (h *SystemSecurityPlanHandler) GetBackMatter(ctx echo.Context) error
GetBackMatter godoc
@Summary Get SSP back-matter
@Description Retrieves back-matter for a given SSP.
@Tags System Security Plans
@Produce json
@Param id path string true "SSP ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.BackMatter]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/back-matter [get]
func (*SystemSecurityPlanHandler) GetBackMatterResources ¶
func (h *SystemSecurityPlanHandler) GetBackMatterResources(ctx echo.Context) error
GetBackMatterResources godoc
@Summary Get back-matter resources for a SSP
@Description Retrieves all back-matter resources for a given SSP.
@Tags System Security Plans
@Produce json
@Param id path string true "SSP ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.Resource]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/back-matter/resources [get]
func (*SystemSecurityPlanHandler) GetCharacteristics ¶
func (h *SystemSecurityPlanHandler) GetCharacteristics(ctx echo.Context) error
GetCharacteristics godoc
@Summary Get System Characteristics
@Description Retrieves the System Characteristics for a given System Security Plan.
@Tags System Security Plans
@Produce json
@Param id path string true "System Security Plan ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.SystemCharacteristics]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/system-characteristics [get]
func (*SystemSecurityPlanHandler) GetCharacteristicsAuthorizationBoundary ¶
func (h *SystemSecurityPlanHandler) GetCharacteristicsAuthorizationBoundary(ctx echo.Context) error
GetCharacteristicsAuthorizationBoundary godoc
@Summary Get Authorization Boundary
@Description Retrieves the Authorization Boundary for a given System Security Plan.
@Tags System Security Plans
@Produce json
@Param id path string true "System Security Plan ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.AuthorizationBoundary]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/system-characteristics/authorization-boundary [get]
func (*SystemSecurityPlanHandler) GetCharacteristicsDataFlow ¶
func (h *SystemSecurityPlanHandler) GetCharacteristicsDataFlow(ctx echo.Context) error
GetCharacteristicsDataFlow godoc
@Summary Get Data Flow
@Description Retrieves the Data Flow for a given System Security Plan.
@Tags System Security Plans
@Produce json
@Param id path string true "System Security Plan ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.DataFlow]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/system-characteristics/data-flow [get]
func (*SystemSecurityPlanHandler) GetCharacteristicsNetworkArchitecture ¶
func (h *SystemSecurityPlanHandler) GetCharacteristicsNetworkArchitecture(ctx echo.Context) error
GetCharacteristicsNetworkArchitecture godoc
@Summary Get Network Architecture
@Description Retrieves the Network Architecture for a given System Security Plan.
@Tags System Security Plans
@Produce json
@Param id path string true "System Security Plan ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.NetworkArchitecture]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/system-characteristics/network-architecture [get]
func (*SystemSecurityPlanHandler) GetControlImplementation ¶
func (h *SystemSecurityPlanHandler) GetControlImplementation(ctx echo.Context) error
GetControlImplementation godoc
@Summary Get Control Implementation
@Description Retrieves the Control Implementation for a given System Security Plan.
@Tags System Security Plans
@Produce json
@Param id path string true "System Security Plan ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ControlImplementation]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation [get]
func (*SystemSecurityPlanHandler) GetImplementedRequirementByComponentExport ¶
func (h *SystemSecurityPlanHandler) GetImplementedRequirementByComponentExport(ctx echo.Context) error
GetImplementedRequirementByComponentExport godoc
@Summary Get the export for a control-level by-component
@Description Retrieves the Export (with nested Provided and Responsibilities) for a by-component within an implemented requirement.
@Tags System Security Plans
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param byComponentId path string true "By-Component ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Export]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/by-components/{byComponentId}/export [get]
func (*SystemSecurityPlanHandler) GetImplementedRequirementStatementByComponentExport ¶
func (h *SystemSecurityPlanHandler) GetImplementedRequirementStatementByComponentExport(ctx echo.Context) error
GetImplementedRequirementStatementByComponentExport godoc
@Summary Get the export for a statement-level by-component
@Description Retrieves the Export (with nested Provided and Responsibilities) for a by-component within a statement.
@Tags System Security Plans
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param stmtId path string true "Statement ID"
@Param byComponentId path string true "By-Component ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Export]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/statements/{stmtId}/by-components/{byComponentId}/export [get]
func (*SystemSecurityPlanHandler) GetImplementedRequirements ¶
func (h *SystemSecurityPlanHandler) GetImplementedRequirements(ctx echo.Context) error
GetImplementedRequirements godoc
@Summary Get implemented requirements for a SSP
@Description Retrieves all implemented requirements for a given SSP.
@Tags System Security Plans
@Produce json
@Param id path string true "SSP ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.ImplementedRequirement]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements [get]
func (*SystemSecurityPlanHandler) GetImportProfile ¶
func (h *SystemSecurityPlanHandler) GetImportProfile(ctx echo.Context) error
GetImportProfile godoc
@Summary Get SSP import-profile
@Description Retrieves import-profile for a given SSP.
@Tags System Security Plans
@Produce json
@Param id path string true "SSP ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ImportProfile]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/import-profile [get]
func (*SystemSecurityPlanHandler) GetMetadata ¶
func (h *SystemSecurityPlanHandler) GetMetadata(ctx echo.Context) error
GetMetadata godoc
@Summary Get SSP metadata
@Description Retrieves metadata for a given SSP.
@Tags System Security Plans
@Produce json
@Param id path string true "SSP ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Metadata]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/metadata [get]
func (*SystemSecurityPlanHandler) GetProfile ¶ added in v0.4.1
func (h *SystemSecurityPlanHandler) GetProfile(ctx echo.Context) error
GetProfile godoc
@Summary Get Profile for a System Security Plan
@Description Retrieves the Profile attached to the specified System Security Plan.
@Tags System Security Plans
@Produce json
@Param id path string true "System Security Plan ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Profile]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/profile [get]
func (*SystemSecurityPlanHandler) GetSystemImplementation ¶
func (h *SystemSecurityPlanHandler) GetSystemImplementation(ctx echo.Context) error
GetSystemImplementation godoc
@Summary Get System Implementation
@Description Retrieves the System Implementation for a given System Security Plan.
@Tags System Security Plans
@Produce json
@Param id path string true "System Security Plan ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.SystemImplementation]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/system-implementation [get]
func (*SystemSecurityPlanHandler) GetSystemImplementationComponent ¶
func (h *SystemSecurityPlanHandler) GetSystemImplementationComponent(ctx echo.Context) error
GetSystemImplementationComponent godoc
@Summary Get System Implementation Component
@Description Retrieves component in the System Implementation for a given System Security Plan.
@Tags System Security Plans
@Produce json
@Param id path string true "System Security Plan ID"
@Param componentId path string true "Component ID"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.SystemComponent]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/system-implementation/components/{componentId} [get]
func (*SystemSecurityPlanHandler) GetSystemImplementationComponents ¶
func (h *SystemSecurityPlanHandler) GetSystemImplementationComponents(ctx echo.Context) error
GetSystemImplementationComponents godoc
@Summary List System Implementation Components
@Description Retrieves components in the System Implementation for a given System Security Plan.
@Tags System Security Plans
@Produce json
@Param id path string true "System Security Plan ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.SystemComponent]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/system-implementation/components [get]
func (*SystemSecurityPlanHandler) GetSystemImplementationInventoryItems ¶
func (h *SystemSecurityPlanHandler) GetSystemImplementationInventoryItems(ctx echo.Context) error
GetSystemImplementationInventoryItems godoc
@Summary List System Implementation Inventory Items
@Description Retrieves inventory items in the System Implementation for a given System Security Plan.
@Tags System Security Plans
@Produce json
@Param id path string true "System Security Plan ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.InventoryItem]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/system-implementation/inventory-items [get]
func (*SystemSecurityPlanHandler) GetSystemImplementationLeveragedAuthorizations ¶
func (h *SystemSecurityPlanHandler) GetSystemImplementationLeveragedAuthorizations(ctx echo.Context) error
GetSystemImplementationLeveragedAuthorizations godoc
@Summary List System Implementation Leveraged Authorizations
@Description Retrieves leveraged authorizations in the System Implementation for a given System Security Plan.
@Tags System Security Plans
@Produce json
@Param id path string true "System Security Plan ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.LeveragedAuthorization]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/system-implementation/leveraged-authorizations [get]
func (*SystemSecurityPlanHandler) GetSystemImplementationUsers ¶
func (h *SystemSecurityPlanHandler) GetSystemImplementationUsers(ctx echo.Context) error
GetSystemImplementationUsers godoc
@Summary List System Implementation Users
@Description Retrieves users in the System Implementation for a given System Security Plan.
@Tags System Security Plans
@Produce json
@Param id path string true "System Security Plan ID"
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.SystemUser]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/system-implementation/users [get]
func (*SystemSecurityPlanHandler) List ¶
func (h *SystemSecurityPlanHandler) List(ctx echo.Context) error
List godoc
@Summary List System Security Plans
@Description Retrieves all System Security Plans.
@Tags System Security Plans
@Produce json
@Success 200 {object} handler.GenericDataListResponse[oscalTypes_1_1_3.SystemSecurityPlan]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans [get]
func (*SystemSecurityPlanHandler) ListProfiles ¶ added in v0.16.0
func (h *SystemSecurityPlanHandler) ListProfiles(ctx echo.Context) error
ListProfiles godoc
@Summary List Profiles bound to an SSP
@Description Returns all profiles associated with a System Security Plan via the ssp_profiles join table.
@Tags System Security Plans
@Produce json
@Param id path string true "SSP ID"
@Success 200 {object} handler.GenericDataListResponse[profileSummary]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/profiles [get]
func (*SystemSecurityPlanHandler) Register ¶
func (h *SystemSecurityPlanHandler) Register(api *echo.Group, guard middleware.ResourceGuard)
func (*SystemSecurityPlanHandler) RemoveProfile ¶ added in v0.16.0
func (h *SystemSecurityPlanHandler) RemoveProfile(ctx echo.Context) error
RemoveProfile godoc
@Summary Remove a Profile binding from an SSP
@Description Removes a profile association from a System Security Plan. Enqueues orphaned risk cleanup.
@Tags System Security Plans
@Produce json
@Param id path string true "SSP ID"
@Param profileId path string true "Profile ID to remove"
@Success 200 {object} handler.GenericDataListResponse[profileSummary]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/profiles/{profileId} [delete]
func (*SystemSecurityPlanHandler) SuggestComponents ¶ added in v0.13.0
func (h *SystemSecurityPlanHandler) SuggestComponents(ctx echo.Context) error
SuggestComponents godoc
@Summary Suggest system components for an implemented requirement
@Description Returns DefinedComponents that implement the same control and are not yet present in the SSP.
@Tags System Security Plans
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Implemented Requirement ID"
@Success 200 {object} handler.GenericDataListResponse[relational.SystemComponentSuggestion]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/suggest-components [post]
func (*SystemSecurityPlanHandler) SuggestComponentsForStatement ¶ added in v0.13.0
func (h *SystemSecurityPlanHandler) SuggestComponentsForStatement(ctx echo.Context) error
SuggestComponentsForStatement godoc
@Summary Suggest system components for a statement
@Description Returns DefinedComponents that implement the statement's parent control and are not yet present in the SSP.
@Tags System Security Plans
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Implemented Requirement ID"
@Param stmtId path string true "Statement ID"
@Success 200 {object} handler.GenericDataListResponse[relational.SystemComponentSuggestion]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/statements/{stmtId}/suggest-components [post]
func (*SystemSecurityPlanHandler) Update ¶
func (h *SystemSecurityPlanHandler) Update(ctx echo.Context) error
Update godoc
@Summary Update a System Security Plan
@Description Updates an existing System Security Plan.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param ssp body oscalTypes_1_1_3.SystemSecurityPlan true "SSP data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.SystemSecurityPlan]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id} [put]
func (*SystemSecurityPlanHandler) UpdateBackMatter ¶
func (h *SystemSecurityPlanHandler) UpdateBackMatter(ctx echo.Context) error
UpdateBackMatter godoc
@Summary Update SSP back-matter
@Description Updates back-matter for a given SSP.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param back-matter body oscalTypes_1_1_3.BackMatter true "Back Matter data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.BackMatter]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/back-matter [put]
func (*SystemSecurityPlanHandler) UpdateBackMatterResource ¶
func (h *SystemSecurityPlanHandler) UpdateBackMatterResource(ctx echo.Context) error
UpdateBackMatterResource godoc
@Summary Update a back-matter resource for a SSP
@Description Updates an existing back-matter resource for a given SSP.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param resourceId path string true "Resource ID"
@Param resource body oscalTypes_1_1_3.Resource true "Resource data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Resource]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/back-matter/resources/{resourceId} [put]
func (*SystemSecurityPlanHandler) UpdateCharacteristics ¶
func (h *SystemSecurityPlanHandler) UpdateCharacteristics(ctx echo.Context) error
UpdateCharacteristics godoc
@Summary Update System Characteristics
@Description Updates the System Characteristics for a given System Security Plan.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "System Security Plan ID"
@Param characteristics body oscalTypes_1_1_3.SystemCharacteristics true "Updated System Characteristics object"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.SystemCharacteristics]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/system-characteristics [put]
func (*SystemSecurityPlanHandler) UpdateCharacteristicsAuthorizationBoundaryDiagram ¶
func (h *SystemSecurityPlanHandler) UpdateCharacteristicsAuthorizationBoundaryDiagram(ctx echo.Context) error
UpdateCharacteristicsAuthorizationBoundaryDiagram godoc
@Summary Update an Authorization Boundary Diagram
@Description Updates a specific Diagram under the Authorization Boundary of a System Security Plan.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "System Security Plan ID"
@Param diagram path string true "Diagram ID"
@Param diagram body oscalTypes_1_1_3.Diagram true "Updated Diagram object"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Diagram]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/system-characteristics/authorization-boundary/diagrams/{diagram} [put]
func (*SystemSecurityPlanHandler) UpdateCharacteristicsDataFlowDiagram ¶
func (h *SystemSecurityPlanHandler) UpdateCharacteristicsDataFlowDiagram(ctx echo.Context) error
UpdateCharacteristicsDataFlowDiagram godoc
@Summary Update a Data Flow Diagram
@Description Updates a specific Diagram under the Data Flow of a System Security Plan.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "System Security Plan ID"
@Param diagram path string true "Diagram ID"
@Param diagram body oscalTypes_1_1_3.Diagram true "Updated Diagram object"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Diagram]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/system-characteristics/data-flow/diagrams/{diagram} [put]
func (*SystemSecurityPlanHandler) UpdateCharacteristicsNetworkArchitectureDiagram ¶
func (h *SystemSecurityPlanHandler) UpdateCharacteristicsNetworkArchitectureDiagram(ctx echo.Context) error
UpdateCharacteristicsNetworkArchitectureDiagram godoc
@Summary Update a Network Architecture Diagram
@Description Updates a specific Diagram under the Network Architecture of a System Security Plan.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "System Security Plan ID"
@Param diagram path string true "Diagram ID"
@Param diagram body oscalTypes_1_1_3.Diagram true "Updated Diagram object"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Diagram]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/system-characteristics/network-architecture/diagrams/{diagram} [put]
func (*SystemSecurityPlanHandler) UpdateControlImplementation ¶
func (h *SystemSecurityPlanHandler) UpdateControlImplementation(ctx echo.Context) error
UpdateControlImplementation godoc
@Summary Update Control Implementation
@Description Updates the Control Implementation for a given System Security Plan.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "System Security Plan ID"
@Param control-implementation body oscalTypes_1_1_3.ControlImplementation true "Updated Control Implementation object"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ControlImplementation]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/control-implementation [put]
func (*SystemSecurityPlanHandler) UpdateImplementedRequirement ¶
func (h *SystemSecurityPlanHandler) UpdateImplementedRequirement(ctx echo.Context) error
UpdateImplementedRequirement godoc
@Summary Update an implemented requirement for a SSP
@Description Updates an existing implemented requirement for a given SSP.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param requirement body oscalTypes_1_1_3.ImplementedRequirement true "Implemented Requirement data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ImplementedRequirement]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId} [put]
func (*SystemSecurityPlanHandler) UpdateImplementedRequirementByComponent ¶ added in v0.4.9
func (h *SystemSecurityPlanHandler) UpdateImplementedRequirementByComponent(ctx echo.Context) error
UpdateImplementedRequirementByComponent godoc
@Summary Update a by-component within an implemented requirement
@Description Updates an existing by-component that belongs to an implemented requirement for a given SSP.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param byComponentId path string true "By-Component ID"
@Param by-component body oscalTypes_1_1_3.ByComponent true "By-Component data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ByComponent]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/by-components/{byComponentId} [put]
func (*SystemSecurityPlanHandler) UpdateImplementedRequirementByComponentExport ¶
func (h *SystemSecurityPlanHandler) UpdateImplementedRequirementByComponentExport(ctx echo.Context) error
UpdateImplementedRequirementByComponentExport godoc
@Summary Update the export for a control-level by-component
@Description Updates the scalar fields of an existing Export for a by-component within an implemented requirement. Provided and Responsibilities entries are managed via their own routes.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param byComponentId path string true "By-Component ID"
@Param export body oscalTypes_1_1_3.Export true "Export data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Export]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/by-components/{byComponentId}/export [put]
func (*SystemSecurityPlanHandler) UpdateImplementedRequirementByComponentExportProvided ¶
func (h *SystemSecurityPlanHandler) UpdateImplementedRequirementByComponentExportProvided(ctx echo.Context) error
UpdateImplementedRequirementByComponentExportProvided godoc
@Summary Update a provided entry on a control-level by-component's export
@Description Replaces an existing ProvidedControlImplementation entry under the Export of a by-component within an implemented requirement.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param byComponentId path string true "By-Component ID"
@Param providedId path string true "Provided entry ID"
@Param provided body oscalTypes_1_1_3.ProvidedControlImplementation true "Provided data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ProvidedControlImplementation]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/by-components/{byComponentId}/export/provided/{providedId} [put]
func (*SystemSecurityPlanHandler) UpdateImplementedRequirementByComponentExportResponsibility ¶
func (h *SystemSecurityPlanHandler) UpdateImplementedRequirementByComponentExportResponsibility(ctx echo.Context) error
UpdateImplementedRequirementByComponentExportResponsibility godoc
@Summary Update a responsibility entry on a control-level by-component's export
@Description Replaces an existing ControlImplementationResponsibility entry under the Export of a by-component within an implemented requirement.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param byComponentId path string true "By-Component ID"
@Param responsibilityId path string true "Responsibility entry ID"
@Param responsibility body oscalTypes_1_1_3.ControlImplementationResponsibility true "Responsibility data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ControlImplementationResponsibility]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/by-components/{byComponentId}/export/responsibilities/{responsibilityId} [put]
func (*SystemSecurityPlanHandler) UpdateImplementedRequirementStatement ¶
func (h *SystemSecurityPlanHandler) UpdateImplementedRequirementStatement(ctx echo.Context) error
UpdateImplementedRequirementStatement godoc
@Summary Update a statement within an implemented requirement
@Description Updates an existing statement within an implemented requirement for a given SSP.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param stmtId path string true "Statement ID"
@Param statement body oscalTypes_1_1_3.Statement true "Statement data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Statement]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/statements/{stmtId} [put]
func (*SystemSecurityPlanHandler) UpdateImplementedRequirementStatementByComponent ¶ added in v0.4.4
func (h *SystemSecurityPlanHandler) UpdateImplementedRequirementStatementByComponent(ctx echo.Context) error
UpdateImplementedRequirementStatementByComponent godoc
@Summary Update a by-component within a statement (within an implemented requirement)
@Description Updates a by-component within an existing statement within an implemented requirement for a given SSP.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param stmtId path string true "Statement ID"
@Param byComponentId path string true "By-Component ID"
@Param by-component body oscalTypes_1_1_3.ByComponent true "By-Component data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ByComponent]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/statements/{stmtId}/by-components/{byComponentId} [put]
func (*SystemSecurityPlanHandler) UpdateImplementedRequirementStatementByComponentExport ¶
func (h *SystemSecurityPlanHandler) UpdateImplementedRequirementStatementByComponentExport(ctx echo.Context) error
UpdateImplementedRequirementStatementByComponentExport godoc
@Summary Update the export for a statement-level by-component
@Description Updates the scalar fields of an existing Export for a by-component within a statement. Provided and Responsibilities entries are managed via their own routes.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param stmtId path string true "Statement ID"
@Param byComponentId path string true "By-Component ID"
@Param export body oscalTypes_1_1_3.Export true "Export data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Export]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/statements/{stmtId}/by-components/{byComponentId}/export [put]
func (*SystemSecurityPlanHandler) UpdateImplementedRequirementStatementByComponentExportProvided ¶
func (h *SystemSecurityPlanHandler) UpdateImplementedRequirementStatementByComponentExportProvided(ctx echo.Context) error
UpdateImplementedRequirementStatementByComponentExportProvided godoc
@Summary Update a provided entry on a statement-level by-component's export
@Description Replaces an existing ProvidedControlImplementation entry under the Export of a by-component within a statement.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param stmtId path string true "Statement ID"
@Param byComponentId path string true "By-Component ID"
@Param providedId path string true "Provided entry ID"
@Param provided body oscalTypes_1_1_3.ProvidedControlImplementation true "Provided data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ProvidedControlImplementation]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/statements/{stmtId}/by-components/{byComponentId}/export/provided/{providedId} [put]
func (*SystemSecurityPlanHandler) UpdateImplementedRequirementStatementByComponentExportResponsibility ¶
func (h *SystemSecurityPlanHandler) UpdateImplementedRequirementStatementByComponentExportResponsibility(ctx echo.Context) error
UpdateImplementedRequirementStatementByComponentExportResponsibility godoc
@Summary Update a responsibility entry on a statement-level by-component's export
@Description Replaces an existing ControlImplementationResponsibility entry under the Export of a by-component within a statement.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param reqId path string true "Requirement ID"
@Param stmtId path string true "Statement ID"
@Param byComponentId path string true "By-Component ID"
@Param responsibilityId path string true "Responsibility entry ID"
@Param responsibility body oscalTypes_1_1_3.ControlImplementationResponsibility true "Responsibility data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ControlImplementationResponsibility]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/control-implementation/implemented-requirements/{reqId}/statements/{stmtId}/by-components/{byComponentId}/export/responsibilities/{responsibilityId} [put]
func (*SystemSecurityPlanHandler) UpdateImportProfile ¶
func (h *SystemSecurityPlanHandler) UpdateImportProfile(ctx echo.Context) error
UpdateImportProfile godoc
@Summary Update SSP import-profile
@Description Updates import-profile for a given SSP.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param import-profile body oscalTypes_1_1_3.ImportProfile true "Import Profile data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.ImportProfile]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/import-profile [put]
func (*SystemSecurityPlanHandler) UpdateMetadata ¶
func (h *SystemSecurityPlanHandler) UpdateMetadata(ctx echo.Context) error
UpdateMetadata godoc
@Summary Update SSP metadata
@Description Updates metadata for a given SSP.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param metadata body oscalTypes_1_1_3.Metadata true "Metadata data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.Metadata]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/metadata [put]
func (*SystemSecurityPlanHandler) UpdateSystemImplementation ¶
func (h *SystemSecurityPlanHandler) UpdateSystemImplementation(ctx echo.Context) error
UpdateSystemImplementation godoc
@Summary Update System Implementation
@Description Updates the System Implementation for a given System Security Plan.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "System Security Plan ID"
@Param system-implementation body oscalTypes_1_1_3.SystemImplementation true "Updated System Implementation object"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.SystemImplementation]
@Failure 400 {object} api.Error
@Failure 401 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Security OAuth2Password
@Router /oscal/system-security-plans/{id}/system-implementation [put]
func (*SystemSecurityPlanHandler) UpdateSystemImplementationComponent ¶
func (h *SystemSecurityPlanHandler) UpdateSystemImplementationComponent(ctx echo.Context) error
UpdateSystemImplementationComponent godoc
@Summary Update a system component
@Description Updates an existing system component for a given SSP. Accepts an optional definedComponentId field to link to a DefinedComponent.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param componentId path string true "Component ID"
@Param component body SystemComponentRequest true "System Component data with optional definedComponentId field"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.SystemComponent]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/system-implementation/components/{componentId} [put]
func (*SystemSecurityPlanHandler) UpdateSystemImplementationInventoryItem ¶
func (h *SystemSecurityPlanHandler) UpdateSystemImplementationInventoryItem(ctx echo.Context) error
UpdateSystemImplementationInventoryItem godoc
@Summary Update an inventory item
@Description Updates an existing inventory item for a given SSP.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param itemId path string true "Item ID"
@Param item body oscalTypes_1_1_3.InventoryItem true "Inventory Item data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.InventoryItem]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/system-implementation/inventory-items/{itemId} [put]
func (*SystemSecurityPlanHandler) UpdateSystemImplementationLeveragedAuthorization ¶
func (h *SystemSecurityPlanHandler) UpdateSystemImplementationLeveragedAuthorization(ctx echo.Context) error
UpdateSystemImplementationLeveragedAuthorization godoc
@Summary Update a leveraged authorization
@Description Updates an existing leveraged authorization for a given SSP.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param authId path string true "Authorization ID"
@Param auth body oscalTypes_1_1_3.LeveragedAuthorization true "Leveraged Authorization data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.LeveragedAuthorization]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/system-implementation/leveraged-authorizations/{authId} [put]
func (*SystemSecurityPlanHandler) UpdateSystemImplementationUser ¶
func (h *SystemSecurityPlanHandler) UpdateSystemImplementationUser(ctx echo.Context) error
UpdateSystemImplementationUser godoc
@Summary Update a system user
@Description Updates an existing system user for a given SSP.
@Tags System Security Plans
@Accept json
@Produce json
@Param id path string true "SSP ID"
@Param userId path string true "User ID"
@Param user body oscalTypes_1_1_3.SystemUser true "System User data"
@Success 200 {object} handler.GenericDataResponse[oscalTypes_1_1_3.SystemUser]
@Failure 400 {object} api.Error
@Failure 404 {object} api.Error
@Failure 500 {object} api.Error
@Router /oscal/system-security-plans/{id}/system-implementation/users/{userId} [put]
type Validatable ¶ added in v0.4.2
type Validatable interface {
Validate() []ValidationError
}
type ValidationError ¶ added in v0.4.2
Source Files
¶
- activity.go
- api.go
- assessment_results.go
- assessmentplan.go
- asset.go
- catalogs.go
- component_definition.go
- dashboard_suggestion_diagnostics.go
- dashboard_suggestions.go
- import.go
- inventory.go
- parties.go
- plan_of_action_and_milestones.go
- profile_compliance.go
- profiles.go
- requests.go
- response.go
- roles.go
- ssp_export_offerings.go
- ssp_leverage.go
- subject.go
- system_security_plans.go
- task.go