summary refs log tree commit diff
path: root/src/api/routes/users/#id
diff options
context:
space:
mode:
authorPuyodead1 <puyodead@proton.me>2023-03-25 16:09:04 -0400
committerPuyodead1 <puyodead@proton.me>2023-04-13 15:38:52 -0400
commit1ce7879ee85ea5bb5efaff3cf950e65513098d3c (patch)
tree825ae4c842b096736221668e59fc4c815998aec3 /src/api/routes/users/#id
parentoapi: stickers (diff)
downloadserver-1ce7879ee85ea5bb5efaff3cf950e65513098d3c.tar.xz
oapi: users progress
Diffstat (limited to 'src/api/routes/users/#id')
-rw-r--r--src/api/routes/users/#id/delete.ts13
-rw-r--r--src/api/routes/users/#id/index.ts22
-rw-r--r--src/api/routes/users/#id/relationships.ts9
3 files changed, 36 insertions, 8 deletions
diff --git a/src/api/routes/users/#id/delete.ts b/src/api/routes/users/#id/delete.ts
index e36a35e6..5b1a682c 100644
--- a/src/api/routes/users/#id/delete.ts
+++ b/src/api/routes/users/#id/delete.ts
@@ -30,7 +30,18 @@ const router = Router();
 
 router.post(
 	"/",
-	route({ right: "MANAGE_USERS" }),
+	route({
+		right: "MANAGE_USERS",
+		responses: {
+			204: {},
+			403: {
+				body: "APIErrorResponse",
+			},
+			404: {
+				body: "APIErrorResponse",
+			},
+		},
+	}),
 	async (req: Request, res: Response) => {
 		await User.findOneOrFail({
 			where: { id: req.params.id },
diff --git a/src/api/routes/users/#id/index.ts b/src/api/routes/users/#id/index.ts
index 0c7cfe37..4e3625a4 100644
--- a/src/api/routes/users/#id/index.ts
+++ b/src/api/routes/users/#id/index.ts
@@ -16,16 +16,26 @@
 	along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */
 
-import { Router, Request, Response } from "express";
-import { User } from "@spacebar/util";
 import { route } from "@spacebar/api";
+import { User } from "@spacebar/util";
+import { Request, Response, Router } from "express";
 
 const router: Router = Router();
 
-router.get("/", route({}), async (req: Request, res: Response) => {
-	const { id } = req.params;
+router.get(
+	"/",
+	route({
+		responses: {
+			200: {
+				body: "PublicUserResponse",
+			},
+		},
+	}),
+	async (req: Request, res: Response) => {
+		const { id } = req.params;
 
-	res.json(await User.getPublicUser(id));
-});
+		res.json(await User.getPublicUser(id));
+	},
+);
 
 export default router;
diff --git a/src/api/routes/users/#id/relationships.ts b/src/api/routes/users/#id/relationships.ts
index f18672b1..7accad3b 100644
--- a/src/api/routes/users/#id/relationships.ts
+++ b/src/api/routes/users/#id/relationships.ts
@@ -24,7 +24,14 @@ const router: Router = Router();
 
 router.get(
 	"/",
-	route({ responses: { 200: { body: "UserRelationsResponse" } } }),
+	route({
+		responses: {
+			200: { body: "UserRelationsResponse" },
+			404: {
+				body: "APIErrorResponse",
+			},
+		},
+	}),
 	async (req: Request, res: Response) => {
 		const mutual_relations: object[] = [];
 		const requested_relations = await User.findOneOrFail({