oscal

package
v0.4.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 11, 2025 License: AGPL-3.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
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

This section is empty.

Functions

func BuildControlCatalogForProfile added in v0.4.1

func BuildControlCatalogForProfile(profile *relational.Profile, db *gorm.DB, catalogId uuid.UUID) (*relational.Catalog, error)

ResolveControls orchestrates control resolution for all imports in the profile, returning the list of catalog UUIDs and the fully processed controls.

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

func FindFullProfile(db *gorm.DB, id uuid.UUID) (*relational.Profile, error)

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

func FindOscalCatalogFromBackMatter(profile *relational.Profile, ref string) (uuid.UUID, error)

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 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)

func ResolveControls

func ResolveControls(profile *relational.Profile, db *gorm.DB, catalogId uuid.UUID) ([]uuid.UUID, *[]relational.Control)

ResolveControls orchestrates control resolution for all imports in the profile, returning the list of catalog UUIDs and the fully processed controls.

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)

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 AssessmentPlanCreateRequest added in v0.4.2

type AssessmentPlanCreateRequest struct {
	Data *oscalTypes.AssessmentPlan
}

func (*AssessmentPlanCreateRequest) Validate added in v0.4.2

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

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)

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

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

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

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

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)

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 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. @Tags Catalog @Accept json @Produce json @Param catalog body oscalTypes_1_1_3.Catalog true "Catalog object" @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) Full

func (h *CatalogHandler) Full(ctx echo.Context) error

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[oscal.Get.responseCatalog] @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) 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. @Tags Catalog @Produce json @Success 200 {object} handler.GenericDataListResponse[oscal.List.responseCatalog] @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)

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

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

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

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[oscal.Get.responseComponentDefinition]
@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

List godoc

@Summary		List component definitions
@Description	Retrieves all component definitions.
@Tags			Component Definitions
@Produce		json
@Success		200	{object}	handler.GenericDataListResponse[oscal.List.responseComponentDefinition]
@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)

func (*ComponentDefinitionHandler) Update

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 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 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)

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)

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

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

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

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

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

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

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

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

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)

Register registers POA&M endpoints to the API group.

func (*PlanOfActionAndMilestonesHandler) Update

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) 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

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 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) 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)

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) 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)

type SystemSecurityPlanHandler

type SystemSecurityPlanHandler struct {
	// contains filtered or unexported fields
}

func NewSystemSecurityPlanHandler

func NewSystemSecurityPlanHandler(sugar *zap.SugaredLogger, db *gorm.DB) *SystemSecurityPlanHandler

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			profileId	body		string	true	"Profile ID to attach"
@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) Create

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.
@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.
@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.
@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) 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) 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.
@Tags			System Security Plans
@Accept			json
@Produce		json
@Param			id			path		string								true	"SSP ID"
@Param			component	body		oscalTypes_1_1_3.SystemComponent	true	"System Component data"
@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

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) 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 (*SystemSecurityPlanHandler) Get

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) 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

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) Register

func (h *SystemSecurityPlanHandler) Register(api *echo.Group)

func (*SystemSecurityPlanHandler) Update

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) 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) 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.
@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		oscalTypes_1_1_3.SystemComponent	true	"System Component data"
@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

type ValidationError struct {
	Message string `json:"message"`
	Field   string `json:"field,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL