MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / to_identity

Method to_identity

atomic-identity/src/store.rs:163–191  ·  view source on GitHub ↗

Convert to an Identity.

(&self)

Source from the content-addressed store, hash-verified

161
162 /// Convert to an Identity.
163 fn to_identity(&self) -> Result<Identity, IdentityError> {
164 let public_key = PublicKey::from_base32(&self.public_key)?;
165 let id = IdentityId::from_public_key(&public_key);
166
167 let identity_type = match self.identity_type.as_str() {
168 "user" => crate::identity::IdentityType::User,
169 "agent" => crate::identity::IdentityType::Agent,
170 "delegated" => crate::identity::IdentityType::Delegated,
171 _ => crate::identity::IdentityType::User,
172 };
173
174 let usage = IdentityUsage::parse(&self.usage);
175
176 let delegated_by = self
177 .delegated_by
178 .as_ref()
179 .and_then(|s| IdentityId::from_base32(s).ok());
180
181 Ok(Identity {
182 id,
183 name: self.name.clone(),
184 email: self.email.clone(),
185 public_key,
186 identity_type,
187 usage,
188 metadata: self.metadata.clone(),
189 delegated_by,
190 })
191 }
192}
193
194/// Encrypted secret key storage.

Callers 3

load_with_optionsMethod · 0.80
load_by_nameMethod · 0.80
list_filteredMethod · 0.80

Calls 3

as_refMethod · 0.80
as_strMethod · 0.45
cloneMethod · 0.45

Tested by

no test coverage detected