add comments

This commit is contained in:
2025-04-24 22:15:30 +02:00
parent cd2116622f
commit ea3faba056
17 changed files with 1688 additions and 48 deletions

View File

@@ -218,6 +218,359 @@
}
}
},
"/comment/{id}": {
"post": {
"summary": "Comment on person's profile by ID",
"operationId": "commentOnPerson",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "X-User-ID",
"in": "header",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Message"
}
}
}
},
"responses": {
"200": {
"description": "Message updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Messages"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"msg": {
"type": "string"
}
}
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"msg": {
"type": "string"
}
}
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"msg": {
"type": "string"
}
}
}
}
}
}
}
},
"get": {
"summary": "Get comments on person's profile by ID",
"operationId": "GetCommentsOnPerson",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "X-User-ID",
"in": "header",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Message"
}
}
}
},
"responses": {
"200": {
"description": "Comments",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Messages"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"msg": {
"type": "string"
}
}
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"msg": {
"type": "string"
}
}
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"msg": {
"type": "string"
}
}
}
}
}
}
}
},
"patch": {
"summary": "Edit comment on person's profile by ID",
"operationId": "editComment",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "X-User-ID",
"in": "header",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Message"
}
}
}
},
"responses": {
"200": {
"description": "Comment updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Messages"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"msg": {
"type": "string"
}
}
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"msg": {
"type": "string"
}
}
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"msg": {
"type": "string"
}
}
}
}
}
}
}
},
"delete": {
"summary": "Comment on person's profile by ID",
"operationId": "deleteCommentOnPerson",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "X-User-ID",
"in": "header",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "Deleted comment",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"msg": {
"type": "string"
}
}
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"msg": {
"type": "string"
}
}
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"msg": {
"type": "string"
}
}
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"msg": {
"type": "string"
}
}
}
}
}
}
}
}
},
"/person/{id}": {
"patch": {
"summary": "Update a person by ID",
@@ -2235,31 +2588,6 @@
"type": "string",
"nullable": true
},
"others_said": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"relationship": {
"type": "string"
},
"description": {
"type": "string"
},
"url": {
"type": "string",
"nullable": true
}
}
},
"nullable": true
},
"limit": {
"type": "integer",
"nullable": true
@@ -2887,6 +3215,68 @@
}
}
}
},
"Comment":{
"type": "object",
"properties": {
"id": {
"type": "integer",
"nullable": true
},
"start": {
"type": "integer",
"nullable": true
},
"end": {
"type": "integer",
"nullable": true
},
"type": {
"type": "string",
"nullable": true
},
"label": {
"type": "string",
"nullable": true
},
"props": {
"$ref": "#/components/schemas/Message"
}
}
},
"Message": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"edited": {
"type": "string",
"format": "date-time",
"nullable": true
},
"sent_at": {
"type": "string",
"format": "date-time"
}
}
},
"Messages":{
"type": "object",
"properties": {
"people":{
"type": "array",
"items": {
"$ref": "#/components/schemas/OptimizedPersonNode"
}
},
"comments":{
"type": "array",
"items": {
"$ref": "#/components/schemas/Comment"
}
}
}
}
}
}