pub struct UplinkDescriptor {
pub id: UplinkId,
pub name: String,
pub platform: String,
pub source: UplinkSource,
pub capabilities: UplinkCapabilities,
pub profile: UplinkProfile,
pub registered_at: DateTime<Utc>,
pub metadata: HashMap<String, String>,
}Expand description
Immutable description of a registered uplink.
Created via the builder pattern — call UplinkDescriptor::builder to
start.
§Trust boundary
The id and registered_at fields are server-assigned (generated in
UplinkDescriptorBuilder::build). This type derives Deserialize
for trusted persistence (e.g. SurrealDB). Do not deserialize from
untrusted sources without post-deserialization validation — a forged id
could allow uplink impersonation.
Fields§
§id: UplinkIdUnique uplink identity.
name: StringHuman-readable name.
platform: StringThe platform this uplink serves (e.g. “discord”, “telegram”, “cli”).
source: UplinkSourceWhere the uplink comes from.
capabilities: UplinkCapabilitiesWhat the uplink can do.
profile: UplinkProfileBehavioural profile.
registered_at: DateTime<Utc>When this uplink was registered.
metadata: HashMap<String, String>Arbitrary key-value metadata.
Implementations§
Trait Implementations§
Source§impl Clone for UplinkDescriptor
impl Clone for UplinkDescriptor
Source§fn clone(&self) -> UplinkDescriptor
fn clone(&self) -> UplinkDescriptor
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for UplinkDescriptor
impl Debug for UplinkDescriptor
Source§impl<'de> Deserialize<'de> for UplinkDescriptor
impl<'de> Deserialize<'de> for UplinkDescriptor
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
Source§impl PartialEq for UplinkDescriptor
impl PartialEq for UplinkDescriptor
Source§impl Serialize for UplinkDescriptor
impl Serialize for UplinkDescriptor
impl Eq for UplinkDescriptor
impl StructuralPartialEq for UplinkDescriptor
Auto Trait Implementations§
impl Freeze for UplinkDescriptor
impl RefUnwindSafe for UplinkDescriptor
impl Send for UplinkDescriptor
impl Sync for UplinkDescriptor
impl Unpin for UplinkDescriptor
impl UnsafeUnpin for UplinkDescriptor
impl UnwindSafe for UplinkDescriptor
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