pub struct RoleName {
pub original: String,
pub lowercase: String,
}Expand description
A role name with case-insensitive lookup support.
Stores both the original casing and a lowercase version for efficient case-insensitive operations. Roles represent different user profiles or personas in the Terraphim system, each with specific knowledge domains and search preferences.
Note: Equality is based on both fields, so two instances with different
original casing are not equal. Use as_lowercase() for case-insensitive comparisons.
§Examples
use terraphim_types::RoleName;
let role = RoleName::new("DataScientist");
assert_eq!(role.as_str(), "DataScientist");
assert_eq!(role.as_lowercase(), "datascientist");
// Compare using lowercase for case-insensitive matching
let role2 = RoleName::new("datascientist");
assert_eq!(role.as_lowercase(), role2.as_lowercase());Fields§
§original: StringThe original role name preserving the original casing
lowercase: StringLowercase version for case-insensitive comparisons
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for RoleName
impl<'de> Deserialize<'de> for RoleName
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 JsonSchema for RoleName
impl JsonSchema for RoleName
Source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
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 is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref keyword. Read moreimpl Eq for RoleName
impl StructuralPartialEq for RoleName
Auto Trait Implementations§
impl Freeze for RoleName
impl RefUnwindSafe for RoleName
impl Send for RoleName
impl Sync for RoleName
impl Unpin for RoleName
impl UnwindSafe for RoleName
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