mirror of
https://github.com/nukesor/pueue
synced 2024-10-04 14:59:23 +00:00
update: Use pueue-libs new GroupMessage enum
This commit is contained in:
parent
f069c281a6
commit
b68cc31903
4
Cargo.lock
generated
4
Cargo.lock
generated
|
@ -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",
|
||||
|
|
|
@ -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" }
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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(),
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue