feat: decrypt all parents details

This commit is contained in:
Sebastian Pravda 2022-12-05 16:07:11 +01:00
parent 617cddd698
commit a453117e89
No known key found for this signature in database
GPG key ID: F3BC84F08EFA3F57

View file

@ -206,7 +206,7 @@ impl EncryptedParentDetails {
) )
} }
pub async fn decrypt(self, priv_key: String) -> Result<ParentDetails, ServiceError> { pub async fn decrypt(&self, priv_key: String) -> Result<ParentDetails, ServiceError> {
let d = tokio::try_join!( let d = tokio::try_join!(
self.name.decrypt(&priv_key), self.name.decrypt(&priv_key),
self.surname.decrypt(&priv_key), self.surname.decrypt(&priv_key),
@ -245,25 +245,30 @@ impl EncryptedApplicationDetails {
recipients: Vec<String>, recipients: Vec<String>,
) -> Result<EncryptedApplicationDetails, ServiceError> { ) -> Result<EncryptedApplicationDetails, ServiceError> {
let candidate = EncryptedCandidateDetails::new(&form.candidate, recipients.clone()).await?; let candidate = EncryptedCandidateDetails::new(&form.candidate, recipients.clone()).await?;
let parent = EncryptedParentDetails::new(&form.parents[0], recipients.clone()).await?; // TODO async let mut enc_parents= vec![];
for parent in form.parents.iter() {
enc_parents.push(
EncryptedParentDetails::new(parent, recipients.clone()).await?
);
}
Ok( Ok(
EncryptedApplicationDetails { EncryptedApplicationDetails {
candidate, candidate,
parents: vec![parent], parents: enc_parents,
} }
) )
} }
pub async fn decrypt(self, priv_key: String) -> Result<ApplicationDetails, ServiceError> { pub async fn decrypt(self, priv_key: String) -> Result<ApplicationDetails, ServiceError> {
/* let (candidate, parent) = tokio::try_join!(
&self.candidate.decrypt(priv_key.clone()),
self.parents[0].decrypt(priv_key),
)?; */
let candidate = self.candidate.decrypt(priv_key.clone()).await?; let candidate = self.candidate.decrypt(priv_key.clone()).await?;
let parent = self.parents[0].clone().decrypt(priv_key).await?; let mut parents = vec![];
for parent in self.parents.iter() {
let dec = parent.decrypt(priv_key.clone()).await?;
parents.push(dec);
}
Ok(ApplicationDetails { Ok(ApplicationDetails {
candidate, candidate,
parents: vec![parent], parents: parents,
}) })
} }
} }