@@ -1113,6 +1113,50 @@ const docTemplate = `{
11131113 }
11141114 }
11151115 },
1116+ "/filters/import": {
1117+ "post": {
1118+ "description": "Import multiple dashboard filter JSON files",
1119+ "consumes": [
1120+ "multipart/form-data"
1121+ ],
1122+ "produces": [
1123+ "application/json"
1124+ ],
1125+ "tags": [
1126+ "Filters"
1127+ ],
1128+ "summary": "Import dashboard filters",
1129+ "parameters": [
1130+ {
1131+ "type": "file",
1132+ "description": "Dashboard filter JSON files to import",
1133+ "name": "files",
1134+ "in": "formData",
1135+ "required": true
1136+ }
1137+ ],
1138+ "responses": {
1139+ "200": {
1140+ "description": "OK",
1141+ "schema": {
1142+ "$ref": "#/definitions/handler.GenericDataResponse-handler_FilterImportResponse"
1143+ }
1144+ },
1145+ "400": {
1146+ "description": "Bad Request",
1147+ "schema": {
1148+ "$ref": "#/definitions/api.Error"
1149+ }
1150+ },
1151+ "500": {
1152+ "description": "Internal Server Error",
1153+ "schema": {
1154+ "$ref": "#/definitions/api.Error"
1155+ }
1156+ }
1157+ }
1158+ }
1159+ },
11161160 "/filters/{id}": {
11171161 "get": {
11181162 "description": "Retrieves a single filter by its unique ID.",
@@ -9069,6 +9113,50 @@ const docTemplate = `{
90699113 ]
90709114 }
90719115 },
9116+ "/oscal/import": {
9117+ "post": {
9118+ "description": "Import multiple OSCAL JSON files (catalogs, profiles, SSPs, etc.)",
9119+ "consumes": [
9120+ "multipart/form-data"
9121+ ],
9122+ "produces": [
9123+ "application/json"
9124+ ],
9125+ "tags": [
9126+ "OSCAL"
9127+ ],
9128+ "summary": "Import OSCAL files",
9129+ "parameters": [
9130+ {
9131+ "type": "file",
9132+ "description": "OSCAL JSON files to import",
9133+ "name": "files",
9134+ "in": "formData",
9135+ "required": true
9136+ }
9137+ ],
9138+ "responses": {
9139+ "200": {
9140+ "description": "OK",
9141+ "schema": {
9142+ "$ref": "#/definitions/handler.GenericDataResponse-oscal_ImportResponse"
9143+ }
9144+ },
9145+ "400": {
9146+ "description": "Bad Request",
9147+ "schema": {
9148+ "$ref": "#/definitions/api.Error"
9149+ }
9150+ },
9151+ "500": {
9152+ "description": "Internal Server Error",
9153+ "schema": {
9154+ "$ref": "#/definitions/api.Error"
9155+ }
9156+ }
9157+ }
9158+ }
9159+ },
90729160 "/oscal/inventory": {
90739161 "get": {
90749162 "description": "Retrieves all inventory items from all sources (SSP, Evidence, POAM, AP, AR)",
@@ -16440,6 +16528,46 @@ const docTemplate = `{
1644016528 }
1644116529 }
1644216530 },
16531+ "handler.FilterImportFileResult": {
16532+ "type": "object",
16533+ "properties": {
16534+ "count": {
16535+ "type": "integer"
16536+ },
16537+ "filename": {
16538+ "type": "string"
16539+ },
16540+ "message": {
16541+ "type": "string"
16542+ },
16543+ "success": {
16544+ "type": "boolean"
16545+ }
16546+ }
16547+ },
16548+ "handler.FilterImportResponse": {
16549+ "type": "object",
16550+ "properties": {
16551+ "failed_count": {
16552+ "type": "integer"
16553+ },
16554+ "results": {
16555+ "type": "array",
16556+ "items": {
16557+ "$ref": "#/definitions/handler.FilterImportFileResult"
16558+ }
16559+ },
16560+ "successful_count": {
16561+ "type": "integer"
16562+ },
16563+ "total_dashboards": {
16564+ "type": "integer"
16565+ },
16566+ "total_files": {
16567+ "type": "integer"
16568+ }
16569+ }
16570+ },
1644316571 "handler.FilterWithControlsResponse": {
1644416572 "type": "object",
1644516573 "properties": {
@@ -17027,6 +17155,19 @@ const docTemplate = `{
1702717155 }
1702817156 }
1702917157 },
17158+ "handler.GenericDataResponse-handler_FilterImportResponse": {
17159+ "type": "object",
17160+ "properties": {
17161+ "data": {
17162+ "description": "Items from the list response",
17163+ "allOf": [
17164+ {
17165+ "$ref": "#/definitions/handler.FilterImportResponse"
17166+ }
17167+ ]
17168+ }
17169+ }
17170+ },
1703017171 "handler.GenericDataResponse-handler_FilterWithControlsResponse": {
1703117172 "type": "object",
1703217173 "properties": {
@@ -17716,6 +17857,19 @@ const docTemplate = `{
1771617857 }
1771717858 }
1771817859 },
17860+ "handler.GenericDataResponse-oscal_ImportResponse": {
17861+ "type": "object",
17862+ "properties": {
17863+ "data": {
17864+ "description": "Items from the list response",
17865+ "allOf": [
17866+ {
17867+ "$ref": "#/definitions/oscal.ImportResponse"
17868+ }
17869+ ]
17870+ }
17871+ }
17872+ },
1771917873 "handler.GenericDataResponse-oscal_InventoryItemWithSource": {
1772017874 "type": "object",
1772117875 "properties": {
@@ -18018,6 +18172,46 @@ const docTemplate = `{
1801818172 }
1801918173 }
1802018174 },
18175+ "oscal.ImportFileResult": {
18176+ "type": "object",
18177+ "properties": {
18178+ "filename": {
18179+ "type": "string"
18180+ },
18181+ "message": {
18182+ "type": "string"
18183+ },
18184+ "success": {
18185+ "type": "boolean"
18186+ },
18187+ "title": {
18188+ "type": "string"
18189+ },
18190+ "type": {
18191+ "type": "string"
18192+ }
18193+ }
18194+ },
18195+ "oscal.ImportResponse": {
18196+ "type": "object",
18197+ "properties": {
18198+ "failed_count": {
18199+ "type": "integer"
18200+ },
18201+ "results": {
18202+ "type": "array",
18203+ "items": {
18204+ "$ref": "#/definitions/oscal.ImportFileResult"
18205+ }
18206+ },
18207+ "successful_count": {
18208+ "type": "integer"
18209+ },
18210+ "total_files": {
18211+ "type": "integer"
18212+ }
18213+ }
18214+ },
1802118215 "oscal.InventoryItemWithSource": {
1802218216 "type": "object",
1802318217 "properties": {
0 commit comments