diff --git a/backend/src/online_classroom/json_result.rs b/backend/src/online_classroom/json_result.rs
index f19e7f5..78bc211 100644
--- a/backend/src/online_classroom/json_result.rs
+++ b/backend/src/online_classroom/json_result.rs
@@ -13,11 +13,11 @@ pub struct JsonError {
}
impl JsonResult {
- pub fn error(reason: String) -> Json> {
- Json(JsonResult::Error(JsonError { reason }))
- }
-
pub fn ok(data: A) -> Json> {
Json(JsonResult::Ok(data))
}
+
+ pub fn err(reason: String) -> Json> {
+ Json(JsonResult::Error(JsonError { reason }))
+ }
}
diff --git a/backend/src/online_classroom/mod.rs b/backend/src/online_classroom/mod.rs
index 0ff190c..5685b46 100644
--- a/backend/src/online_classroom/mod.rs
+++ b/backend/src/online_classroom/mod.rs
@@ -4,34 +4,17 @@ use reqwest::Client;
use rocket::{http::Status, serde::json::Json};
use serde::{Deserialize, Serialize};
-use self::session::ensure_session;
+use self::{json_result::JsonResult, session::ensure_session};
pub mod json_result;
mod session;
pub mod users;
-
-
-#[derive(Debug, Serialize, Deserialize)]
-pub enum ConnectionResult {
- Ok(),
- Error(ConnectionError),
-}
-#[derive(Debug, Serialize, Deserialize)]
-pub struct ConnectionError {
- reason: String,
-}
-fn new_error(reason: String) -> ConnectionResult {
- ConnectionResult::Error(ConnectionError { reason })
-}
-
/// Tries to connect to the online classroom, and get a session cookie
#[get("/classroom/connect")]
-pub async fn connection() -> (Status, Json) {
+pub async fn connection() -> (Status, Json>) {
match ensure_session().await {
- Ok(_) => (Status::Ok, Json(ConnectionResult::Ok())),
- Err(err) => (Status::Ok, Json(new_error(err))),
+ Ok(_) => (Status::Ok, JsonResult::ok(())),
+ Err(err) => (Status::Ok, JsonResult::err(err)),
}
}
-
-
diff --git a/backend/src/online_classroom/session.rs b/backend/src/online_classroom/session.rs
index d2af07f..310658d 100644
--- a/backend/src/online_classroom/session.rs
+++ b/backend/src/online_classroom/session.rs
@@ -7,11 +7,10 @@ static SESSION_COOKIE: OnceCell = OnceCell::new();
static SESSION_TIME: OnceCell = OnceCell::new();
/// Makes a request to the online classroom, and returns the html string
-pub async fn request(url: String) -> Result {
- todo!()
+pub async fn _request(url: String) -> Result {
+ Ok(url)
}
-
/// Makes sure that the session cookie is set, and that it is valid
pub async fn ensure_session() -> Result<(), String> {
let last_usage_time = match SESSION_TIME.get() {
diff --git a/backend/src/online_classroom/users.rs b/backend/src/online_classroom/users.rs
index 26167ff..d56a9bd 100644
--- a/backend/src/online_classroom/users.rs
+++ b/backend/src/online_classroom/users.rs
@@ -1,6 +1,6 @@
use rocket::{http::Status, serde::json::Json};
-use super::{ json_result::JsonResult};
+use super::json_result::JsonResult;
// Instead of requesting pages and managing session & cookies manually,
// create a wrapper that: