Fix equality check
All checks were successful
Home Server Merge / Serial Reader (pull_request) Successful in 19m56s
All checks were successful
Home Server Merge / Serial Reader (pull_request) Successful in 19m56s
This commit is contained in:
parent
b21c89c81c
commit
47aab2fc75
1 changed files with 15 additions and 1 deletions
|
@ -44,7 +44,7 @@ impl FromStr for ActionType {
|
|||
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
|
||||
pub struct ActionID(pub(crate) i64);
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Serialize)]
|
||||
#[derive(Debug, Clone, Eq, PartialOrd, Ord, Serialize)]
|
||||
pub struct Action {
|
||||
#[serde(skip)]
|
||||
pub(crate) id: Option<ActionID>,
|
||||
|
@ -70,6 +70,20 @@ impl Action {
|
|||
}
|
||||
}
|
||||
|
||||
impl PartialEq for Action {
|
||||
fn eq(&self, other: &Self) -> bool {
|
||||
let id_comp = match (self.id, other.id) {
|
||||
(Some(self_id), Some(other_id)) => self_id == other_id,
|
||||
_ => true,
|
||||
};
|
||||
|
||||
id_comp
|
||||
&& self.device_id == other.device_id
|
||||
&& self.action_type == other.action_type
|
||||
&& self.parameter == other.parameter
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize)]
|
||||
pub struct ActionSet {
|
||||
actions: Vec<Action>,
|
||||
|
|
Loading…
Reference in a new issue