Fix equality check
All checks were successful
Home Server Merge / Serial Reader (pull_request) Successful in 19m56s

This commit is contained in:
hodasemi 2023-10-30 06:49:59 +01:00
parent b21c89c81c
commit 47aab2fc75

View file

@ -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>,