{"info":{"_postman_id":"a92293b8-86f2-4a90-a689-e2a8c303c12d","name":"FWP A2","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"description":"<html><head></head><body></body></html>","owner":"17013468","collectionId":"a92293b8-86f2-4a90-a689-e2a8c303c12d","publishedId":"2s83mepjAY","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2022-09-29T08:33:35.000Z"},"item":[{"name":"User Service","item":[{"name":"login","id":"e03e4f00-05af-485c-9f8b-4ddbea67fea8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"username\" : \"qq\",\n    \"password\" : \"aA1!1111\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/users/login","description":"<h2 id=\"raw\">Raw</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Require/Optional</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>username</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n<tr>\n<td>password</td>\n<td>String</td>\n<td>Required</td>\n<td>argon2 format</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"200-ok\"><strong>200 OK</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 200,\n    \"data\": {\n        \"user_id\": \"1\"\n    },\n    \"message\": \"Login Successfully\",\n    \"timestamp\": 1664440121,\n    \"success\": true\n}\n\n</code></pre>\n<h2 id=\"401-unauthorized\">401 Unauthorized</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 403,\n    \"data\": null,\n    \"message\": \"Username or password incorrect\",\n    \"timestamp\": 1664440228,\n    \"success\": false\n}\n\n</code></pre>\n<h2 id=\"401-not-found\">401 Not found</h2>\n<p>User been delete</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"Username had been deleted! Please contact administrator if you believe this is a mistake\",\n    \"timestamp\": 1665156863,\n    \"success\": false\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","users","login"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"e03e4f00-05af-485c-9f8b-4ddbea67fea8"},{"name":"create","id":"762156e1-abfe-41a4-b1dc-da4949c57f70","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"username\" : \"peter123\",\n    \"password\" : \"9605596055\",\n    \"email\" : \"peter@123.com\",\n    \"join_date\" : \"2000-10-20\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/users/create","description":"<h2 id=\"raw\">Raw</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Require/Optional</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>username</td>\n<td>String</td>\n<td>Required</td>\n<td>Username cannot be duplicated to existing user.</td>\n</tr>\n<tr>\n<td>password</td>\n<td>String</td>\n<td>Required</td>\n<td>string format</td>\n</tr>\n<tr>\n<td>email</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n<tr>\n<td>join_date</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"200-ok\"><strong>200 OK</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 200,\n    \"data\": \"86fb5391-0cfe-46a3-9779-7e22cf6d63c9\",\n    \"message\": \"Created Successfully\",\n    \"timestamp\": 1664448066,\n    \"success\": true\n}\n\n</code></pre>\n<h2 id=\"400-bad-request\">400 Bad Request</h2>\n<h4 id=\"require-attr-missing\"><strong>(Require attr missing)</strong></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"data\": null,\n    \"message\": \"Required value missing\",\n    \"timestamp\": 1664448138,\n    \"success\": false\n}\n\n</code></pre>\n<h4 id=\"username-duplication\">(Username duplication)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"Username exist\",\n    \"timestamp\": 1664983886,\n    \"success\": false\n} \n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","users","create"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"762156e1-abfe-41a4-b1dc-da4949c57f70"},{"name":"edit","id":"b9f0a69d-6f85-4863-8b82-9cf8fb00a752","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"user_id\": \"2aed7505-7a87-48ab-8ca1-3593070808bf\",\n    \"new_username\" : \"2\",\n    \"new_email\" : \"peter@peter.com\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/users/edit","description":"<h2 id=\"raw\">Raw</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Require/Optional</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>user_id</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n<tr>\n<td>new_username</td>\n<td>String</td>\n<td>Required</td>\n<td>Username cannot be duplicated to existing user.</td>\n</tr>\n<tr>\n<td>new_email</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"200-ok\"><strong>200 OK</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 200,\n    \"response\": \"OK\",\n    \"data\": [\n        {\n            \"user_id\": \"2aed7505-7a87-48ab-8ca1-3593070808bf\",\n            \"username\": \"2\",\n            \"email\": \"peter@peter.com\",\n            \"join_date\": \"2000-10-10\",\n            \"mfa_status\": 0\n        }\n    ],\n    \"message\": \"Success\",\n    \"timestamp\": 1664449708,\n    \"success\": true\n}\n\n</code></pre>\n<h2 id=\"400-bad-request\">400 Bad Request</h2>\n<h4 id=\"no-user-id\">(No user id)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"User ID invalid\",\n    \"timestamp\": 1664450397,\n    \"success\": false\n}\n\n</code></pre>\n<h4 id=\"email-or-username-is-empty\">(Email or username is empty</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"New username or email cannot be empty\",\n    \"timestamp\": 1664450478,\n    \"success\": false\n}\n\n</code></pre>\n<h4 id=\"username-exists\">(Username exists)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"Username exist\",\n    \"timestamp\": 1665032007,\n    \"success\": false\n}\n\n</code></pre>\n<h2 id=\"404-not-found\">404 Not found</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"User not found\",\n    \"timestamp\": 1664450524,\n    \"success\": false\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","users","edit"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"b9f0a69d-6f85-4863-8b82-9cf8fb00a752"},{"name":"detail","id":"e59eab1f-a361-45ea-a414-e6eaeb27246d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"user_id\" : \"1\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/users/detail","description":"<h2 id=\"raw\">Raw</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Require/Optional</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>user_id</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"200-ok\"><strong>200 OK</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 200,\n    \"data\": {\n        \"user_id\": \"1\",\n        \"username\": \"peter6055\",\n        \"email\": \"peter@peter.com\",\n        \"join_date\": \"2000-01-01\",\n        \"mfa_status\": 1\n    },\n    \"message\": \"Success\",\n    \"timestamp\": 1664446586,\n    \"success\": true\n}\n\n</code></pre>\n<h2 id=\"404-not-found\">404 Not found</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"data\": null,\n    \"message\": \"Fail\",\n    \"timestamp\": 1664446512,\n    \"success\": false\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","users","detail"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"e59eab1f-a361-45ea-a414-e6eaeb27246d"},{"name":"delete","id":"be91ea14-2ad6-4e75-a52e-31252b6d7da3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"user_id\": \"15d2533b-c904-4e86-8d5c-287ba1757fb0\",\n    \"is_del\" : \"1\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/users/delete","description":"<h2 id=\"raw\">Raw</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Require/Optional</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>user_id</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n<tr>\n<td>is_del</td>\n<td>Boolean (0, 1)</td>\n<td>Required</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"200-ok\"><strong>200 OK</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 200,\n    \"response\": \"OK\",\n    \"data\": null,\n    \"message\": \"Success\",\n    \"timestamp\": 1664457911,\n    \"success\": true\n}\n\n</code></pre>\n<h2 id=\"400-bad-request\">400 Bad Request</h2>\n<h4 id=\"no-user-id\">(No user id)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"User ID not specify\",\n    \"timestamp\": 1664457849,\n    \"success\": false\n}\n\n</code></pre>\n<h4 id=\"is-delete-syntax-incorrect\">(Is delete syntax incorrect)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"Is delete should be 0 or 1\",\n    \"timestamp\": 1664457880,\n    \"success\": false\n}\n\n</code></pre>\n<h2 id=\"404-not-found\">404 Not found</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"User not found\",\n    \"timestamp\": 1664457864,\n    \"success\": false\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","users","delete"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"be91ea14-2ad6-4e75-a52e-31252b6d7da3"}],"id":"af30f7d1-ecfe-4990-8400-a46052bcadcb","_postman_id":"af30f7d1-ecfe-4990-8400-a46052bcadcb","description":""},{"name":"Post Service","item":[{"name":"getAll","id":"b2219522-23b8-4610-ba9b-f950c9eac06e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/posts/getAll","description":"<h2 id=\"warning\">Warning</h2>\n<blockquote>\n<p><strong>System will only get the post that isn't delete. If all of the post is deleted, 404 Not Found will be return.</strong></p>\n</blockquote>\n<h2 id=\"200-ok\"><strong>200 OK</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 200,\n    \"response\": \"OK\",\n    \"data\": [\n        {\n            \"post_id\": \"0a5a52f8-3729-4a7c-ae2c-c728a1619767\",\n            \"post_text\": \"peter@peter.com\",\n            \"post_img\": \"\",\n            \"post_time\": \"1\",\n            \"is_del\": 0,\n            \"user_id\": \"a649c3aa-18ec-4150-a96f-f1702a2a0562\"\n        },\n        {\n            \"post_id\": \"0f07da76-df4b-4823-856d-9e6dea943f65\",\n            \"post_text\": \"peter@peter.com\",\n            \"post_img\": \"peter@peter.com\",\n            \"post_time\": \"peter@peter.com\",\n            \"is_del\": 0,\n            \"user_id\": \"a649c3aa-18ec-4150-a96f-f1702a2a0562\"\n        },\n        {\n            \"post_id\": \"10517816-df65-4137-b369-e6f81b949328\",\n            \"post_text\": \"peter@peter.com\",\n            \"post_img\": \"\",\n            \"post_time\": \"1\",\n            \"is_del\": 0,\n            \"user_id\": \"a649c3aa-18ec-4150-a96f-f1702a2a0562\"\n        },\n        {\n            \"post_id\": \"2ddc7f00-87e6-4a78-8392-f878f68ffd37\",\n            \"post_text\": \"peter@peter.com\",\n            \"post_img\": \"\",\n            \"post_time\": \"1\",\n            \"is_del\": 0,\n            \"user_id\": \"a649c3aa-18ec-4150-a96f-f1702a2a0562\"\n        },\n        {\n            \"post_id\": \"91d50524-1621-47dd-b51b-d0367497bbbd\",\n            \"post_text\": \"peter@peter.com\",\n            \"post_img\": \"\",\n            \"post_time\": \"1\",\n            \"is_del\": 0,\n            \"user_id\": \"a649c3aa-18ec-4150-a96f-f1702a2a0562\"\n        },\n        {\n            \"post_id\": \"e2121fda-e599-42e3-b409-3b7bb7df5956\",\n            \"post_text\": \"peter@peter.com\",\n            \"post_img\": \"\",\n            \"post_time\": \"1\",\n            \"is_del\": 0,\n            \"user_id\": \"a649c3aa-18ec-4150-a96f-f1702a2a0562\"\n        }\n    ],\n    \"message\": \"\",\n    \"timestamp\": 1664458368,\n    \"success\": true\n}\n\n</code></pre>\n<h2 id=\"404-not-found\">404 Not found</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"No Post Found\",\n    \"timestamp\": 1664460981,\n    \"success\": false\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","posts","getAll"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"b2219522-23b8-4610-ba9b-f950c9eac06e"},{"name":"getAllFromUserId","id":"855122a4-d81a-4cad-aa0c-66cad4c3d63f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"user_id\" : \"8a9072a6-51ac-4d9c-bf0c-616d0d7164bd\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/posts/getAllFromUserId","description":"<h2 id=\"warning\">Warning</h2>\n<blockquote>\n<p><strong>System will only get the post that isn't delete. If all of the post is deleted, 404 Not Found will be return.</strong></p>\n</blockquote>\n<h2 id=\"raw\">Raw</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Require/Optional</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>user_id</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"200-o\"><strong>200 O</strong></h2>\n<h2 id=\"200-ok\"><strong>200 OK</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 200,\n    \"response\": \"OK\",\n    \"data\": [\n        {\n            \"post_id\": \"4a6bec02-3efa-4bca-aeea-bfa7ca0e25ce\",\n            \"post_text\": \"Test4\",\n            \"post_img\": \"\",\n            \"post_time\": \"1\",\n            \"is_del\": 0,\n            \"user_id\": \"8a9072a6-51ac-4d9c-bf0c-616d0d7164bd\"\n        },\n        {\n            \"post_id\": \"4f1f7aec-b5e5-440d-8abc-9e09a6b39250\",\n            \"post_text\": \"Test2\",\n            \"post_img\": \"\",\n            \"post_time\": \"1\",\n            \"is_del\": 0,\n            \"user_id\": \"8a9072a6-51ac-4d9c-bf0c-616d0d7164bd\"\n        }\n    ],\n    \"message\": \"OK\",\n    \"timestamp\": 1664894910,\n    \"success\": true\n}\n\n</code></pre>\n<h2 id=\"400-bad-request\">400 Bad request</h2>\n<h4 id=\"not-passing-user-id\">(Not passing user id)</h4>\n<p>Notes: This API is used for getting posts made by a specific user. If you are looking to get all posts in the database, call /posts/getAll instead</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"Please pass user ID or call getAll instead.\",\n    \"timestamp\": 1664894625,\n    \"success\": false\n}\n\n</code></pre>\n<h2 id=\"404-not-found\">404 Not found</h2>\n<h4 id=\"user-does-not-exist\">(User does not exist)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"User not found\",\n    \"timestamp\": 1664894837,\n    \"success\": false\n}\n\n</code></pre>\n<h4 id=\"no-post-made-by-this-user\">(No post made by this user)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"No Post Found\",\n    \"timestamp\": 1664894879,\n    \"success\": false\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","posts","getAllFromUserId"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"855122a4-d81a-4cad-aa0c-66cad4c3d63f"},{"name":"getSingle","id":"cc1e317e-bb30-4fc1-b57b-10116649a767","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"post_id\":\"4a6bec02-3efa-4bca-aeea-bfa7ca0e25ce\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/posts/getSingle","description":"<h2 id=\"warning\">Warning</h2>\n<blockquote>\n<p><strong>System will only get the post that isn't delete. If the post is deleted, 404 Not Found will be return.</strong></p>\n</blockquote>\n<h2 id=\"raw\">Raw</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Require/Optional</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>post_id</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"200-ok\"><strong>200 OK</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 200,\n    \"response\": \"OK\",\n    \"data\": [\n        {\n            \"post_id\": \"0a5a52f8-3729-4a7c-ae2c-c728a1619767\",\n            \"post_text\": \"peter@peter.com\",\n            \"post_img\": \"\",\n            \"post_time\": \"1\",\n            \"is_del\": 0,\n            \"user_id\": \"a649c3aa-18ec-4150-a96f-f1702a2a0562\"\n        }\n    ],\n    \"message\": \"\",\n    \"timestamp\": 1664458551,\n    \"success\": true\n}\n\n</code></pre>\n<h2 id=\"404-not-found\">404 Not found</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"No Post Found\",\n    \"timestamp\": 1664458585,\n    \"success\": false\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","posts","getSingle"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"cc1e317e-bb30-4fc1-b57b-10116649a767"},{"name":"create","id":"8dc2a045-2f70-4842-9128-74ac9c18b789","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"user_id\": \"a649c3aa-18ec-4150-a96f-f1702a2a0562\",\n    \"post_text\" : \"<script></script>\",\n    \"post_img\" : \"\",\n    \"post_time\" : \"1\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/posts/create","description":"<h4 id=\"raw\">Raw</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Require/Optional</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>user_id</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n<tr>\n<td>post_text</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n<tr>\n<td>post_img</td>\n<td>String</td>\n<td>Optional</td>\n<td>json of img array</td>\n</tr>\n<tr>\n<td>post_time</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"200-ok\"><strong>200 OK</strong></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 200,\n    \"response\": \"OK\",\n    \"data\": {\n        \"user_id\": \"a649c3aa-18ec-4150-a96f-f1702a2a0562\",\n        \"post_id\": \"0f07da76-df4b-4823-856d-9e6dea943f65\",\n        \"post_text\": \"peter@peter.com\",\n        \"post_img\": \"peter@peter.com\",\n        \"post_time\": \"peter@peter.com\",\n        \"is_del\": \"0\"\n    },\n    \"message\": \"Post successful\",\n    \"timestamp\": 1664457726,\n    \"success\": true\n}\n\n</code></pre>\n<h4 id=\"400-bad-request\">400 Bad Request</h4>\n<h4 id=\"no-user-id\">(No user id)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"User not found\",\n    \"timestamp\": 1664457960,\n    \"success\": false\n}\n\n</code></pre>\n<h4 id=\"post-text-or-post-time-missing\">(Post text or Post time missing)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"Required value missing\",\n    \"timestamp\": 1664457981,\n    \"success\": false\n}\n\n</code></pre>\n<h4 id=\"404-not-found\">404 Not found</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"User not found\",\n    \"timestamp\": 1664458020,\n    \"success\": false\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","posts","create"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"8dc2a045-2f70-4842-9128-74ac9c18b789"},{"name":"edit","id":"fbeab153-b6aa-478f-9988-e0945b550e1f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"post_id\": \"65912181-e5ab-4304-9e6c-d7a36a756156\",\n    \"new_post_text\" : \"<a>test</a>\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/posts/edit","description":"<h2 id=\"warning\">Warning</h2>\n<blockquote>\n<p><strong>System will only allow to edit the post that isn't delete. If the post is deleted, 404 Not Found will be return.</strong></p>\n</blockquote>\n<h2 id=\"raw\">Raw</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Require/Optional</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>post_id</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n<tr>\n<td>new_post_text</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"200-ok\"><strong>200 OK</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 200,\n    \"response\": \"OK\",\n    \"data\": {\n        \"post_id\": \"2ddc7f00-87e6-4a78-8392-f878f68ffd37\",\n        \"post_text\": \"This is edit pos12t234\",\n        \"post_img\": \"\",\n        \"post_time\": \"1\",\n        \"is_del\": 0,\n        \"user_id\": \"a649c3aa-18ec-4150-a96f-f1702a2a0562\"\n    },\n    \"message\": \"Success\",\n    \"timestamp\": 1664459627,\n    \"success\": true\n}\n\n</code></pre>\n<h2 id=\"400-bad-request\">400 Bad Request</h2>\n<h4 id=\"no-post-id\">(No post id)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"Post ID invalid\",\n    \"timestamp\": 1664459653,\n    \"success\": false\n}\n\n</code></pre>\n<h4 id=\"post-text-is-empty\">(Post text is empty)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"New text cannot be empty\",\n    \"timestamp\": 1664459664,\n    \"success\": false\n}\n\n</code></pre>\n<h2 id=\"404-not-found\">404 Not found</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"Post not found\",\n    \"timestamp\": 1664459770,\n    \"success\": false\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","posts","edit"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"fbeab153-b6aa-478f-9988-e0945b550e1f"},{"name":"delete","id":"0852f330-3cff-4a72-bef5-a4b2adbded9e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"post_id\": \"a649c3aa-18ec-4150-a96f-f1702a2a0562\",\n    \"is_del\" : \"1\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/posts/delete","description":"<h2 id=\"raw\">Raw</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Require/Optional</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>post_id</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n<tr>\n<td>is_del</td>\n<td>Boolean (0, 1)</td>\n<td>Required</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"200-ok\"><strong>200 OK</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 200,\n    \"response\": \"OK\",\n    \"data\": null,\n    \"message\": \"Success\",\n    \"timestamp\": 1664457911,\n    \"success\": true\n}\n\n</code></pre>\n<h2 id=\"400-bad-request\">400 Bad Request</h2>\n<h4 id=\"no-post-id\">(No post id)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"Post ID not specify\",\n    \"timestamp\": 1664458773,\n    \"success\": false\n}\n\n</code></pre>\n<h4 id=\"is-delete-syntax-incorrect\">(Is delete syntax incorrect)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"Is delete should be 0 or 1\",\n    \"timestamp\": 1664458764,\n    \"success\": false\n}\n\n</code></pre>\n<h2 id=\"404-not-found\">404 Not found</h2>\n<blockquote>\n<p><strong>Notes: when reply is deleted, not found will return when you try to delete again.</strong></p>\n</blockquote>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"Post not found\",\n    \"timestamp\": 1664458743,\n    \"success\": false\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","posts","delete"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"0852f330-3cff-4a72-bef5-a4b2adbded9e"}],"id":"23abccf5-1482-4091-9afa-a93e2ee16b3a","_postman_id":"23abccf5-1482-4091-9afa-a93e2ee16b3a","description":""},{"name":"Reply Service","item":[{"name":"getAll","id":"6b282c98-038c-41fa-a4d3-19f2e2c5e8a9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/replies/getAll","description":"<h2 id=\"warning\">Warning</h2>\n<blockquote>\n<p><strong>System will only get the post that isn't delete. If all of the post is deleted, 404 Not Found will be return.</strong></p>\n</blockquote>\n<h2 id=\"200-ok\"><strong>200 OK</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 200,\n    \"response\": \"OK\",\n    \"data\": [\n        {\n            \"reply_id\": \"123\",\n            \"reply_text\": \"123\",\n            \"reply_time\": \"123\",\n            \"is_del\": 0,\n            \"user_id\": \"8a9072a6-51ac-4d9c-bf0c-616d0d7164bd\",\n            \"parent_post_id\": \"4a6bec02-3efa-4bca-aeea-bfa7ca0e25ce\",\n            \"parent_reply_id\": null\n        },\n        {\n            \"reply_id\": \"2c707963-5613-40f1-9cc5-dd5bdcaf0573\",\n            \"reply_text\": \"123\",\n            \"reply_time\": \"123\",\n            \"is_del\": 0,\n            \"user_id\": \"8a9072a6-51ac-4d9c-bf0c-616d0d7164bd\",\n            \"parent_post_id\": \"4f1f7aec-b5e5-440d-8abc-9e09a6b39250\",\n            \"parent_reply_id\": null\n        }\n    ],\n    \"message\": \"\",\n    \"timestamp\": 1664732022,\n    \"success\": true\n}\n\n</code></pre>\n<h2 id=\"404-not-found\">404 Not found</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"No Reply Found\",\n    \"timestamp\": 1664460981,\n    \"success\": false\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","replies","getAll"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"6b282c98-038c-41fa-a4d3-19f2e2c5e8a9"},{"name":"getAllFromPost","id":"17335360-5480-4bbf-806f-3f795de8fd75","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"parent_post_id\":\"4a6bec02-3efa-4bca-aeea-bfa7ca0e25ce\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/replies/getAllFromPost","description":"<h2 id=\"warning\">Warning</h2>\n<blockquote>\n<p><strong>System will only get the post that isn't delete. If all of the post is deleted, 404 Not Found will be return.</strong></p>\n</blockquote>\n<h2 id=\"raw\">Raw</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Require/Optional</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>parent_post_id</td>\n<td>String</td>\n<td>Required</td>\n<td>All the reply from this post (incldes the sub reply of the within a reply)</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"200-ok\"><strong>200 OK</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 200,\n    \"{\n    \"code\": 200,\n    \"response\": \"OK\",\n    \"data\": [\n        {\n            \"reply_id\": \"2c707963-5613-40f1-9cc5-dd5bdcaf0573\",\n            \"reply_text\": \"123\",\n            \"reply_time\": \"123\",\n            \"is_del\": 0,\n            \"user_id\": \"8a9072a6-51ac-4d9c-bf0c-616d0d7164bd\",\n            \"parent_post_id\": \"4f1f7aec-b5e5-440d-8abc-9e09a6b39250\",\n            \"parent_reply_id\": null\n        },\n        {\n            \"reply_id\": \"96feffb8-fe09-4cd8-b382-86c31a555bfe\",\n            \"reply_text\": \"123\",\n            \"reply_time\": \"123\",\n            \"is_del\": 0,\n            \"user_id\": \"8a9072a6-51ac-4d9c-bf0c-616d0d7164bd\",\n            \"parent_post_id\": \"4f1f7aec-b5e5-440d-8abc-9e09a6b39250\",\n            \"parent_reply_id\": null\n        }\n    ],\n    \"message\": \"\",\n    \"timestamp\": 1664732099,\n    \"success\": true\n}\n\n</code></pre>\n<h2 id=\"400-bad-request\">400 Bad request</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"Post ID not specify\",\n    \"timestamp\": 1665033639,\n    \"success\": false\n}\n\n</code></pre>\n<h2 id=\"404-not-found\">404 Not found</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"No Replies Found\",\n    \"timestamp\": 1664731757,\n    \"success\": false\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","replies","getAllFromPost"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"17335360-5480-4bbf-806f-3f795de8fd75"},{"name":"getAllFromReply","id":"48460a9d-1548-4677-bb28-183b9a2cca03","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"parent_reply_id\":\"123\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/replies/getAllFromReply","description":"<h2 id=\"warning\">Warning</h2>\n<blockquote>\n<p><strong>System will only get the post that isn't delete. If all of the post is deleted, 404 Not Found will be return.</strong></p>\n</blockquote>\n<h2 id=\"raw\">Raw</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Require/Optional</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>parent_reply_id</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"200-ok\"><strong>200 OK</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 200,\n    \"response\": \"OK\",\n    \"data\": [\n        {\n            \"reply_id\": \"d29f59ae-a798-44da-8f57-5e7d34437883\",\n            \"reply_text\": \"123\",\n            \"reply_time\": \"123\",\n            \"is_del\": 0,\n            \"user_id\": \"8a9072a6-51ac-4d9c-bf0c-616d0d7164bd\",\n            \"parent_post_id\": \"4f1f7aec-b5e5-440d-8abc-9e09a6b39250\",\n            \"parent_reply_id\": \"2c707963-5613-40f1-9cc5-dd5bdcaf0573\"\n        }\n    ],\n    \"message\": \"\",\n    \"timestamp\": 1664731862,\n    \"success\": true\n}\n\n</code></pre>\n<h2 id=\"400-bad-request\">400 Bad request</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"Reply ID not specify\",\n    \"timestamp\": 1665033629,\n    \"success\": false\n}\n\n</code></pre>\n<h2 id=\"404-not-found\">404 Not found</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"No Reply Found\",\n    \"timestamp\": 1664458585,\n    \"success\": false\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","replies","getAllFromReply"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"48460a9d-1548-4677-bb28-183b9a2cca03"},{"name":"getSingle","id":"cc1af39c-805b-4a8d-b3ae-52f88034f862","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"reply_id\":\"96feffb8-fe09-4cd8-b382-86c31a555be\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/replies/getSingle","description":"<h2 id=\"raw\">Raw</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Require/Optional</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>reply_id</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"200-ok\"><strong>200 OK</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{{\n    \"code\": 200,\n    \"response\": \"OK\",\n    \"data\": [\n        {\n            \"reply_id\": \"96feffb8-fe09-4cd8-b382-86c31a555bfe\",\n            \"reply_text\": \"123\",\n            \"reply_time\": \"123\",\n            \"is_del\": 0,\n            \"user_id\": \"8a9072a6-51ac-4d9c-bf0c-616d0d7164bd\",\n            \"parent_post_id\": \"4f1f7aec-b5e5-440d-8abc-9e09a6b39250\",\n            \"parent_reply_id\": null\n        }\n    ],\n    \"message\": \"\",\n    \"timestamp\": 1664731900,\n    \"success\": true\n}\n\n</code></pre>\n<h2 id=\"400-bad-request\">400 Bad request</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"Reply ID not specify\",\n    \"timestamp\": 1665033655,\n    \"success\": false\n}\n\n</code></pre>\n<h2 id=\"404-not-found\">404 Not found</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"No Reply Found\",\n    \"timestamp\": 1664732170,\n    \"success\": false\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","replies","getSingle"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"cc1af39c-805b-4a8d-b3ae-52f88034f862"},{"name":"create","id":"00a67ecf-32fd-40fb-9a46-a8467a8cb016","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"user_id\": \"8a9072a6-51ac-4d9c-bf0c-616d0d7164bd\",\n    \"parent_post_id\": \"4f1f7aec-b5e5-440d-8abc-9e09a6b39250\",\n    \"parent_reply_id\": \"2\",\n    \"reply_text\" : \"1\",\n    \"reply_time\" : \"1\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/replies/create","description":"<h4 id=\"raw\">Raw</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Require/Optional</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>user_id</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n<tr>\n<td>parent_post_id</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n<tr>\n<td>parent_reply_id</td>\n<td>String</td>\n<td>Optional</td>\n<td></td>\n</tr>\n<tr>\n<td>reply_text</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n<tr>\n<td>reply_time</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><p>关于 Parent 有两种选择</p>\n<ol>\n<li>第一层 reply，上层是 post：传 parent_post_id（parent_reply_id 为空）</li>\n<li>下层 reply，上层是任一 reply：传 parent_post_id（主 post id） 和 parent_reply_id（上层 reply id）</li>\n</ol>\n<h2 id=\"200-ok\"><strong>200 OK</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 200,\n    \"response\": \"OK\",\n    \"data\": {\n        \"user_id\": \"8a9072a6-51ac-4d9c-bf0c-616d0d7164bd\",\n        \"parent_post_id\": \"4f1f7aec-b5e5-440d-8abc-9e09a6b39250\",\n        \"parent_reply_id\": \"2c707963-5613-40f1-9cc5-dd5bdcaf0573\",\n        \"reply_id\": \"d29f59ae-a798-44da-8f57-5e7d34437883\",\n        \"reply_text\": \"123\",\n        \"reply_time\": \"123\",\n        \"is_del\": \"0\"\n    },\n    \"message\": \"Reply successful\",\n    \"timestamp\": 1664731449,\n    \"success\": true\n}\n\n</code></pre>\n<h2 id=\"400-bad-request\">400 Bad Request</h2>\n<h4 id=\"post-text-or-post-time-missing\">(Post text or Post time missing)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"Required value missing (text or time)\",\n    \"timestamp\": 1664732342,\n    \"success\": false\n}\n\n</code></pre>\n<h4 id=\"not-following-the-logic-of-the-parent\">(Not following the logic of the parent)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"Required value missing, should be either reply to post or reply to reply\",\n    \"timestamp\": 1664732420,\n    \"success\": false\n}\n\n</code></pre>\n<h2 id=\"404-not-found\">404 Not found</h2>\n<h4 id=\"post-not-found\">(Post not found)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"Post not found\",\n    \"timestamp\": 1664732457,\n    \"success\": false\n}\n\n</code></pre>\n<h4 id=\"reply-not-found\">(Reply not found)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"Reply not found\",\n    \"timestamp\": 1664732538,\n    \"success\": false\n}\n\n</code></pre>\n<h4 id=\"user-not-found-or-no-user-id\">(User not found or no user id)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"User not found\",\n    \"timestamp\": 1664732332,\n    \"success\": false\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","replies","create"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"00a67ecf-32fd-40fb-9a46-a8467a8cb016"},{"name":"delete","id":"18b3a5fd-bdbe-4f35-b7d6-af0e9fc38af6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"reply_id\": \"96feffb8-fe09-4cd8-b382-86c31a555bfe\",\n    \"is_del\" : \"1\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/replies/delete","description":"<h2 id=\"raw\">Raw</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Require/Optional</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>post_id</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n<tr>\n<td>is_del</td>\n<td>Boolean (0, 1)</td>\n<td>Required</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"200-ok\"><strong>200 OK</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 200,\n    \"response\": \"OK\",\n    \"data\": null,\n    \"message\": \"Success\",\n    \"timestamp\": 1664457911,\n    \"success\": true\n}\n\n</code></pre>\n<h2 id=\"400-bad-request\">400 Bad Request</h2>\n<h4 id=\"no-post-id\">(No post id)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"Reply ID not specify\",\n    \"timestamp\": 1664458773,\n    \"success\": false\n}\n\n</code></pre>\n<h4 id=\"is-delete-syntax-incorrect\">(Is delete syntax incorrect)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"Is delete should be 0 or 1\",\n    \"timestamp\": 1664458764,\n    \"success\": false\n}\n\n</code></pre>\n<h2 id=\"404-not-found\">404 Not found</h2>\n<blockquote>\n<p><strong>Notes: when reply is deleted, not found will return when you try to delete again.</strong></p>\n</blockquote>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"Reply not found (Or it is already delete)\",\n    \"timestamp\": 1665071708,\n    \"success\": false\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","replies","delete"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"18b3a5fd-bdbe-4f35-b7d6-af0e9fc38af6"}],"id":"e7c1bd49-d2a4-4a79-8726-a3ed64eaee6c","_postman_id":"e7c1bd49-d2a4-4a79-8726-a3ed64eaee6c","description":""},{"name":"Follow Service","item":[{"name":"getFollowersFromUserId","id":"3754a3d6-4113-4ddf-baa7-ed8b8a04c31a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"user_id\" : \"8a9072a6-51ac-4d9c-bf0c-616d0d7164bd\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/follows/getFollowersFromUserId","description":"<h2 id=\"raw\">Raw</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Require/Optional</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>user_id</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"200-ok\"><strong>200 OK</strong></h2>\n<p>*   user_id states the current user using the system（现在的用户）\n*   followed_user_id states the user current user had followed（现在的用户关注的人）</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 200,\n    \"response\": \"OK\",\n    \"data\": [\n        {\n            \"id\": 18,\n            \"user_id\": \"8a9072a6-51ac-4d9c-bf0c-616d0d7164bd\",\n            \"followed_user_id\": \"7f13d151-82ae-4116-a5b4-a68ab15923b1\"\n        }\n    ],\n    \"message\": \"OK\",\n    \"timestamp\": 1665311492,\n    \"success\": true\n}\n\n</code></pre>\n<h2 id=\"400-bad-request\">400 Bad request</h2>\n<h4 id=\"not-passing-user-id\">(Not passing user id)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"Please pass user ID.\",\n    \"timestamp\": 1665311746,\n    \"success\": false\n}\n\n</code></pre>\n<h2 id=\"404-not-found\">404 Not found</h2>\n<h4 id=\"user-does-not-exist\">(User does not exist)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"User not found\",\n    \"timestamp\": 1665311728,\n    \"success\": false\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","follows","getFollowersFromUserId"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"3754a3d6-4113-4ddf-baa7-ed8b8a04c31a"},{"name":"setStatus","id":"05ab6083-d787-4710-8c6b-8c973f1a42d1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"user_id\" : \"8a9072a6-51ac-4d9c-bf0c-616d0d7164bd\",\n    \"followed_user_id\" : \"7f13d151-82ae-4116-a5b4-a68ab15923b1\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/follows/setStatus","description":"<h2 id=\"intro\">Intro</h2>\n<p>* When calling this API, it change the status to follow 发一次：创建关注记录</p>\n<p>* When calling this API again (when record exist), it change the status to unfollow (delete record) 当关注记录已存在，再发一次，删除关注记录（取消关注）</p>\n<h2 id=\"raw\">Raw</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Require/Optional</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>user_id</td>\n<td>String</td>\n<td>Required</td>\n<td>关注人（发起人）</td>\n</tr>\n<tr>\n<td>followed_user_id</td>\n<td>String</td>\n<td>Required</td>\n<td>被关注人</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"200-ok\"><strong>200 OK</strong></h2>\n<p>In this response</p>\n<p>* <strong>current_user_id</strong> shows the user want to follow somebody<br />* <strong>followed_user_id</strong> shows the user was followed by the current user<br />* <strong>message</strong> will point out the result of this request (either: followed or unfollowed)</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 200,\n    \"response\": \"OK\",\n    \"data\": {\n        \"current_user_id\": \"8a9072a6-51ac-4d9c-bf0c-616d0d7164bd\",\n        \"followed_user_id\": \"7f13d151-82ae-4116-a5b4-a68ab15923b1\"\n    },\n    \"message\": \"Note for development, result state: unfollowed\",\n    \"timestamp\": 1664899549,\n    \"success\": true\n}\n\n</code></pre>\n<h2 id=\"400-bad-request\">400 Bad request</h2>\n<h4 id=\"not-passing-current-user-and-followed-user-user-id\">(Not passing \"Current User\" and \"Followed User\" user id)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"Please pass user ID.\",\n    \"timestamp\": 1664897638,\n    \"success\": false\n}\n\n</code></pre>\n<h4 id=\"current-user-and-followed-user-are-the-same-person-关注人和被关注人不能是同一人\">(\"Current User\" and \"Followed User\" are the same person: 关注人和被关注人不能是同一人)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"Please pass different user ID. (Cannot follow yourself)\",\n    \"timestamp\": 1664897557,\n    \"success\": false\n}\n\n</code></pre>\n<h2 id=\"404-not-found\">404 Not found</h2>\n<h4 id=\"current-user-and-followed-user-do-not-exist\">(\"Current User\" and \"Followed User\" do not exist)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"User not found\",\n    \"timestamp\": 1664897625,\n    \"success\": false\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","follows","setStatus"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"05ab6083-d787-4710-8c6b-8c973f1a42d1"}],"id":"d319d292-94d5-48c7-94ce-b8b7e0b5545f","_postman_id":"d319d292-94d5-48c7-94ce-b8b7e0b5545f","description":""},{"name":"Reaction Service","item":[{"name":"getCountFromTarget","id":"0a3a17a3-5a37-4aa2-8f1b-c6bf0123559a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"target_id\":\"123\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/reactions/getCountFromTarget","description":"<h2 id=\"intro\">Intro</h2>\n<img src=\"https://content.pstmn.io/21eb41de-70d7-4630-92cb-e613601d8d36/5oiq5bGPMjAyMi0xMC0wNiDkuIvljYgxMS4yMC4zNy5wbmc=\" alt=\"This%20api%20use%20to%20display%20the%20count%20of%20each%20type%20of%20the%20reaction%20on%20a%20post%20or%20reply%20(orange%20highlighted%20part)\" width=\"354\" height=\"202\" />\n\n<h2 id=\"warning\">Warning</h2>\n<blockquote>\n<p><strong>System will not check whether target exist or not. If target not found, all of the reaction_count will reponse zero.</strong></p>\n</blockquote>\n<h2 id=\"raw\">Raw</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Require/Optional</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>target_id</td>\n<td>String</td>\n<td>Required</td>\n<td>All the reply from this post (incldes the sub reply of the within a reply)</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"200-ok\"><strong>200 OK</strong></h2>\n<blockquote>\n<p>Note: The \"like\", \"dislike\" and \"star\" represent the count of reaction of this target (reply or post)</p>\n</blockquote>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 200,\n    \"response\": \"OK\",\n    \"data\": {\n        \"target_id\": \"b5109026-d5cd-41bf-97f6-ff70e2f70088\",\n        \"reaction_count\": {\n            \"like\": \"2\",\n            \"dislike\": \"2\",\n            \"star\": \"1\"\n        }\n    },\n    \"message\": \"\",\n    \"timestamp\": 1665057217,\n    \"success\": true\n}\n\n</code></pre>\n<h2 id=\"400-bad-request\">400 Bad request</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"Missing require attributes\",\n    \"timestamp\": 1665057186,\n    \"success\": false\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","reactions","getCountFromTarget"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"0a3a17a3-5a37-4aa2-8f1b-c6bf0123559a"},{"name":"getUserReactionOfTarget","id":"45782d03-5420-48ed-9973-d84815251293","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"user_id\":\"f2306fb8-8b40-4d64-9a68-203c17d920d7\",\n    \"target_id\":\"2c707963-5613-40f1-9cc5-dd5bdcaf0573\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/reactions/getUserReactionOfTarget","description":"<h2 id=\"intro\">Intro</h2>\n<p><img src=\"https://content.pstmn.io/f331890e-8f9a-46c8-8c0c-a7bd7772e742/5oiq5bGPMjAyMi0xMC0wNiDkuIvljYgxMS4yMS4yMC5wbmc=\" alt=\"This%20api%20use%20to%20light%20up%20the%20reaction%20that%20had%20already%20click%20by%20the%20user.%20(When%20getting%20true,%20you%20can%20add%20a%20has-like-reaction%20on%20it)&quot;\n&lt;br&gt;(orange%20highlighted%20part)\" height=\"216\" width=\"314\" /></p>\n<h2 id=\"warning\">Warning</h2>\n<blockquote>\n<p><strong>System will not check whether target exist or not. If target not found, all of the</strong> reaction <strong>will reponse zero.</strong></p>\n</blockquote>\n<h2 id=\"raw\">Raw</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Require/Optional</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>user_id</td>\n<td>String</td>\n<td>Required</td>\n<td></td>\n</tr>\n<tr>\n<td>target_id</td>\n<td>String</td>\n<td>Required</td>\n<td>No need to specify its type is reply or post. The system will work it out for you : )</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"200-ok\"><strong>200 OK</strong></h2>\n<blockquote>\n<p>Note: The \"like\", \"dislike\" and \"star\" represent the reaction that user gives to this target (post/reply).</p>\n</blockquote>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 200,\n    \"response\": \"OK\",\n    \"data\": {\n        \"user_id\": \"f2306fb8-8b40-4d64-9a68-203c17d920d7\",\n        \"target_id\": \"2c707963-5613-40f1-9cc5-dd5bdcaf0573\",\n        \"reaction\": {\n            \"like\": \"false\",\n            \"dislike\": \"false\",\n            \"star\": \"true\"\n        }\n    },\n    \"message\": \"\",\n    \"timestamp\": 1665058584,\n    \"success\": true\n}\n\n</code></pre>\n<h2 id=\"400-bad-request\">400 Bad request</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"Missing require attributes\",\n    \"timestamp\": 1665058779,\n    \"success\": false\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","reactions","getUserReactionOfTarget"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"45782d03-5420-48ed-9973-d84815251293"},{"name":"setUserReactionOnTarget","id":"c1bd1b19-01b8-41a4-8dc6-d374aa7a1407","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"user_id\" : \"7a0d13a4-b8f2-4b45-8541-700386956d2e\",\n    \"target_id\" : \"ce33c865-c9f2-455d-b7ca-450e0bc5aecd\",\n    \"reaction\": 30\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:40003/api/v1/reactions/setUserReactionOnTarget","description":"<h2 id=\"intro\">Intro</h2>\n<p>There are 2 logics when using this API</p>\n<p>* Clicking (sending) the same reaction will clear the reaction made previously.<br />* Clicking (sending) the new reaction will insert/update the reaction of this user on the target</p>\n<h2 id=\"raw\">Raw</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Require/Optional</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>user_id</td>\n<td>String</td>\n<td>Required</td>\n<td>关注人（发起人）</td>\n</tr>\n<tr>\n<td>target_id</td>\n<td>String</td>\n<td>Required</td>\n<td>Post or reply id (System will automatically identify)</td>\n</tr>\n<tr>\n<td>reaction</td>\n<td>int</td>\n<td>Required</td>\n<td>10 =&gt; like  <br />20 =&gt; dislike  <br />30 =&gt; star</td>\n</tr>\n</tbody>\n</table>\n</div><blockquote>\n<p>Make sure reaction is pass with <em><strong>INT</strong></em> not STRING</p>\n</blockquote>\n<h2 id=\"200-ok\"><strong>200 OK</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{    \n    \"code\": 200,\n    \"response\": \"OK\",\n    \"data\": {\n        \"user_id\": \"654a6cd2-35d1-41c4-8c0a-5a1ef11426f0\",\n        \"target_id\": \"d92bb24c-5f46-4c42-ab03-6c7d1ea62035\",\n        \"reaction\": {\n            \"like\": \"true\",\n            \"dislike\": \"false\",\n            \"star\": \"false\"\n        }\n    },\n    \"message\": \"\",\n    \"timestamp\": 1665055092,\n    \"success\": true\n}\n\n</code></pre>\n<h2 id=\"400-bad-request\">400 Bad request</h2>\n<h4 id=\"not-passing-all-the-required-attributes\">(Not passing all the required attributes)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"Missing require attributes\",\n    \"timestamp\": 1665054992,\n    \"success\": false\n}\n\n</code></pre>\n<h4 id=\"reaction-not-correct\">(Reaction not correct.)</h4>\n<blockquote>\n<p>Make sure it is 10, 20 or 30. And It is in INT format</p>\n</blockquote>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 400,\n    \"response\": \"Bad Request\",\n    \"data\": null,\n    \"message\": \"Reaction not correct (Should be 10,20 or 30), make sure their are in INT format.\",\n    \"timestamp\": 1665054984,\n    \"success\": false\n}\n\n</code></pre>\n<h2 id=\"404-not-found\">404 Not found</h2>\n<h4 id=\"user-does-not-exist\">User does not exist</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"User not found\",\n    \"timestamp\": 1665055052,\n    \"success\": false\n}\n\n</code></pre>\n<h4 id=\"post-or-reply-not-found\"><strong>(Post or reply not found)</strong></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 404,\n    \"response\": \"Not Found\",\n    \"data\": null,\n    \"message\": \"Post or reply not found\",\n    \"timestamp\": 1665055005,\n    \"success\": false\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"40003","path":["api","v1","reactions","setUserReactionOnTarget"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"c1bd1b19-01b8-41a4-8dc6-d374aa7a1407"}],"id":"9095b7b5-6598-4a08-b68e-ebc537f6514c","_postman_id":"9095b7b5-6598-4a08-b68e-ebc537f6514c","description":""}]}