From 92f20d7b12dc5d6f05ca1d07e0b992d5f9daf0ca Mon Sep 17 00:00:00 2001
From: Paul Makles <paulmakles@gmail.com>
Date: Sun, 26 Jan 2020 12:12:09 +0000
Subject: [PATCH] Write out templates for routes.

---
 src/routes/mod.rs  |  2 +-
 src/routes/user.rs | 45 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 46 insertions(+), 1 deletion(-)

diff --git a/src/routes/mod.rs b/src/routes/mod.rs
index 3ad8b1b..3640104 100644
--- a/src/routes/mod.rs
+++ b/src/routes/mod.rs
@@ -6,5 +6,5 @@ mod user;
 pub fn mount(rocket: Rocket) -> Rocket {
 	rocket
 		.mount("/api/account", routes![ account::create, account::verify_email, account::resend_email, account::login ])
-		.mount("/api/users", routes![ user::me, user::lookup ])
+		.mount("/api/users", routes![ user::me, user::dms, user::lookup ])
 }
diff --git a/src/routes/user.rs b/src/routes/user.rs
index a265b0b..8f74db4 100644
--- a/src/routes/user.rs
+++ b/src/routes/user.rs
@@ -6,6 +6,7 @@ use serde::{ Serialize, Deserialize };
 use mongodb::options::FindOptions;
 use bson::{ bson, doc };
 
+/// retrieve your user information
 #[get("/@me")]
 pub fn me(user: User) -> JsonValue {
 	let User ( id, username, doc ) = user;
@@ -20,11 +21,19 @@ pub fn me(user: User) -> JsonValue {
 	})
 }
 
+/// retrieve another user's information
+#[get("/<id>")]
+pub fn user(user: User, id: String) -> JsonValue {
+	json!([])
+}
+
 #[derive(Serialize, Deserialize)]
 pub struct Query {
 	username: String,
 }
 
+/// lookup a user on Revolt
+/// currently only supports exact username searches
 #[post("/lookup", data = "<query>")]
 pub fn lookup(_user: User, query: Json<Query>) -> JsonValue {
 	let col = database::get_db().collection("users");
@@ -47,3 +56,39 @@ pub fn lookup(_user: User, query: Json<Query>) -> JsonValue {
 
 	json!(results)
 }
+
+/// retrieve all of your DMs
+#[get("/@me/dms")]
+pub fn dms(user: User) -> JsonValue {
+	json!([])
+}
+
+/// open a DM with a user
+#[get("/<id>/dm")]
+pub fn dm(user: User, id: String) -> JsonValue {
+	json!([])
+}
+
+/// retrieve all of your friends
+#[get("/@me/friend")]
+pub fn get_friends(user: User) -> JsonValue {
+	json!([])
+}
+
+/// retrieve friend status with user
+#[get("/<id>/friend")]
+pub fn get_friend(user: User, id: String) -> JsonValue {
+	json!([])
+}
+
+/// create or accept a friend request
+#[put("/<id>/friend")]
+pub fn add_friend(user: User, id: String) -> JsonValue {
+	json!([])
+}
+
+/// remove a friend or deny a request
+#[delete("/<id>/friend")]
+pub fn remove_friend(user: User, id: String) -> JsonValue {
+	json!([])
+}
-- 
GitLab