diff --git a/tdei-api-gateway-prod.json b/tdei-api-gateway-prod.json index d8cc828..8ae52e5 100644 --- a/tdei-api-gateway-prod.json +++ b/tdei-api-gateway-prod.json @@ -2600,6 +2600,160 @@ ] } }, + "/api/v1/osw/dataset-viewer/feedbacks/download/{tdei_project_group_id}":{ + "get":{ + "tags":[ + "OSW" + ], + "summary":"Downloads dataset viewer feedbacks as a CSV.", + "description":"Streams all feedback for the specified project group in CSV format. Requires poc or osw_data_generator role.", + "operationId":"oswDatasetViewerFeedbacksDownload", + "parameters":[ + { + "name":"tdei_dataset_id", + "in":"query", + "required":false, + "description":"ID of the dataset.", + "schema":{ + "type":"string" + } + }, + { + "name":"from_date", + "in":"query", + "description":"from_date: Date in ISO 8601 format, filters feedback created after this date.", + "required":false, + "schema":{ + "type":"string", + "format":"date-time" + } + }, + { + "name":"to_date", + "in":"query", + "description":"to_date: Date in ISO 8601 format, filters feedback created before this date.", + "required":false, + "schema":{ + "type":"string", + "format":"date-time" + } + }, + { + "name":"status", + "in":"query", + "required":false, + "description":"status: Filters feedbacks by their status.", + "schema":{ + "type":"string", + "enum":[ + "open", + "resolved" + ] + } + }, + { + "name":"sort_by", + "in":"query", + "description":"sort_by: String, defaults to 'created_at'. Sorts feedbacks by the specified field.", + "required":false, + "schema":{ + "type":"string", + "default":"created_at", + "enum":[ + "created_at", + "due_date" + ] + } + }, + { + "name":"due_date", + "in":"query", + "description":"due_date: Legacy alias for sort_by. Use 'created_at' or 'due_date'.", + "required":false, + "schema":{ + "type":"string", + "enum":[ + "created_at", + "due_date" + ] + } + }, + { + "name":"sort_order", + "in":"query", + "description":"sort_order: String, defaults to 'desc'. Sorts feedbacks in ascending or descending order.", + "required":false, + "schema":{ + "type":"string", + "default":"desc", + "enum":[ + "asc", + "desc" + ] + } + }, + { + "name":"page_no", + "in":"query", + "description":"page_no: Integer, specifies the page number to retrieve. If omitted with page_size, the response is unpaginated.", + "required":false, + "schema":{ + "type":"integer", + "format":"int32" + } + }, + { + "name":"page_size", + "in":"query", + "description":"Page size: Integer, between 1 to 50. If omitted with page_no, the response is unpaginated.", + "required":false, + "schema":{ + "type":"integer", + "format":"int32" + } + }, + { + "name":"format", + "in":"query", + "required":false, + "description":"format: Output format. Only 'csv' is supported.", + "schema":{ + "type":"string", + "default":"csv", + "enum":[ + "csv" + ] + } + } + ], + "responses":{ + "200":{ + "description":"CSV file streamed successfully.", + "content":{ + "text/csv":{ + "schema":{ + "type":"string", + "format":"binary" + } + } + } + }, + "400":{ + "description":"Invalid request parameters." + }, + "500":{ + "description":"A server error occurred." + } + }, + "security":[ + { + "AuthorizationToken":[ + + ] + } + ] + } + }, "/api/v1/osw/dataset-viewer/feedbacks/metadata": { "get": { "tags": [ diff --git a/tdei-api-gateway-stage.json b/tdei-api-gateway-stage.json index 9aee3fe..084fb7a 100644 --- a/tdei-api-gateway-stage.json +++ b/tdei-api-gateway-stage.json @@ -2600,6 +2600,160 @@ ] } }, + "/api/v1/osw/dataset-viewer/feedbacks/download/{tdei_project_group_id}":{ + "get":{ + "tags":[ + "OSW" + ], + "summary":"Downloads dataset viewer feedbacks as a CSV.", + "description":"Streams all feedback for the specified project group in CSV format. Requires poc or osw_data_generator role.", + "operationId":"oswDatasetViewerFeedbacksDownload", + "parameters":[ + { + "name":"tdei_dataset_id", + "in":"query", + "required":false, + "description":"ID of the dataset.", + "schema":{ + "type":"string" + } + }, + { + "name":"from_date", + "in":"query", + "description":"from_date: Date in ISO 8601 format, filters feedback created after this date.", + "required":false, + "schema":{ + "type":"string", + "format":"date-time" + } + }, + { + "name":"to_date", + "in":"query", + "description":"to_date: Date in ISO 8601 format, filters feedback created before this date.", + "required":false, + "schema":{ + "type":"string", + "format":"date-time" + } + }, + { + "name":"status", + "in":"query", + "required":false, + "description":"status: Filters feedbacks by their status.", + "schema":{ + "type":"string", + "enum":[ + "open", + "resolved" + ] + } + }, + { + "name":"sort_by", + "in":"query", + "description":"sort_by: String, defaults to 'created_at'. Sorts feedbacks by the specified field.", + "required":false, + "schema":{ + "type":"string", + "default":"created_at", + "enum":[ + "created_at", + "due_date" + ] + } + }, + { + "name":"due_date", + "in":"query", + "description":"due_date: Legacy alias for sort_by. Use 'created_at' or 'due_date'.", + "required":false, + "schema":{ + "type":"string", + "enum":[ + "created_at", + "due_date" + ] + } + }, + { + "name":"sort_order", + "in":"query", + "description":"sort_order: String, defaults to 'desc'. Sorts feedbacks in ascending or descending order.", + "required":false, + "schema":{ + "type":"string", + "default":"desc", + "enum":[ + "asc", + "desc" + ] + } + }, + { + "name":"page_no", + "in":"query", + "description":"page_no: Integer, specifies the page number to retrieve. If omitted with page_size, the response is unpaginated.", + "required":false, + "schema":{ + "type":"integer", + "format":"int32" + } + }, + { + "name":"page_size", + "in":"query", + "description":"Page size: Integer, between 1 to 50. If omitted with page_no, the response is unpaginated.", + "required":false, + "schema":{ + "type":"integer", + "format":"int32" + } + }, + { + "name":"format", + "in":"query", + "required":false, + "description":"format: Output format. Only 'csv' is supported.", + "schema":{ + "type":"string", + "default":"csv", + "enum":[ + "csv" + ] + } + } + ], + "responses":{ + "200":{ + "description":"CSV file streamed successfully.", + "content":{ + "text/csv":{ + "schema":{ + "type":"string", + "format":"binary" + } + } + } + }, + "400":{ + "description":"Invalid request parameters." + }, + "500":{ + "description":"A server error occurred." + } + }, + "security":[ + { + "AuthorizationToken":[ + + ] + } + ] + } + }, "/api/v1/osw/dataset-viewer/feedbacks/metadata": { "get": { "tags": [ diff --git a/tdei-api-gateway.json b/tdei-api-gateway.json index 0368123..0b4c946 100644 --- a/tdei-api-gateway.json +++ b/tdei-api-gateway.json @@ -2600,6 +2600,160 @@ ] } }, + "/api/v1/osw/dataset-viewer/feedbacks/download/{tdei_project_group_id}":{ + "get":{ + "tags":[ + "OSW" + ], + "summary":"Downloads dataset viewer feedbacks as a CSV.", + "description":"Streams all feedback for the specified project group in CSV format. Requires poc or osw_data_generator role.", + "operationId":"oswDatasetViewerFeedbacksDownload", + "parameters":[ + { + "name":"tdei_dataset_id", + "in":"query", + "required":false, + "description":"ID of the dataset.", + "schema":{ + "type":"string" + } + }, + { + "name":"from_date", + "in":"query", + "description":"from_date: Date in ISO 8601 format, filters feedback created after this date.", + "required":false, + "schema":{ + "type":"string", + "format":"date-time" + } + }, + { + "name":"to_date", + "in":"query", + "description":"to_date: Date in ISO 8601 format, filters feedback created before this date.", + "required":false, + "schema":{ + "type":"string", + "format":"date-time" + } + }, + { + "name":"status", + "in":"query", + "required":false, + "description":"status: Filters feedbacks by their status.", + "schema":{ + "type":"string", + "enum":[ + "open", + "resolved" + ] + } + }, + { + "name":"sort_by", + "in":"query", + "description":"sort_by: String, defaults to 'created_at'. Sorts feedbacks by the specified field.", + "required":false, + "schema":{ + "type":"string", + "default":"created_at", + "enum":[ + "created_at", + "due_date" + ] + } + }, + { + "name":"due_date", + "in":"query", + "description":"due_date: Legacy alias for sort_by. Use 'created_at' or 'due_date'.", + "required":false, + "schema":{ + "type":"string", + "enum":[ + "created_at", + "due_date" + ] + } + }, + { + "name":"sort_order", + "in":"query", + "description":"sort_order: String, defaults to 'desc'. Sorts feedbacks in ascending or descending order.", + "required":false, + "schema":{ + "type":"string", + "default":"desc", + "enum":[ + "asc", + "desc" + ] + } + }, + { + "name":"page_no", + "in":"query", + "description":"page_no: Integer, specifies the page number to retrieve. If omitted with page_size, the response is unpaginated.", + "required":false, + "schema":{ + "type":"integer", + "format":"int32" + } + }, + { + "name":"page_size", + "in":"query", + "description":"Page size: Integer, between 1 to 50. If omitted with page_no, the response is unpaginated.", + "required":false, + "schema":{ + "type":"integer", + "format":"int32" + } + }, + { + "name":"format", + "in":"query", + "required":false, + "description":"format: Output format. Only 'csv' is supported.", + "schema":{ + "type":"string", + "default":"csv", + "enum":[ + "csv" + ] + } + } + ], + "responses":{ + "200":{ + "description":"CSV file streamed successfully.", + "content":{ + "text/csv":{ + "schema":{ + "type":"string", + "format":"binary" + } + } + } + }, + "400":{ + "description":"Invalid request parameters." + }, + "500":{ + "description":"A server error occurred." + } + }, + "security":[ + { + "AuthorizationToken":[ + + ] + } + ] + } + }, "/api/v1/osw/dataset-viewer/feedbacks/metadata": { "get": { "tags": [