diff --git a/api/swagger.yaml b/api/swagger.yaml index 9c27af1..dc750dc 100644 --- a/api/swagger.yaml +++ b/api/swagger.yaml @@ -92,7 +92,6 @@ paths: application/json: schema: $ref: '#/components/schemas/User' - /users/{username}/posts: get: tags: @@ -124,12 +123,11 @@ paths: $ref: '#/components/responses/Unprocessable' 500: $ref: '#/components/responses/ServerError' - /users/{username}/comments: get: tags: - User Endpoints - - Comments Endpoints + - Comment Endpoints parameters: - name: username required: true @@ -161,7 +159,7 @@ paths: get: tags: - Post Endpoints - summary: Get a list of paginated posts + summary: Get a list of paginated posts. description: The items retrieved will always show newest first. parameters: - name: filter @@ -188,23 +186,22 @@ paths: $ref: '#/components/responses/Unprocessable' 500: $ref: '#/components/responses/ServerError' - /posts/new: post: tags: - Post Endpoints security: - token: [ ] - summary: Create a new post - description: This endpoint will take information that new posts require and then create a new entry that will be submitted to the website. + summary: Submit a new comment. + description: This endpoint will take information that new comments require, a post ID, and ssubmits a comment to a post. requestBody: - description: Submit a new post with this endpoint. required: true content: application/json: schema: required: - - title + - content + - parent properties: title: description: The title of the post created @@ -232,12 +229,11 @@ paths: $ref: '#/components/responses/Unprocessable' 500: $ref: '#/components/responses/ServerError' - /post/{id}: get: tags: - Post Endpoints - summary: Get information fora post. + summary: Get information for a post. description: Returns the post information and all comments for a particular post. parameters: - name: id @@ -267,12 +263,11 @@ paths: $ref: '#/components/responses/NotFound' 500: $ref: '#/components/responses/ServerError' - /post/{id}/upvote: post: tags: - Post Endpoints - summary: Upvote a post + summary: Upvote a post. description: Add an upvote to a specified post. If you have already upvoted a point, it is retracted. security: - token: [] @@ -296,7 +291,6 @@ paths: $ref: '#/components/responses/NotFound' 500: $ref: '#/components/responses/ServerError' - /post/{id}/downvote: post: tags: @@ -326,6 +320,53 @@ paths: 500: $ref: '#/components/responses/ServerError' + /comments/new: + post: + tags: + - Comment Endpoints. + security: + - token: [ ] + summary: Submit a comment. + description: This endpoint will take information that new posts require and then create a new entry that will be submitted to the website. + requestBody: + description: Submit a new post with this endpoint. + required: true + content: + application/json: + schema: + required: + - content + - post_id + properties: + content: + description: The message of the comment + type: string + post_id: + description: The id of the post the comment belongs to. + parent_id: + description: The parent comment. If not provided, interpreted as a top-level comment. + example: + content: No one cares about arch! + post_id: a1b2c3d4 + responses: + 200: + description: The created post ID + content: + application/json: + schema: + type: object + properties: + id: + type: string + 400: + $ref: '#/components/responses/MalformedBody' + 401: + $ref: '#/components/responses/InvalidToken' + 422: + $ref: '#/components/responses/Unprocessable' + 500: + $ref: '#/components/responses/ServerError' + components: parameters: AfterParam: