feat: protect feedback screenshots

This commit is contained in:
2026-04-30 13:15:19 -04:00
parent cb6948aa14
commit 4873f39192
24 changed files with 1900 additions and 0 deletions

View File

@@ -1221,6 +1221,68 @@
}
}
},
"/api/my-feedback/{id}/screenshot": {
"post": {
"tags": [
"Feedback",
"Api"
],
"operationId": "SocializeApiModulesFeedbackHandlersAttachMyFeedbackScreenshotHandler",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"x-name": "AttachMyFeedbackScreenshotRequest",
"description": "",
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/SocializeApiModulesFeedbackHandlersAttachMyFeedbackScreenshotRequest"
}
}
},
"required": true,
"x-position": 1
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SocializeApiModulesFeedbackContractsFeedbackReportDto"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/FastEndpointsErrorResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"JWTBearerAuth": []
}
]
}
},
"/api/my-feedback/{id}/cancel": {
"post": {
"tags": [
@@ -1392,6 +1454,45 @@
]
}
},
"/api/feedback/{id}/screenshot": {
"get": {
"tags": [
"Feedback",
"Api"
],
"operationId": "SocializeApiModulesFeedbackHandlersGetFeedbackScreenshotHandler",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SystemIOStream"
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"JWTBearerAuth": []
}
]
}
},
"/api/my-feedback/{id}": {
"get": {
"tags": [
@@ -3320,6 +3421,14 @@
"context": {
"$ref": "#/components/schemas/SocializeApiModulesFeedbackContractsFeedbackContextDto"
},
"screenshot": {
"nullable": true,
"oneOf": [
{
"$ref": "#/components/schemas/SocializeApiModulesFeedbackContractsFeedbackScreenshotDto"
}
]
},
"tags": {
"type": "array",
"items": {
@@ -3414,6 +3523,48 @@
}
}
},
"SocializeApiModulesFeedbackContractsFeedbackScreenshotDto": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "guid"
},
"fileName": {
"type": "string"
},
"contentType": {
"type": "string"
},
"sizeBytes": {
"type": "integer",
"format": "int64"
},
"downloadPath": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
}
}
},
"SocializeApiModulesFeedbackHandlersAttachMyFeedbackScreenshotRequest": {
"type": "object",
"additionalProperties": false,
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"format": "binary",
"minLength": 1,
"nullable": false
}
}
},
"SocializeApiModulesFeedbackHandlersCancelMyFeedbackRequest": {
"type": "object",
"additionalProperties": false,