feat: add feedback backend foundation
This commit is contained in:
@@ -7,10 +7,31 @@
|
||||
},
|
||||
"servers": [
|
||||
{
|
||||
"url": "http://127.0.0.1:5081"
|
||||
"url": "http://localhost:5080"
|
||||
}
|
||||
],
|
||||
"paths": {
|
||||
"/api/storage": {
|
||||
"get": {
|
||||
"operationId": "GetApiStorage",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "blobPath",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
},
|
||||
"x-position": 1
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/workspaces/{id}/logo": {
|
||||
"post": {
|
||||
"tags": [
|
||||
@@ -1200,6 +1221,372 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/my-feedback/{id}/cancel": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"Feedback",
|
||||
"Api"
|
||||
],
|
||||
"operationId": "SocializeApiModulesFeedbackHandlersCancelMyFeedbackHandler",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"x-name": "CancelMyFeedbackRequest",
|
||||
"description": "",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/SocializeApiModulesFeedbackHandlersCancelMyFeedbackRequest"
|
||||
}
|
||||
}
|
||||
},
|
||||
"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/feedback/{id}": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"Feedback",
|
||||
"Api"
|
||||
],
|
||||
"operationId": "SocializeApiModulesFeedbackHandlersGetDeveloperFeedbackHandler",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/SocializeApiModulesFeedbackContractsFeedbackReportDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized"
|
||||
},
|
||||
"403": {
|
||||
"description": "Forbidden"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"JWTBearerAuth": [
|
||||
"Developer"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"patch": {
|
||||
"tags": [
|
||||
"Feedback",
|
||||
"Api"
|
||||
],
|
||||
"operationId": "SocializeApiModulesFeedbackHandlersUpdateDeveloperFeedbackHandler",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"x-name": "UpdateDeveloperFeedbackRequest",
|
||||
"description": "",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/SocializeApiModulesFeedbackHandlersUpdateDeveloperFeedbackRequest"
|
||||
}
|
||||
}
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"403": {
|
||||
"description": "Forbidden"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"JWTBearerAuth": [
|
||||
"Developer"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/api/my-feedback/{id}": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"Feedback",
|
||||
"Api"
|
||||
],
|
||||
"operationId": "SocializeApiModulesFeedbackHandlersGetMyFeedbackHandler",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/SocializeApiModulesFeedbackContractsFeedbackReportDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"JWTBearerAuth": []
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/api/feedback": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"Feedback",
|
||||
"Api"
|
||||
],
|
||||
"operationId": "SocializeApiModulesFeedbackHandlersListDeveloperFeedbackHandler",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/SocializeApiModulesFeedbackContractsFeedbackReportDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized"
|
||||
},
|
||||
"403": {
|
||||
"description": "Forbidden"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"JWTBearerAuth": [
|
||||
"Developer"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"post": {
|
||||
"tags": [
|
||||
"Feedback",
|
||||
"Api"
|
||||
],
|
||||
"operationId": "SocializeApiModulesFeedbackHandlersSubmitFeedbackHandler",
|
||||
"requestBody": {
|
||||
"x-name": "SubmitFeedbackRequest",
|
||||
"description": "",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/SocializeApiModulesFeedbackHandlersSubmitFeedbackRequest"
|
||||
}
|
||||
}
|
||||
},
|
||||
"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/feedback/tags": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"Feedback",
|
||||
"Api"
|
||||
],
|
||||
"operationId": "SocializeApiModulesFeedbackHandlersListFeedbackTagsHandler",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized"
|
||||
},
|
||||
"403": {
|
||||
"description": "Forbidden"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"JWTBearerAuth": [
|
||||
"Developer"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/api/my-feedback": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"Feedback",
|
||||
"Api"
|
||||
],
|
||||
"operationId": "SocializeApiModulesFeedbackHandlersListMyFeedbackHandler",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/SocializeApiModulesFeedbackContractsFeedbackReportDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"JWTBearerAuth": []
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/api/content-items": {
|
||||
"post": {
|
||||
"tags": [
|
||||
@@ -2900,6 +3287,271 @@
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"SocializeApiModulesFeedbackContractsFeedbackReportDto": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"format": "guid"
|
||||
},
|
||||
"type": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"reporterUserId": {
|
||||
"type": "string",
|
||||
"format": "guid"
|
||||
},
|
||||
"reporterDisplayName": {
|
||||
"type": "string"
|
||||
},
|
||||
"reporterEmail": {
|
||||
"type": "string"
|
||||
},
|
||||
"metadata": {
|
||||
"$ref": "#/components/schemas/SocializeApiModulesFeedbackContractsFeedbackMetadataDto"
|
||||
},
|
||||
"context": {
|
||||
"$ref": "#/components/schemas/SocializeApiModulesFeedbackContractsFeedbackContextDto"
|
||||
},
|
||||
"tags": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
},
|
||||
"lastActivityAt": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
},
|
||||
"cancelledAt": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"nullable": true
|
||||
},
|
||||
"cancellationReason": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"SocializeApiModulesFeedbackContractsFeedbackMetadataDto": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"submittedPath": {
|
||||
"type": "string"
|
||||
},
|
||||
"browserUserAgent": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
},
|
||||
"viewportWidth": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"nullable": true
|
||||
},
|
||||
"viewportHeight": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"nullable": true
|
||||
},
|
||||
"appVersion": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"SocializeApiModulesFeedbackContractsFeedbackContextDto": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"workspaceId": {
|
||||
"type": "string",
|
||||
"format": "guid",
|
||||
"nullable": true
|
||||
},
|
||||
"workspaceName": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
},
|
||||
"clientId": {
|
||||
"type": "string",
|
||||
"format": "guid",
|
||||
"nullable": true
|
||||
},
|
||||
"clientName": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
},
|
||||
"projectId": {
|
||||
"type": "string",
|
||||
"format": "guid",
|
||||
"nullable": true
|
||||
},
|
||||
"projectName": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
},
|
||||
"contentItemId": {
|
||||
"type": "string",
|
||||
"format": "guid",
|
||||
"nullable": true
|
||||
},
|
||||
"contentItemTitle": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"SocializeApiModulesFeedbackHandlersCancelMyFeedbackRequest": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"reason": {
|
||||
"type": "string",
|
||||
"maxLength": 2000,
|
||||
"minLength": 0,
|
||||
"nullable": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"SocializeApiModulesFeedbackHandlersSubmitFeedbackRequest": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"type",
|
||||
"description",
|
||||
"submittedPath"
|
||||
],
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"maxLength": 32,
|
||||
"minLength": 0,
|
||||
"nullable": false
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"maxLength": 8000,
|
||||
"minLength": 0,
|
||||
"nullable": false
|
||||
},
|
||||
"submittedPath": {
|
||||
"type": "string",
|
||||
"maxLength": 2048,
|
||||
"minLength": 0,
|
||||
"nullable": false
|
||||
},
|
||||
"browserUserAgent": {
|
||||
"type": "string",
|
||||
"maxLength": 1024,
|
||||
"minLength": 0,
|
||||
"nullable": true
|
||||
},
|
||||
"viewportWidth": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"minimum": 0.0,
|
||||
"nullable": true,
|
||||
"exclusiveMinimum": true
|
||||
},
|
||||
"viewportHeight": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"minimum": 0.0,
|
||||
"nullable": true,
|
||||
"exclusiveMinimum": true
|
||||
},
|
||||
"appVersion": {
|
||||
"type": "string",
|
||||
"maxLength": 128,
|
||||
"minLength": 0,
|
||||
"nullable": true
|
||||
},
|
||||
"workspaceId": {
|
||||
"type": "string",
|
||||
"format": "guid",
|
||||
"nullable": true
|
||||
},
|
||||
"workspaceName": {
|
||||
"type": "string",
|
||||
"maxLength": 256,
|
||||
"minLength": 0,
|
||||
"nullable": true
|
||||
},
|
||||
"clientId": {
|
||||
"type": "string",
|
||||
"format": "guid",
|
||||
"nullable": true
|
||||
},
|
||||
"clientName": {
|
||||
"type": "string",
|
||||
"maxLength": 256,
|
||||
"minLength": 0,
|
||||
"nullable": true
|
||||
},
|
||||
"projectId": {
|
||||
"type": "string",
|
||||
"format": "guid",
|
||||
"nullable": true
|
||||
},
|
||||
"projectName": {
|
||||
"type": "string",
|
||||
"maxLength": 256,
|
||||
"minLength": 0,
|
||||
"nullable": true
|
||||
},
|
||||
"contentItemId": {
|
||||
"type": "string",
|
||||
"format": "guid",
|
||||
"nullable": true
|
||||
},
|
||||
"contentItemTitle": {
|
||||
"type": "string",
|
||||
"maxLength": 256,
|
||||
"minLength": 0,
|
||||
"nullable": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"SocializeApiModulesFeedbackHandlersUpdateDeveloperFeedbackRequest": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"maxLength": 32,
|
||||
"minLength": 0,
|
||||
"nullable": true
|
||||
},
|
||||
"status": {
|
||||
"type": "string",
|
||||
"maxLength": 32,
|
||||
"minLength": 0,
|
||||
"nullable": true
|
||||
},
|
||||
"tags": {
|
||||
"type": "array",
|
||||
"maxLength": 64,
|
||||
"minLength": 0,
|
||||
"nullable": true,
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"SocializeApiModulesContentItemsHandlersContentItemDto": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
|
||||
Reference in New Issue
Block a user