update: Use pueue-libs new GroupMessage enum

This commit is contained in:
Arne Beer 2021-07-23 13:20:14 +02:00
parent f069c281a6
commit b68cc31903
No known key found for this signature in database
GPG key ID: CC9408F679023B65
4 changed files with 53 additions and 49 deletions

4
Cargo.lock generated
View file

@ -1300,9 +1300,9 @@ dependencies = [
[[package]]
name = "pueue-lib"
version = "0.17.2"
version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "921bdc4d984f20492063b23c482cd090f88922e4aca9fd3751362e8620003c84"
checksum = "270bc7e5aac11e67289461b434e565789245494a43f2e41bc4a6393787f29783"
dependencies = [
"async-std",
"async-tls",

View file

@ -30,7 +30,7 @@ name = "pueued"
path = "daemon/main.rs"
[dependencies]
pueue-lib = "0.17.2"
pueue-lib = "0.18.0"
#pueue-lib = { git = "https://github.com/Nukesor/pueue-lib", branch = "master" }
#pueue-lib = { path = "../../libraries/pueue-lib" }

View file

@ -435,11 +435,13 @@ impl Client {
Ok(Message::Send(message))
}
SubCommand::Group { add, remove } => {
let message = GroupMessage {
add: add.clone(),
remove: remove.clone(),
};
Ok(Message::Group(message))
if let Some(group) = add {
Ok(Message::Group(GroupMessage::Add(group.clone())))
} else if let Some(group) = remove {
Ok(Message::Group(GroupMessage::Remove(group.clone())))
} else {
Ok(Message::Group(GroupMessage::List))
}
}
SubCommand::Status { .. } => Ok(Message::Status),
SubCommand::Log {

View file

@ -15,50 +15,52 @@ use crate::ok_or_return_failure_message;
pub fn group(message: GroupMessage, state: &SharedState) -> Message {
let mut state = state.lock().unwrap();
// Create a new group.
if let Some(group) = message.add {
if state.groups.contains_key(&group) {
return create_failure_message(format!("Group \"{}\" already exists", group));
match message {
GroupMessage::List => {
// Return information about all groups to the client.
Message::GroupResponse(GroupResponseMessage {
groups: state.groups.clone(),
settings: state.settings.daemon.groups.clone(),
})
}
state.create_group(&group);
GroupMessage::Add(group) => {
if state.groups.contains_key(&group) {
return create_failure_message(format!("Group \"{}\" already exists", group));
}
state.create_group(&group);
// Save the state and the settings file.
ok_or_return_failure_message!(save_state(&state));
if let Err(error) = save_settings(&state) {
return create_failure_message(format!(
"Failed while saving the config file: {}",
error
));
// Save the state and the settings file.
ok_or_return_failure_message!(save_state(&state));
if let Err(error) = save_settings(&state) {
return create_failure_message(format!(
"Failed while saving the config file: {}",
error
));
}
create_success_message(format!("Group \"{}\" created", group))
}
return create_success_message(format!("Group \"{}\" created", group));
// Remove an existing group.
GroupMessage::Remove(group) => {
if let Err(message) = ensure_group_exists(&state, &group) {
return message;
}
if let Err(error) = state.remove_group(&group) {
return create_failure_message(format!("{}", error));
}
// Save the state and the settings file.
ok_or_return_failure_message!(save_state(&state));
if let Err(error) = save_settings(&state) {
return create_failure_message(format!(
"Failed while saving the config file: {}",
error
));
}
create_success_message(format!("Group \"{}\" removed", group))
}
}
// Remove an existing group.
if let Some(group) = message.remove {
if let Err(message) = ensure_group_exists(&state, &group) {
return message;
}
if let Err(error) = state.remove_group(&group) {
return create_failure_message(format!("{}", error));
}
// Save the state and the settings file.
ok_or_return_failure_message!(save_state(&state));
if let Err(error) = save_settings(&state) {
return create_failure_message(format!(
"Failed while saving the config file: {}",
error
));
}
return create_success_message(format!("Group \"{}\" removed", group));
}
// Return information about all groups to the client.
Message::GroupResponse(GroupResponseMessage {
groups: state.groups.clone(),
settings: state.settings.daemon.groups.clone(),
})
}