pub struct ResolvedPrincipal {
pub subject: String,
pub display_name: String,
pub handle: String,
pub resolved: bool,
pub primary_handle: String,
pub kind: String,
pub verified: bool,
pub discriminator: String,
}Fields§
§subject: StringEcho of the requested subject (the join key for the caller).
display_name: StringHuman display name; empty when unresolved.
handle: StringUsername / handle; empty when unresolved.
resolved: boolFalse when the subject couldn’t be resolved (display_name + handle empty).
primary_handle: StringThe primary handle’s canonical textual form — the single token that is
BOTH the authoritative text AND the URL path segment: gh:torvalds
(GitHub), gitlab.example.com:torvalds (host-qualified GitLab), or the
bare native name torvalds. Empty when unresolved.
kind: StringHandle kind for the primary handle: “native” | “github” | “gitlab”.
Mirrors the weft handles.kind column. Empty when unresolved.
verified: boolTrue when the primary handle is provider-verified (OAuth-verified, or a future git proof). Native self-asserted handles are false.
discriminator: StringShort subject-derived discriminator for an UNVERIFIED native handle,
rendered Signal-style as torvalds·a3f9 in trust-sensitive contexts.
Empty for verified identities (they render bare). F0b computes it.
Trait Implementations§
Source§impl Clone for ResolvedPrincipal
impl Clone for ResolvedPrincipal
Source§fn clone(&self) -> ResolvedPrincipal
fn clone(&self) -> ResolvedPrincipal
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ResolvedPrincipal
impl Debug for ResolvedPrincipal
Source§impl Default for ResolvedPrincipal
impl Default for ResolvedPrincipal
impl Eq for ResolvedPrincipal
Source§impl Hash for ResolvedPrincipal
impl Hash for ResolvedPrincipal
Source§impl Message for ResolvedPrincipal
impl Message for ResolvedPrincipal
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.