Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
525 changes: 5 additions & 520 deletions cmd/seed/workflows.go

Large diffs are not rendered by default.

521 changes: 16 additions & 505 deletions cmd/seed/workflows_test.go

Large diffs are not rendered by default.

147 changes: 147 additions & 0 deletions docs/docs.go
Original file line number Diff line number Diff line change
Expand Up @@ -25270,6 +25270,73 @@ const docTemplate = `{
]
}
},
"/workflows/import": {
"post": {
"description": "Import one or more SOC 2 CCF workflow seed JSON files",
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json"
],
"tags": [
"Workflows"
],
"summary": "Import workflow seed definitions",
"parameters": [
{
"type": "file",
"description": "Workflow seed JSON files to import. Upload multiple files by including multiple multipart form-data parts with the same field name, files.",
"name": "files",
"in": "formData",
"required": true
}
Comment thread
ccf-lisa[bot] marked this conversation as resolved.
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/workflows.WorkflowImportDataResponse"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/api.Error"
}
},
"401": {
"description": "Unauthorized",
"schema": {
"$ref": "#/definitions/api.Error"
}
},
"403": {
"description": "Forbidden",
"schema": {
"$ref": "#/definitions/api.Error"
}
},
"413": {
"description": "Request Entity Too Large",
"schema": {
"$ref": "#/definitions/api.Error"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/api.Error"
}
}
},
"security": [
{
"OAuth2Password": []
}
]
}
},
"/workflows/instances": {
"get": {
"description": "List all workflow instances with optional filtering",
Expand Down Expand Up @@ -40622,6 +40689,38 @@ const docTemplate = `{
}
}
},
"workflows.SeedSummary": {
"type": "object",
"properties": {
"control_relationships": {
"type": "integer"
},
"definitions_created": {
"type": "integer"
},
"definitions_updated": {
"type": "integer"
},
"dependencies": {
"type": "integer"
},
"failed": {
"type": "integer"
},
"instances": {
"type": "integer"
},
"role_assignments": {
"type": "integer"
},
"skipped": {
"type": "integer"
},
"steps": {
"type": "integer"
}
}
},
"workflows.StartWorkflowExecutionRequest": {
"type": "object",
"required": [
Expand Down Expand Up @@ -41238,6 +41337,54 @@ const docTemplate = `{
}
}
},
"workflows.WorkflowImportDataResponse": {
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/workflows.WorkflowImportResponse"
}
}
},
"workflows.WorkflowImportFileResult": {
"type": "object",
"properties": {
"filename": {
"type": "string"
},
"message": {
"type": "string"
},
"success": {
"type": "boolean"
},
"summary": {
"$ref": "#/definitions/workflows.SeedSummary"
}
}
},
"workflows.WorkflowImportResponse": {
"type": "object",
"properties": {
"failed_files": {
"type": "integer"
},
"results": {
"type": "array",
"items": {
"$ref": "#/definitions/workflows.WorkflowImportFileResult"
}
},
"successful_files": {
"type": "integer"
},
"summary": {
"$ref": "#/definitions/workflows.SeedSummary"
},
"total_files": {
"type": "integer"
}
}
},
"workflows.WorkflowInstance": {
"type": "object",
"properties": {
Expand Down
147 changes: 147 additions & 0 deletions docs/swagger.json
Original file line number Diff line number Diff line change
Expand Up @@ -25264,6 +25264,73 @@
]
}
},
"/workflows/import": {
"post": {
"description": "Import one or more SOC 2 CCF workflow seed JSON files",
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json"
],
"tags": [
"Workflows"
],
"summary": "Import workflow seed definitions",
"parameters": [
{
"type": "file",
"description": "Workflow seed JSON files to import. Upload multiple files by including multiple multipart form-data parts with the same field name, files.",
"name": "files",
"in": "formData",
"required": true
}
Comment thread
ccf-lisa[bot] marked this conversation as resolved.
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/workflows.WorkflowImportDataResponse"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/api.Error"
}
},
"401": {
"description": "Unauthorized",
"schema": {
"$ref": "#/definitions/api.Error"
}
},
"403": {
"description": "Forbidden",
"schema": {
"$ref": "#/definitions/api.Error"
}
},
"413": {
"description": "Request Entity Too Large",
"schema": {
"$ref": "#/definitions/api.Error"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/api.Error"
}
}
},
"security": [
{
"OAuth2Password": []
}
]
}
},
"/workflows/instances": {
"get": {
"description": "List all workflow instances with optional filtering",
Expand Down Expand Up @@ -40616,6 +40683,38 @@
}
}
},
"workflows.SeedSummary": {
"type": "object",
"properties": {
"control_relationships": {
"type": "integer"
},
"definitions_created": {
"type": "integer"
},
"definitions_updated": {
"type": "integer"
},
"dependencies": {
"type": "integer"
},
"failed": {
"type": "integer"
},
"instances": {
"type": "integer"
},
"role_assignments": {
"type": "integer"
},
"skipped": {
"type": "integer"
},
"steps": {
"type": "integer"
}
}
},
Comment thread
gusfcarvalho marked this conversation as resolved.
"workflows.StartWorkflowExecutionRequest": {
"type": "object",
"required": [
Expand Down Expand Up @@ -41232,6 +41331,54 @@
}
}
},
"workflows.WorkflowImportDataResponse": {
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/workflows.WorkflowImportResponse"
}
}
},
"workflows.WorkflowImportFileResult": {
"type": "object",
"properties": {
"filename": {
"type": "string"
},
"message": {
"type": "string"
},
"success": {
"type": "boolean"
},
"summary": {
"$ref": "#/definitions/workflows.SeedSummary"
}
}
},
"workflows.WorkflowImportResponse": {
"type": "object",
"properties": {
"failed_files": {
"type": "integer"
},
"results": {
"type": "array",
"items": {
"$ref": "#/definitions/workflows.WorkflowImportFileResult"
}
},
"successful_files": {
"type": "integer"
},
"summary": {
"$ref": "#/definitions/workflows.SeedSummary"
},
"total_files": {
"type": "integer"
}
}
},
Comment thread
gusfcarvalho marked this conversation as resolved.
"workflows.WorkflowInstance": {
"type": "object",
"properties": {
Expand Down
Loading
Loading