From 5cfce3186593f476516ed43661c7d9f14e4390d3 Mon Sep 17 00:00:00 2001 From: MashB Date: Thu, 6 Nov 2025 18:58:43 +0530 Subject: [PATCH 1/4] add API to update feedback status details and enhance feedback download options --- tdei-api-gateway-prod.json | 321 +++++++++++++++++++++++++----------- tdei-api-gateway-stage.json | 321 +++++++++++++++++++++++++----------- tdei-api-gateway.json | 321 +++++++++++++++++++++++++----------- 3 files changed, 687 insertions(+), 276 deletions(-) diff --git a/tdei-api-gateway-prod.json b/tdei-api-gateway-prod.json index 2f47b7e..466625f 100644 --- a/tdei-api-gateway-prod.json +++ b/tdei-api-gateway-prod.json @@ -2462,6 +2462,133 @@ "AuthorizationToken": [] } ] + }, + "put": { + "tags": [ + "OSW" + ], + "summary": "API to update the feedbacks status details", + "description": "API accepts array of feedbacks with status details to be updated. Returns response for each feedback update.", + "operationId": "oswDatasetViewerFeedbackStatusUpdate", + "parameters": [ + { + "name": "project_id", + "in": "path", + "required": true, + "description": "ID of the project group.", + "schema": { + "type": "string" + } + }, + { + "name": "tdei_dataset_id", + "in": "path", + "required": true, + "description": "ID of the dataset.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number", + "description": "Feedback ID to be updated.", + "example": "14325" + }, + "status": { + "type": "string", + "description": "Feedback status to be updated.", + "enum": [ + "open", + "resolved" + ] + }, + "resolved": { + "type": "string", + "enum": [ + "fixed", + "wont_fix", + "not_an_issue" + ], + "description": "Resolution status of the feedback." + }, + "status_description": { + "type": "string", + "description": "Description of the feedback status." + } + }, + "required": [ + "id", + "status" + ] + }, + "minimum": 1 + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Feedback submitted successfully.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number", + "description": "Feedback ID that was updated.", + "example": "14325" + }, + "message": { + "type": "string", + "example": "Feedback updated successfully." + }, + "status": { + "type": "string", + "enum": [ + "Success", + "Failed" + ] + } + } + } + } + } + } + }, + "400": { + "description": "Invalid input parameters." + }, + "401": { + "description": "Unauthorized request. The user is not authenticated." + }, + "403": { + "description": "Forbidden request. The user does not have permission to update feedback." + }, + "404": { + "description": "Project group or dataset not found." + }, + "500": { + "description": "An server error occurred." + } + }, + "security": [ + { + "AuthorizationToken": [] + } + ] } }, "/api/v1/osw/dataset-viewer/feedbacks": { @@ -2600,15 +2727,15 @@ ] } }, - "/api/v1/osw/dataset-viewer/feedbacks/download/{tdei_project_group_id}":{ - "get":{ - "tags":[ + "/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":[ + "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_project_group_id", "in": "path", @@ -2619,157 +2746,167 @@ } }, { - "name":"tdei_dataset_id", - "in":"query", - "required":false, - "description":"ID of the dataset.", - "schema":{ - "type":"string" + "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": "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": "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":[ + "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":[ + "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":[ + "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":[ + "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_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": "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.", - "schema":{ - "type":"string", - "default":"csv", - "enum":[ + "name": "format", + "in": "query", + "required": false, + "description": "format: Output format.", + "schema": { + "type": "string", + "default": "csv", + "enum": [ "csv", "geojson" ] } } ], - "responses":{ + "responses": { "200": { "description": "Feedback file streamed successfully.", "content": { "text/csv": { - "schema": { "type": "string", "format": "binary" } + "schema": { + "type": "string", + "format": "binary" + } }, "application/geo+json": { "schema": { "type": "object", - "required": ["type", "features"], + "required": [ + "type", + "features" + ], "properties": { - "type": { "enum": ["FeatureCollection"] }, + "type": { + "enum": [ + "FeatureCollection" + ] + }, "features": { "type": "array", - "items": { "$ref": "#/components/schemas/Feature" } + "items": { + "$ref": "#/components/schemas/Feature" + } } } } } } }, - "400":{ - "description":"Invalid request parameters." + "400": { + "description": "Invalid request parameters." }, - "500":{ - "description":"A server error occurred." + "500": { + "description": "A server error occurred." } }, - "security":[ + "security": [ { - "AuthorizationToken":[ - - ] + "AuthorizationToken": [] } ] } diff --git a/tdei-api-gateway-stage.json b/tdei-api-gateway-stage.json index fca32b1..f2d119c 100644 --- a/tdei-api-gateway-stage.json +++ b/tdei-api-gateway-stage.json @@ -2462,6 +2462,133 @@ "AuthorizationToken": [] } ] + }, + "put": { + "tags": [ + "OSW" + ], + "summary": "API to update the feedbacks status details", + "description": "API accepts array of feedbacks with status details to be updated. Returns response for each feedback update.", + "operationId": "oswDatasetViewerFeedbackStatusUpdate", + "parameters": [ + { + "name": "project_id", + "in": "path", + "required": true, + "description": "ID of the project group.", + "schema": { + "type": "string" + } + }, + { + "name": "tdei_dataset_id", + "in": "path", + "required": true, + "description": "ID of the dataset.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number", + "description": "Feedback ID to be updated.", + "example": "14325" + }, + "status": { + "type": "string", + "description": "Feedback status to be updated.", + "enum": [ + "open", + "resolved" + ] + }, + "resolved": { + "type": "string", + "enum": [ + "fixed", + "wont_fix", + "not_an_issue" + ], + "description": "Resolution status of the feedback." + }, + "status_description": { + "type": "string", + "description": "Description of the feedback status." + } + }, + "required": [ + "id", + "status" + ] + }, + "minimum": 1 + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Feedback submitted successfully.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number", + "description": "Feedback ID that was updated.", + "example": "14325" + }, + "message": { + "type": "string", + "example": "Feedback updated successfully." + }, + "status": { + "type": "string", + "enum": [ + "Success", + "Failed" + ] + } + } + } + } + } + } + }, + "400": { + "description": "Invalid input parameters." + }, + "401": { + "description": "Unauthorized request. The user is not authenticated." + }, + "403": { + "description": "Forbidden request. The user does not have permission to update feedback." + }, + "404": { + "description": "Project group or dataset not found." + }, + "500": { + "description": "An server error occurred." + } + }, + "security": [ + { + "AuthorizationToken": [] + } + ] } }, "/api/v1/osw/dataset-viewer/feedbacks": { @@ -2600,15 +2727,15 @@ ] } }, - "/api/v1/osw/dataset-viewer/feedbacks/download/{tdei_project_group_id}":{ - "get":{ - "tags":[ + "/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":[ + "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_project_group_id", "in": "path", @@ -2619,157 +2746,167 @@ } }, { - "name":"tdei_dataset_id", - "in":"query", - "required":false, - "description":"ID of the dataset.", - "schema":{ - "type":"string" + "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": "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": "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":[ + "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":[ + "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":[ + "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":[ + "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_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": "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.", - "schema":{ - "type":"string", - "default":"csv", - "enum":[ + "name": "format", + "in": "query", + "required": false, + "description": "format: Output format.", + "schema": { + "type": "string", + "default": "csv", + "enum": [ "csv", "geojson" ] } } ], - "responses":{ + "responses": { "200": { "description": "Feedback file streamed successfully.", "content": { "text/csv": { - "schema": { "type": "string", "format": "binary" } + "schema": { + "type": "string", + "format": "binary" + } }, "application/geo+json": { "schema": { "type": "object", - "required": ["type", "features"], + "required": [ + "type", + "features" + ], "properties": { - "type": { "enum": ["FeatureCollection"] }, + "type": { + "enum": [ + "FeatureCollection" + ] + }, "features": { "type": "array", - "items": { "$ref": "#/components/schemas/Feature" } + "items": { + "$ref": "#/components/schemas/Feature" + } } } } } } }, - "400":{ - "description":"Invalid request parameters." + "400": { + "description": "Invalid request parameters." }, - "500":{ - "description":"A server error occurred." + "500": { + "description": "A server error occurred." } }, - "security":[ + "security": [ { - "AuthorizationToken":[ - - ] + "AuthorizationToken": [] } ] } diff --git a/tdei-api-gateway.json b/tdei-api-gateway.json index d55f118..565ae07 100644 --- a/tdei-api-gateway.json +++ b/tdei-api-gateway.json @@ -2462,6 +2462,133 @@ "AuthorizationToken": [] } ] + }, + "put": { + "tags": [ + "OSW" + ], + "summary": "API to update the feedbacks status details", + "description": "API accepts array of feedbacks with status details to be updated. Returns response for each feedback update.", + "operationId": "oswDatasetViewerFeedbackStatusUpdate", + "parameters": [ + { + "name": "project_id", + "in": "path", + "required": true, + "description": "ID of the project group.", + "schema": { + "type": "string" + } + }, + { + "name": "tdei_dataset_id", + "in": "path", + "required": true, + "description": "ID of the dataset.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number", + "description": "Feedback ID to be updated.", + "example": "14325" + }, + "status": { + "type": "string", + "description": "Feedback status to be updated.", + "enum": [ + "open", + "resolved" + ] + }, + "resolved": { + "type": "string", + "enum": [ + "fixed", + "wont_fix", + "not_an_issue" + ], + "description": "Resolution status of the feedback." + }, + "status_description": { + "type": "string", + "description": "Description of the feedback status." + } + }, + "required": [ + "id", + "status" + ] + }, + "minimum": 1 + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Feedback submitted successfully.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number", + "description": "Feedback ID that was updated.", + "example": "14325" + }, + "message": { + "type": "string", + "example": "Feedback updated successfully." + }, + "status": { + "type": "string", + "enum": [ + "Success", + "Failed" + ] + } + } + } + } + } + } + }, + "400": { + "description": "Invalid input parameters." + }, + "401": { + "description": "Unauthorized request. The user is not authenticated." + }, + "403": { + "description": "Forbidden request. The user does not have permission to update feedback." + }, + "404": { + "description": "Project group or dataset not found." + }, + "500": { + "description": "An server error occurred." + } + }, + "security": [ + { + "AuthorizationToken": [] + } + ] } }, "/api/v1/osw/dataset-viewer/feedbacks": { @@ -2600,15 +2727,15 @@ ] } }, - "/api/v1/osw/dataset-viewer/feedbacks/download/{tdei_project_group_id}":{ - "get":{ - "tags":[ + "/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":[ + "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_project_group_id", "in": "path", @@ -2619,157 +2746,167 @@ } }, { - "name":"tdei_dataset_id", - "in":"query", - "required":false, - "description":"ID of the dataset.", - "schema":{ - "type":"string" + "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": "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": "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":[ + "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":[ + "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":[ + "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":[ + "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_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": "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.", - "schema":{ - "type":"string", - "default":"csv", - "enum":[ + "name": "format", + "in": "query", + "required": false, + "description": "format: Output format.", + "schema": { + "type": "string", + "default": "csv", + "enum": [ "csv", "geojson" ] } } ], - "responses":{ + "responses": { "200": { "description": "Feedback file streamed successfully.", "content": { "text/csv": { - "schema": { "type": "string", "format": "binary" } + "schema": { + "type": "string", + "format": "binary" + } }, "application/geo+json": { "schema": { "type": "object", - "required": ["type", "features"], + "required": [ + "type", + "features" + ], "properties": { - "type": { "enum": ["FeatureCollection"] }, + "type": { + "enum": [ + "FeatureCollection" + ] + }, "features": { "type": "array", - "items": { "$ref": "#/components/schemas/Feature" } + "items": { + "$ref": "#/components/schemas/Feature" + } } } } } } }, - "400":{ - "description":"Invalid request parameters." + "400": { + "description": "Invalid request parameters." }, - "500":{ - "description":"A server error occurred." + "500": { + "description": "A server error occurred." } }, - "security":[ + "security": [ { - "AuthorizationToken":[ - - ] + "AuthorizationToken": [] } ] } From 81353b50f09862611d4092eb21d29d3f390d4fb7 Mon Sep 17 00:00:00 2001 From: MashB Date: Mon, 10 Nov 2025 11:59:23 +0530 Subject: [PATCH 2/4] update feedback resolution fields in API schema --- tdei-api-gateway-prod.json | 22 ++++++++++++++++++++-- tdei-api-gateway-stage.json | 22 ++++++++++++++++++++-- tdei-api-gateway.json | 22 ++++++++++++++++++++-- 3 files changed, 60 insertions(+), 6 deletions(-) diff --git a/tdei-api-gateway-prod.json b/tdei-api-gateway-prod.json index 466625f..cc58c32 100644 --- a/tdei-api-gateway-prod.json +++ b/tdei-api-gateway-prod.json @@ -2520,9 +2520,9 @@ ], "description": "Resolution status of the feedback." }, - "status_description": { + "resolution_description": { "type": "string", - "description": "Description of the feedback status." + "description": "Description of the feedback resolution." } }, "required": [ @@ -5148,6 +5148,24 @@ "resolved" ] }, + "resolution_description": { + "type": "string", + "description": "Description of the feedback resolution." + }, + "resolved_by": { + "type": "string", + "description": "User who resolved the feedback.", + "example": "john.doe@example.com" + }, + "resolution": { + "type": "string", + "description": "Resolution status for the feedback.", + "enum": [ + "fixed", + "wont_fix", + "not_an_issue" + ] + }, "location_latitude": { "type": "number", "description": "Latitude of the location related to the feedback.", diff --git a/tdei-api-gateway-stage.json b/tdei-api-gateway-stage.json index f2d119c..27a6fb1 100644 --- a/tdei-api-gateway-stage.json +++ b/tdei-api-gateway-stage.json @@ -2520,9 +2520,9 @@ ], "description": "Resolution status of the feedback." }, - "status_description": { + "resolution_description": { "type": "string", - "description": "Description of the feedback status." + "description": "Description of the feedback resolution." } }, "required": [ @@ -5148,6 +5148,24 @@ "resolved" ] }, + "resolution_description": { + "type": "string", + "description": "Description of the feedback resolution." + }, + "resolved_by": { + "type": "string", + "description": "User who resolved the feedback.", + "example": "john.doe@example.com" + }, + "resolution": { + "type": "string", + "description": "Resolution status for the feedback.", + "enum": [ + "fixed", + "wont_fix", + "not_an_issue" + ] + }, "location_latitude": { "type": "number", "description": "Latitude of the location related to the feedback.", diff --git a/tdei-api-gateway.json b/tdei-api-gateway.json index 565ae07..27ddad0 100644 --- a/tdei-api-gateway.json +++ b/tdei-api-gateway.json @@ -2520,9 +2520,9 @@ ], "description": "Resolution status of the feedback." }, - "status_description": { + "resolution_description": { "type": "string", - "description": "Description of the feedback status." + "description": "Description of the feedback resolution." } }, "required": [ @@ -5290,6 +5290,24 @@ "resolved" ] }, + "resolution_description": { + "type": "string", + "description": "Description of the feedback resolution." + }, + "resolved_by": { + "type": "string", + "description": "User who resolved the feedback.", + "example": "john.doe@example.com" + }, + "resolution": { + "type": "string", + "description": "Resolution status for the feedback.", + "enum": [ + "fixed", + "wont_fix", + "not_an_issue" + ] + }, "location_latitude": { "type": "number", "description": "Latitude of the location related to the feedback.", From 48b16e3940f1fe4c5a0c175a67fa5ba7698dc0c2 Mon Sep 17 00:00:00 2001 From: MashB Date: Mon, 10 Nov 2025 12:40:36 +0530 Subject: [PATCH 3/4] refactor: rename 'resolved' to 'resolution_status' in feedback schema --- tdei-api-gateway-prod.json | 4 ++-- tdei-api-gateway-stage.json | 4 ++-- tdei-api-gateway.json | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tdei-api-gateway-prod.json b/tdei-api-gateway-prod.json index cc58c32..65111d7 100644 --- a/tdei-api-gateway-prod.json +++ b/tdei-api-gateway-prod.json @@ -2511,7 +2511,7 @@ "resolved" ] }, - "resolved": { + "resolution_status": { "type": "string", "enum": [ "fixed", @@ -5157,7 +5157,7 @@ "description": "User who resolved the feedback.", "example": "john.doe@example.com" }, - "resolution": { + "resolution_status": { "type": "string", "description": "Resolution status for the feedback.", "enum": [ diff --git a/tdei-api-gateway-stage.json b/tdei-api-gateway-stage.json index 27a6fb1..7140e5d 100644 --- a/tdei-api-gateway-stage.json +++ b/tdei-api-gateway-stage.json @@ -2511,7 +2511,7 @@ "resolved" ] }, - "resolved": { + "resolution_status": { "type": "string", "enum": [ "fixed", @@ -5157,7 +5157,7 @@ "description": "User who resolved the feedback.", "example": "john.doe@example.com" }, - "resolution": { + "resolution_status": { "type": "string", "description": "Resolution status for the feedback.", "enum": [ diff --git a/tdei-api-gateway.json b/tdei-api-gateway.json index 27ddad0..1716306 100644 --- a/tdei-api-gateway.json +++ b/tdei-api-gateway.json @@ -2511,7 +2511,7 @@ "resolved" ] }, - "resolved": { + "resolution_status": { "type": "string", "enum": [ "fixed", @@ -5299,7 +5299,7 @@ "description": "User who resolved the feedback.", "example": "john.doe@example.com" }, - "resolution": { + "resolution_status": { "type": "string", "description": "Resolution status for the feedback.", "enum": [ From 99d493ddf3a61ff7d41b9f57aec0ca16835b1473 Mon Sep 17 00:00:00 2001 From: MashB Date: Mon, 10 Nov 2025 15:14:00 +0530 Subject: [PATCH 4/4] fix: update example value for feedback ID to be a number in API schemas --- tdei-api-gateway-prod.json | 2 +- tdei-api-gateway-stage.json | 2 +- tdei-api-gateway.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tdei-api-gateway-prod.json b/tdei-api-gateway-prod.json index 65111d7..2c0a636 100644 --- a/tdei-api-gateway-prod.json +++ b/tdei-api-gateway-prod.json @@ -2501,7 +2501,7 @@ "id": { "type": "number", "description": "Feedback ID to be updated.", - "example": "14325" + "example": 14325 }, "status": { "type": "string", diff --git a/tdei-api-gateway-stage.json b/tdei-api-gateway-stage.json index 7140e5d..9710929 100644 --- a/tdei-api-gateway-stage.json +++ b/tdei-api-gateway-stage.json @@ -2501,7 +2501,7 @@ "id": { "type": "number", "description": "Feedback ID to be updated.", - "example": "14325" + "example": 14325 }, "status": { "type": "string", diff --git a/tdei-api-gateway.json b/tdei-api-gateway.json index 1716306..eb7fbf7 100644 --- a/tdei-api-gateway.json +++ b/tdei-api-gateway.json @@ -2501,7 +2501,7 @@ "id": { "type": "number", "description": "Feedback ID to be updated.", - "example": "14325" + "example": 14325 }, "status": { "type": "string",