From 5f1a46747aa2a10e40c42845260a364b0e3b4e27 Mon Sep 17 00:00:00 2001
From: Araozu
Date: Mon, 9 Oct 2023 09:32:02 -0500
Subject: [PATCH] [Classroom][BE] Fixes #8 Fix error setting expiration date
---
backend/src/online_classroom/session.rs | 2 +-
.../update_expiration_date.rs | 6 ++++--
.../ClassroomUserInfo/AccountExpiration.tsx | 19 +++++++++++++++----
3 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/backend/src/online_classroom/session.rs b/backend/src/online_classroom/session.rs
index 104ad1c..4e18217 100644
--- a/backend/src/online_classroom/session.rs
+++ b/backend/src/online_classroom/session.rs
@@ -52,7 +52,7 @@ pub async fn classroom_post_redirect(
match response.text() {
Ok(t) => {
log_html(&t);
- Err(format!("Unexpected response from classroom."))
+ Err(format!("Expected HTTP 302, got other code."))
}
Err(err) => Err(format!("Error getting text from response: {:?}", err)),
}
diff --git a/backend/src/online_classroom/update_expiration_date.rs b/backend/src/online_classroom/update_expiration_date.rs
index 9792d18..735f1f4 100644
--- a/backend/src/online_classroom/update_expiration_date.rs
+++ b/backend/src/online_classroom/update_expiration_date.rs
@@ -68,6 +68,7 @@ pub async fn update_expiration_date(
email.into(),
username.into(),
new_expiration_date,
+ user_id,
protect_token.into(),
)
};
@@ -87,6 +88,7 @@ fn get_body(
email: String,
username: String,
new_expiration_date: String,
+ user_id: i32,
protect_token: String,
) -> String {
format!(
@@ -251,7 +253,7 @@ Content-Disposition: form-data; name="protect_token"
-----------------------------318235432819784070062970146417
Content-Disposition: form-data; name="user_id"
-2140
+{user_id}
-----------------------------318235432819784070062970146417
Content-Disposition: form-data; name="MAX_FILE_SIZE"
@@ -267,7 +269,7 @@ Content-Disposition: form-data; name="picture_crop_image_base_64"
-----------------------------318235432819784070062970146417
Content-Disposition: form-data; name="item_id"
-2140
+{user_id}
-----------------------------318235432819784070062970146417--
"#
)
diff --git a/frontend/src/OnlineClassroom/ClassroomUserInfo/AccountExpiration.tsx b/frontend/src/OnlineClassroom/ClassroomUserInfo/AccountExpiration.tsx
index 6a82f7f..5c32c2c 100644
--- a/frontend/src/OnlineClassroom/ClassroomUserInfo/AccountExpiration.tsx
+++ b/frontend/src/OnlineClassroom/ClassroomUserInfo/AccountExpiration.tsx
@@ -4,14 +4,16 @@ import { LoadingStatus, backend, useLoading, wait } from "../../utils/functions"
import { LoadingIcon } from "../../icons/LoadingIcon";
import { ArrowsClockwiseIcon } from "../../icons/ArrowsClockwiseIcon";
import { JsonResult } from "../../types/JsonResult";
+import { AxiosError } from "axios";
export function AccountExpiration(props: {userId: number}) {
const [expirationDate, setExpirationDate] = createSignal(null); // YYYY-MM-DD
- const {status, setStatus} = useLoading();
+ const {status, setStatus, error, setError} = useLoading();
const loading = createMemo(() => status() === LoadingStatus.Loading);
const loadExpiration = async() => {
+ setError("");
setStatus(LoadingStatus.Loading);
setExpirationDate(null);
if (import.meta.env.DEV) await wait(1500);
@@ -25,10 +27,16 @@ export function AccountExpiration(props: {userId: number}) {
setStatus(LoadingStatus.Ok);
}
})
- .catch((err) => {
+ .catch((err: AxiosError>) => {
console.log(err);
setStatus(LoadingStatus.Error);
+
+ if (err.response?.status === 500) {
+ setError(`Error: ${err?.response?.data?.Error}`);
+ } else {
+ setError("Error estableciendo fecha de expiracion. Revisar consola");
+ }
});
};
@@ -78,7 +86,10 @@ export function AccountExpiration(props: {userId: number}) {
/>
-
+
+
+ {error()}
+