diff --git a/server/src/badges.rs b/server/src/badges.rs new file mode 100644 index 0000000..ba4b31f --- /dev/null +++ b/server/src/badges.rs @@ -0,0 +1,5 @@ +pub struct Badge { + name: String, + permissions: u64, + color: u32, //rgba format +} \ No newline at end of file diff --git a/server/src/main.rs b/server/src/main.rs index ee1937f..ca5cf1c 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -25,6 +25,9 @@ use auth::AuthReason; mod routes; mod invites; mod channels; +mod members; +mod messages; +mod badges; fn map_qs(query_string_raw: Option<&str>) -> HashMap<&str, &str> { /* @@ -59,6 +62,8 @@ async fn route_dispatcher(pool: &Pool, resp: &mut Response
, meth: &Method, }, (&Method::GET, routes::CHANNELS_LIST) => channels::list_channels(pool, resp).await, (&Method::POST, routes::CHANNELS_CREATE) => channels::create_channel(pool, resp, params).await, + + (&Method::POST, routes::MESSAGE_SEND) => messages::send_message(pool, resp, params).await, _ => *resp.status_mut() = StatusCode::NOT_FOUND } } diff --git a/server/src/members.rs b/server/src/members.rs new file mode 100644 index 0000000..0829659 --- /dev/null +++ b/server/src/members.rs @@ -0,0 +1,7 @@ +use crate::badges::Badge; +pub struct Member { + id: u64, + name: String, + permissions: u64, + badges: Vec