pub struct IdentityReport {
pub checkout: String,
pub facets: Vec<IdentityFacet>,
pub findings: Vec<String>,
}Expand description
The identities of this checkout: one facet per subject, with a standing note about what a reader must not do with them.
use majordomus_cli::capability::builtin::IdentityReport;
use majordomus_cli::session::identities;
let dir = tempfile::tempdir().unwrap();
let report = IdentityReport {
checkout: dir.path().display().to_string(),
facets: identities(dir.path()),
findings: Vec::new(),
};
let subjects: Vec<&str> = report.facets.iter().map(|f| f.subject.as_str()).collect();
assert_eq!(subjects, ["repository", "checkout", "episode", "provider_session"]);Fields§
§checkout: StringThe checkout this answer is about. An absolute path, because this capability is
served to the worker in front of this checkout and never published — the same
exposure rule continuity.state follows and for the same reason (ADR 0014).
facets: Vec<IdentityFacet>One entry per subject, in the order a reader meets them: repository, checkout, episode, provider session.
findings: Vec<String>What a reader should know before comparing any two of these. Empty is not the good case here — the conflation is a property of the stores, not of this checkout — so the standing note is always present.
Trait Implementations§
Source§impl Clone for IdentityReport
impl Clone for IdentityReport
Source§fn clone(&self) -> IdentityReport
fn clone(&self) -> IdentityReport
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 IdentityReport
impl Debug for IdentityReport
Source§impl<'de> Deserialize<'de> for IdentityReport
impl<'de> Deserialize<'de> for IdentityReport
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
impl Eq for IdentityReport
Source§impl JsonSchema for IdentityReport
impl JsonSchema for IdentityReport
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl PartialEq for IdentityReport
impl PartialEq for IdentityReport
Source§fn eq(&self, other: &IdentityReport) -> bool
fn eq(&self, other: &IdentityReport) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for IdentityReport
impl Serialize for IdentityReport
impl StructuralPartialEq for IdentityReport
Auto Trait Implementations§
impl Freeze for IdentityReport
impl RefUnwindSafe for IdentityReport
impl Send for IdentityReport
impl Sync for IdentityReport
impl Unpin for IdentityReport
impl UnsafeUnpin for IdentityReport
impl UnwindSafe for IdentityReport
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.