Skip to content

Commit 8cd9b25

Browse files
committed
Refactor API token update logic and replace make_api_call with make_request
1 parent 431fca2 commit 8cd9b25

File tree

5 files changed

+25
-53
lines changed

5 files changed

+25
-53
lines changed

frontend/src/api/user/api_token/update.rs

Lines changed: 19 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
use std::collections::BTreeMap;
2-
31
use leptos::server_fn::codec::Json;
4-
use models::{api::user::*, rbac::WorkspacePermission};
2+
use models::api::user::*;
3+
use time::Time;
54

65
use crate::prelude::*;
76

@@ -16,43 +15,36 @@ pub async fn update_api_token(
1615
let access_token = BearerToken::from_str(access_token.unwrap().as_str())
1716
.map_err(|_| ServerFnError::WrappedServerError(ErrorType::MalformedAccessToken))?;
1817

19-
let token_id = Uuid::parse_str(token_id.clone().as_str())
20-
.map_err(|_| ServerFnError::WrappedServerError(ErrorType::WrongParameters))?;
21-
22-
let format = format_description!("[year]-[month]-[day]");
18+
let UpdateApiTokenRequest {
19+
name,
20+
permissions,
21+
token_nbf,
22+
token_exp,
23+
allowed_ips,
24+
} = update_token_body;
2325

2426
let token_nbf = token_nbf
2527
.map(|nbf| {
26-
let date = Date::parse(nbf.as_str(), &format).map_err(|er| {
27-
logging::log!("{:#?}", er);
28-
ServerFnError::WrappedServerError(ErrorType::WrongParameters)
29-
})?;
30-
31-
Ok::<OffsetDateTime, ServerFnError<ErrorType>>(
32-
datetime!(2020-01-01 0:00 UTC).replace_date(date),
33-
)
28+
Time::from_hms(0, 0, 0)
29+
.map(|time| nbf.replace_time(time))
30+
.map_err(|_| ServerFnError::WrappedServerError(ErrorType::WrongParameters))
3431
})
3532
.transpose()?;
3633

3734
let token_exp = token_exp
38-
.map(|exp| {
39-
let date = Date::parse(exp.as_str(), &format).map_err(|er| {
40-
logging::log!("{:#?}", er);
41-
ServerFnError::WrappedServerError(ErrorType::WrongParameters)
42-
})?;
43-
44-
Ok::<OffsetDateTime, ServerFnError<ErrorType>>(
45-
datetime!(2020-01-01 0:00 UTC).replace_date(date),
46-
)
35+
.map(|nbf| {
36+
Time::from_hms(0, 0, 0)
37+
.map(|time| nbf.replace_time(time))
38+
.map_err(|_| ServerFnError::WrappedServerError(ErrorType::WrongParameters))
4739
})
4840
.transpose()?;
4941

5042
let update_request_body = UpdateApiTokenRequest {
51-
name: token_name,
43+
name,
5244
token_exp,
5345
token_nbf,
5446
permissions,
55-
allowed_ips: None,
47+
allowed_ips,
5648
};
5749

5850
make_request::<UpdateApiTokenRequest>(
@@ -63,7 +55,7 @@ pub async fn update_api_token(
6355
authorization: access_token,
6456
user_agent: UserAgent::from_str("hyper/0.12.2").unwrap(),
6557
})
66-
.body(update_token_body)
58+
.body(update_request_body)
6759
.build(),
6860
)
6961
.await

frontend/src/api/workspace/deployment/stream_logs.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ pub async fn stream_deployment_logs(
2020
let _workspace_id = workspace_id
2121
.ok_or_else(|| ServerFnError::WrappedServerError(ErrorType::WrongParameters))?;
2222

23-
// let x = make_api_call::<StreamDeploymentLogsRequest>(
23+
// let x = make_request::<StreamDeploymentLogsRequest>(
2424
// ApiRequest::builder()
2525
// .path(StreamDeploymentLogsPath {
2626
// deployment_id,

frontend/src/pages/auth/login.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ pub async fn login(
1818
let LoginResponse {
1919
access_token,
2020
refresh_token,
21-
} = make_api_call::<LoginRequest>(
21+
} = make_request::<LoginRequest>(
2222
ApiRequest::builder()
2323
.path(LoginPath)
2424
.query(())
@@ -35,7 +35,7 @@ pub async fn login(
3535
.await?
3636
.body;
3737

38-
let workspaces = make_api_call::<ListUserWorkspacesRequest>(
38+
let workspaces = make_request::<ListUserWorkspacesRequest>(
3939
ApiRequest::builder()
4040
.path(ListUserWorkspacesPath)
4141
.query(())

frontend/src/pages/auth/sign_up.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ pub async fn sign_up(
1313
username: String,
1414
password: String,
1515
) -> Result<(), ServerFnError<ErrorType>> {
16-
make_api_call::<CreateAccountRequest>(
16+
make_request::<CreateAccountRequest>(
1717
ApiRequest::builder()
1818
.path(CreateAccountPath)
1919
.query(())
@@ -80,7 +80,7 @@ pub fn SignUpForm(
8080
// }
8181

8282
// let Ok(IsEmailValidResponse { available }) =
83-
// make_api_call::<IsEmailValidRequest>( ApiRequest::builder()
83+
// make_request::<IsEmailValidRequest>( ApiRequest::builder()
8484
// .path(IsEmailValidPath)
8585
// .query(IsEmailValidQuery { email })
8686
// .headers(IsEmailValidRequestHeaders {
@@ -121,7 +121,7 @@ pub fn SignUpForm(
121121
// }
122122

123123
// let Ok(IsUsernameValidResponse { available }) =
124-
// make_api_call::<IsUsernameValidRequest>(
124+
// make_request::<IsUsernameValidRequest>(
125125
// ApiRequest::builder()
126126
// .path(IsUsernameValidPath)
127127
// .query(IsUsernameValidQuery { username })

frontend/src/utils/ext_traits.rs

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -54,23 +54,3 @@ where
5454
Signal::derive(move || f(self.get()))
5555
}
5656
}
57-
58-
/// A trait to extend the [`String`] type with some useful methods that are not
59-
/// available in the standard library. This is useful for adding utility methods
60-
/// to the [`String`] type without polluting the global namespace.
61-
pub trait StringExt {
62-
/// Wraps the [`String`] into an option depending on whether it's empty
63-
/// Returns [`None`] if string is empty otherwise returns the string wrapped
64-
/// in a [`Some()`]
65-
fn some_if_not_empty(self) -> Option<String>;
66-
}
67-
68-
impl StringExt for String {
69-
fn some_if_not_empty(self) -> Option<String> {
70-
if self.is_empty() {
71-
None
72-
} else {
73-
Some(self)
74-
}
75-
}
76-
}

0 commit comments

Comments
 (0)