Skip to content

Commit 5185b74

Browse files
authored
Merge pull request #28 from enaut/prepare-v4.11
Prepare v4.11
2 parents 546e053 + 403d6c9 commit 5185b74

File tree

10 files changed

+42
-32
lines changed

10 files changed

+42
-32
lines changed

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
with:
2020
version: 'latest'
2121
- uses: actions/checkout@v2
22-
- uses: actions/cache@v2
22+
- uses: actions/cache@v4
2323
with:
2424
path: |
2525
~/.cargo/bin/

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
[workspace]
22
members = ["shared", "locales", "pslink", "app", "locales"]
3+
resolver = "2"
34

45
[profile]
56
[profile.release]

app/Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ keywords = ["url", "link", "webpage", "actix", "web"]
1313
license = "MIT OR Apache-2.0"
1414
readme = "README.md"
1515
repository = "https://github.com/enaut/pslink/"
16-
version = "0.4.9"
16+
version = "0.4.11"
1717

1818
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
1919

@@ -40,6 +40,7 @@ web-sys = { version = "0.3", features = [
4040
"IntersectionObserverEntry",
4141
"IntersectionObserverInit",
4242
] }
43+
uuid = { version = "1.13", features = ["v4", "js"] }
4344

4445

4546
pslink-shared = { version = "0.4", path = "../shared" }

app/src/pages/list_links.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ enum Dialog {
105105
link_delta: LinkDelta,
106106
qr: Loadable<QrGuard>,
107107
},
108-
Message(Status),
108+
Message(Status<Message>),
109109
Question(EditMsg),
110110
None,
111111
}
@@ -185,7 +185,7 @@ pub enum EditMsg {
185185
GenerateQr(String),
186186
QrGenerated(Loadable<QrGuard>),
187187
CreateNewLink,
188-
Created(Status),
188+
Created(Status<Message>),
189189
EditCodeChanged(String),
190190
EditDescriptionChanged(String),
191191
EditTargetChanged(String),
@@ -194,7 +194,7 @@ pub enum EditMsg {
194194
SaveLink,
195195
FailedToCreateLink,
196196
FailedToDeleteLink,
197-
DeletedLink(Status),
197+
DeletedLink(Status<Message>),
198198
}
199199

200200
/// hide all dialogs
@@ -335,7 +335,7 @@ pub fn process_query_messages(msg: QueryMsg, model: &mut Model, orders: &mut imp
335335
}
336336
QueryMsg::GetStatistics(link_id) => {
337337
orders.skip(); // No need to rerender
338-
request_statistics(orders, link_id);
338+
//request_statistics(orders, link_id);
339339
}
340340
QueryMsg::ReceivedStatistics(statistics) => {
341341
for i in 1..model.links.len() {
@@ -603,7 +603,7 @@ fn save_link(link_delta: LinkDelta, orders: &mut impl Orders<Msg>) {
603603
Msg::SetMessage("Failed to save link (await)".into())
604604
);
605605
if response.ok() {
606-
let message: Status = unwrap_or_return!(
606+
let message: Status<Message> = unwrap_or_return!(
607607
response.json().await,
608608
Msg::SetMessage("Failed to save link (parse)".into())
609609
);
@@ -627,7 +627,7 @@ fn delete_link(link_delta: LinkDelta, orders: &mut impl Orders<Msg>) {
627627
Msg::SetMessage("Failed to delete link (await)".into())
628628
);
629629
if response.ok() {
630-
let message: Status = unwrap_or_return!(
630+
let message: Status<Message> = unwrap_or_return!(
631631
response.json().await,
632632
Msg::SetMessage("Failed to delete link (parse)".into())
633633
);

app/src/pages/list_users.rs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@ use enum_map::EnumMap;
55
use gloo_console::log;
66
use gloo_net::http::Request;
77
use pslink_shared::{
8-
apirequests::general::{Operation, Ordering},
98
apirequests::{
10-
general::{EditMode, Status},
9+
general::{EditMode, Message, Operation, Ordering, Status},
1110
users::{Role, UserDelta, UserOverviewColumns, UserRequestForm},
1211
},
1312
datatypes::{Lang, User},
@@ -39,7 +38,7 @@ pub struct Model {
3938
formconfig: UserRequestForm,
4039
inputs: EnumMap<UserOverviewColumns, FilterInput>,
4140
user_edit: Option<UserDelta>,
42-
last_message: Option<Status>,
41+
last_message: Option<Status<Message>>,
4342
}
4443

4544
impl Model {
@@ -87,7 +86,7 @@ pub enum UserQueryMsg {
8786
pub enum UserEditMsg {
8887
EditUserSelected(UserDelta),
8988
CreateNewUser,
90-
UserCreated(Status),
89+
UserCreated(Status<Message>),
9190
EditUsernameChanged(String),
9291
EditEmailChanged(String),
9392
EditPasswordChanged(String),
@@ -274,7 +273,7 @@ fn update_privileges(user: UserDelta, orders: &mut impl Orders<Msg>) {
274273
Msg::Edit(UserEditMsg::FailedToCreateUser)
275274
} else {
276275
// deserialize the response
277-
let message: Status = unwrap_or_return!(
276+
let message: Status<Message> = unwrap_or_return!(
278277
response.json().await,
279278
Msg::Edit(UserEditMsg::FailedToCreateUser)
280279
);
@@ -303,7 +302,7 @@ fn save_user(user: UserDelta, orders: &mut impl Orders<Msg>) {
303302
Msg::Edit(UserEditMsg::FailedToCreateUser)
304303
} else {
305304
// deserialize the response
306-
let message: Status = unwrap_or_return!(
305+
let message: Status<Message> = unwrap_or_return!(
307306
response.json().await,
308307
Msg::Edit(UserEditMsg::FailedToCreateUser)
309308
);

locales/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ keywords = ["url", "link", "webpage", "actix", "web"]
1313
license = "MIT OR Apache-2.0"
1414
readme = "README.md"
1515
repository = "https://github.com/enaut/pslink/"
16-
version = "0.4.9"
16+
version = "0.4.11"
1717

1818
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
1919

pslink/Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ license = "MIT OR Apache-2.0"
1414
name = "pslink"
1515
readme = "README.md"
1616
repository = "https://github.com/enaut/pslink/"
17-
version = "0.4.9"
17+
version = "0.4.11"
1818
[build-dependencies]
1919
actix-web-static-files = "4.0"
2020
static-files = "0.2"
@@ -46,6 +46,7 @@ serde = { version = "1.0", features = ["derive"] }
4646
static-files = { version = "0.2", default-features = false }
4747
thiserror = "2"
4848
tracing-actix-web = "0.7"
49+
uuid = { version = "1.13", features = ["v4"] }
4950
tracing-opentelemetry = "0.28"
5051
async-trait = "0.1"
5152
enum-map = { version = "2.7", features = ["serde"] }

pslink/src/views.rs

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -282,9 +282,11 @@ pub async fn process_login_json(
282282
Ok(h) => h,
283283
Err(e) => {
284284
info!("Failed to parse password hash for {}: {}", &u.username, e);
285-
return Ok(HttpResponse::Unauthorized().json(Status::Error(Message {
286-
message: "Failed to Login".to_string(),
287-
})));
285+
return Ok(HttpResponse::Unauthorized().json(Status::Error::<Message>(
286+
Message {
287+
message: "Failed to Login".to_string(),
288+
},
289+
)));
288290
}
289291
};
290292
match argon2::Argon2::new_with_secret(
@@ -302,29 +304,35 @@ pub async fn process_login_json(
302304
match Identity::login(&request.extensions(), session_token) {
303305
Ok(_) => {
304306
info!("Logged in user: {}", &u.username);
305-
return Ok(HttpResponse::Ok().json(&u));
307+
return Ok(HttpResponse::Ok().json(Status::Success(&u)));
306308
}
307309
Err(e) => {
308310
info!("Failed to login: {}", e);
309-
return Ok(HttpResponse::Unauthorized().json(Status::Error(Message {
310-
message: "Failed to Login".to_string(),
311-
})));
311+
return Ok(HttpResponse::Unauthorized().json(
312+
Status::Error::<Message>(Message {
313+
message: "Failed to Login".to_string(),
314+
}),
315+
));
312316
}
313317
}
314318
}
315319
Err(e) => {
316320
info!("Failed to login: {}", e);
317-
return Ok(HttpResponse::Unauthorized().json(Status::Error(Message {
318-
message: "Failed to Login".to_string(),
319-
})));
321+
return Ok(HttpResponse::Unauthorized().json(Status::Error::<Message>(
322+
Message {
323+
message: "Failed to Login".to_string(),
324+
},
325+
)));
320326
}
321327
}
322328
}
323329
Err(e) => {
324330
info!("Failed to login: {}", e);
325-
Ok(HttpResponse::Unauthorized().json(Status::Error(Message {
326-
message: "Failed to Login".to_string(),
327-
})))
331+
Ok(
332+
HttpResponse::Unauthorized().json(Status::Error::<Message>(Message {
333+
message: "Failed to Login".to_string(),
334+
})),
335+
)
328336
}
329337
}
330338
}

shared/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ license = "MIT OR Apache-2.0"
1313
name = "pslink-shared"
1414
readme = "../pslink/README.md"
1515
repository = "https://github.com/enaut/pslink/"
16-
version = "0.4.9"
16+
version = "0.4.11"
1717

1818
[dependencies]
1919
serde = { version = "1.0", features = ["derive"] }

shared/src/apirequests/general.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ pub struct Message {
5151

5252
/// Send a message on success and also one on error.
5353
#[derive(Clone, Deserialize, Serialize, Debug)]
54-
pub enum Status {
55-
Success(Message),
54+
pub enum Status<T> {
55+
Success(T),
5656
Error(Message),
5757
}

0 commit comments

Comments
 (0)