summary refs log tree commit diff
path: root/api
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-09-20 21:34:33 +0200
committerFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-09-20 21:34:33 +0200
commit28abad49cd3ff5b9b08fcbb3821d2a6de60179f4 (patch)
treeeffdc34fc600cc8e1f463fecab443f1f67c193c9 /api
parentMerge pull request #382 from fosscord/auto-delete-relations (diff)
downloadserver-28abad49cd3ff5b9b08fcbb3821d2a6de60179f4.tar.xz
:bug: fix relationships
Diffstat (limited to 'api')
-rw-r--r--api/assets/schemas.json254
-rw-r--r--api/src/routes/users/@me/relationships.ts14
2 files changed, 14 insertions, 254 deletions
diff --git a/api/assets/schemas.json b/api/assets/schemas.json
index da193b28..cc45ebb3 100644
--- a/api/assets/schemas.json
+++ b/api/assets/schemas.json
@@ -385,15 +385,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -707,15 +698,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -978,15 +960,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -1228,15 +1201,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -1481,15 +1445,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -1743,15 +1698,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -1998,15 +1944,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -2248,15 +2185,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -2510,15 +2438,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -2785,15 +2704,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -3099,15 +3009,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -3349,15 +3250,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -3599,15 +3491,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -3861,15 +3744,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -4118,15 +3992,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -4371,15 +4236,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -4624,15 +4480,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -4873,15 +4720,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -5142,15 +4980,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -5418,15 +5247,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -5672,15 +5492,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -5928,15 +5739,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -6184,15 +5986,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -6461,15 +6254,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -6478,13 +6262,16 @@
         "type": "object",
         "properties": {
             "type": {
-                "$ref": "#/definitions/RelationshipType"
+                "enum": [
+                    1,
+                    2,
+                    3,
+                    4
+                ],
+                "type": "number"
             }
         },
         "additionalProperties": false,
-        "required": [
-            "type"
-        ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
                 "enum": [
@@ -6711,15 +6498,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -6965,15 +6743,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
@@ -7402,15 +7171,6 @@
                     }
                 },
                 "additionalProperties": false
-            },
-            "RelationshipType": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
             }
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
diff --git a/api/src/routes/users/@me/relationships.ts b/api/src/routes/users/@me/relationships.ts
index 6ad873a6..567c734e 100644
--- a/api/src/routes/users/@me/relationships.ts
+++ b/api/src/routes/users/@me/relationships.ts
@@ -21,20 +21,20 @@ router.get("/", route({}), async (req: Request, res: Response) => {
 	const user = await User.findOneOrFail({ where: { id: req.user_id }, relations: ["relationships", "relationships.to"] });
 
 	//TODO DTO
-	const related_users = user.relationships.map(r => {
+	const related_users = user.relationships.map((r) => {
 		return {
 			id: r.to.id,
 			type: r.type,
 			nickname: null,
-			user: r.to.toPublicUser(),
-		}
-	})
+			user: r.to.toPublicUser()
+		};
+	});
 
 	return res.json(related_users);
 });
 
 export interface RelationshipPutSchema {
-	type: RelationshipType;
+	type?: RelationshipType;
 }
 
 router.put("/:id", route({ body: "RelationshipPutSchema" }), async (req: Request, res: Response) => {
@@ -42,7 +42,7 @@ router.put("/:id", route({ body: "RelationshipPutSchema" }), async (req: Request
 		req,
 		res,
 		await User.findOneOrFail({ id: req.params.id }, { relations: ["relationships", "relationships.to"], select: userProjection }),
-		req.body.type
+		req.body.type ?? RelationshipType.friends
 	);
 });
 
@@ -59,7 +59,7 @@ router.post("/", route({ body: "RelationshipPostSchema" }), async (req: Request,
 			relations: ["relationships", "relationships.to"],
 			select: userProjection,
 			where: {
-				discriminator: String(req.body.discriminator).padStart(4, '0'), //Discord send the discriminator as integer, we need to add leading zeroes
+				discriminator: String(req.body.discriminator).padStart(4, "0"), //Discord send the discriminator as integer, we need to add leading zeroes
 				username: req.body.username
 			}
 		}),