pub struct Mapping {
pub mapping_id: Uuid,
pub edge_id: String,
pub device_type: String,
pub device_id: String,
pub service_type: String,
pub service_target: String,
pub routes: Vec<Route>,
pub feedback: Vec<FeedbackRule>,
pub active: bool,
pub target_candidates: Vec<TargetCandidate>,
pub target_switch_on: Option<String>,
}Expand description
A device-to-service mapping. Mirrors the structure already used by
weave-server’s REST API. edge_id is new; all other fields retain
their existing semantics.
Fields§
§mapping_id: Uuid§edge_id: String§device_type: String§device_id: String§service_type: String§service_target: String§routes: Vec<Route>§feedback: Vec<FeedbackRule>§active: bool§target_candidates: Vec<TargetCandidate>Ordered list of candidate service_target values the edge can cycle
through at runtime. Empty = switching disabled.
target_switch_on: Option<String>Input primitive (snake-case InputType name, e.g. "long_press")
that enters selection mode on the device. None = feature disabled
for this mapping, regardless of target_candidates.
MVP constraint (not enforced in-schema): at most one mapping per
(edge_id, device_id) should set this; the edge router picks the
first encountered if multiple are set.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Mapping
impl<'de> Deserialize<'de> for Mapping
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Mapping
impl RefUnwindSafe for Mapping
impl Send for Mapping
impl Sync for Mapping
impl Unpin for Mapping
impl UnsafeUnpin for Mapping
impl UnwindSafe for Mapping
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more