Implement structured Android entry viewer (#99)
This commit is contained in:
1 parent
647dc1bb4b
commit
c0ba6d43d8
29 files changed
+1768
-78
No files matched your search
@@ -1006,6 +1006,7 @@ pub struct MobileEntrySection {
|
||||
#[derive(Clone, uniffi::Record)]
|
||||
pub struct MobileEntryPage {
|
||||
pub id: String,
|
||||
pub revision: String,
|
||||
pub title: String,
|
||||
pub sections: Vec<MobileEntrySection>,
|
||||
}
|
||||
@@ -1014,6 +1015,7 @@ impl From<StorageEntryPage> for MobileEntryPage {
|
||||
fn from(page: StorageEntryPage) -> Self {
|
||||
Self {
|
||||
id: page.id().to_owned(),
|
||||
revision: page.revision().to_owned(),
|
||||
title: page.title().to_owned(),
|
||||
sections: page
|
||||
.sections()
|
||||
@@ -1221,6 +1223,7 @@ pub struct MobileTotpDetail {
|
||||
pub account: String,
|
||||
pub code: String,
|
||||
pub valid_until: u64,
|
||||
pub remaining_seconds: u64,
|
||||
pub period: u64,
|
||||
#[cfg(feature = "watch")]
|
||||
pub shared_with_watch: bool,
|
||||
@@ -1237,6 +1240,7 @@ impl From<StorageTotpDetail> for MobileTotpDetail {
|
||||
code: String::from_utf8(detail.code().expose().to_vec())
|
||||
.expect("storage-generated TOTP codes are ASCII"),
|
||||
valid_until: detail.valid_until(),
|
||||
remaining_seconds: detail.remaining_seconds(),
|
||||
period: detail.period(),
|
||||
#[cfg(feature = "watch")]
|
||||
shared_with_watch: detail.shared_with_watch(),
|
||||
@@ -1831,6 +1835,78 @@ impl MobileAuthentication {
|
||||
.map_err(Into::into)
|
||||
}
|
||||
|
||||
pub fn reveal_presented_entry_field(
|
||||
&self,
|
||||
path: String,
|
||||
field_id: u64,
|
||||
revision: String,
|
||||
) -> Result<String, MobileAuthenticationFfiError> {
|
||||
self.authentication
|
||||
.reveal_presented_entry_field(&path, field_id, &revision)
|
||||
.map_err(Into::into)
|
||||
}
|
||||
|
||||
pub fn copy_presented_entry_field(
|
||||
&self,
|
||||
path: String,
|
||||
field_id: u64,
|
||||
revision: String,
|
||||
) -> Result<MobileEntryCopy, MobileAuthenticationFfiError> {
|
||||
self.authentication
|
||||
.copy_presented_entry_field(&path, field_id, &revision)
|
||||
.map(Into::into)
|
||||
.map_err(Into::into)
|
||||
}
|
||||
|
||||
pub fn replace_presented_entry_field(
|
||||
&self,
|
||||
path: String,
|
||||
field_id: u64,
|
||||
revision: String,
|
||||
value: String,
|
||||
) -> Result<MobileEntryPage, MobileAuthenticationFfiError> {
|
||||
self.authentication
|
||||
.replace_presented_entry_field(&path, field_id, &revision, value)
|
||||
.map(Into::into)
|
||||
.map_err(Into::into)
|
||||
}
|
||||
|
||||
pub fn refresh_entry_presentation(
|
||||
&self,
|
||||
path: String,
|
||||
revision: String,
|
||||
unix_seconds: u64,
|
||||
) -> Result<MobileEntryPresentation, MobileAuthenticationFfiError> {
|
||||
self.authentication
|
||||
.refresh_entry_presentation(&path, &revision, unix_seconds)
|
||||
.map(Into::into)
|
||||
.map_err(Into::into)
|
||||
}
|
||||
|
||||
pub fn copy_presented_totp_code(
|
||||
&self,
|
||||
path: String,
|
||||
revision: String,
|
||||
unix_seconds: u64,
|
||||
) -> Result<MobileEntryCopy, MobileAuthenticationFfiError> {
|
||||
self.authentication
|
||||
.copy_presented_totp_code(&path, &revision, unix_seconds)
|
||||
.map(Into::into)
|
||||
.map_err(Into::into)
|
||||
}
|
||||
|
||||
pub fn prepare_presented_entry_mutation(
|
||||
&self,
|
||||
path: String,
|
||||
revision: String,
|
||||
action: MobileMutationAction,
|
||||
) -> Result<MobileMutationPlan, MobileAuthenticationFfiError> {
|
||||
self.authentication
|
||||
.prepare_presented_entry_mutation(&path, &revision, action.into())
|
||||
.map(Into::into)
|
||||
.map_err(Into::into)
|
||||
}
|
||||
|
||||
pub fn copy_entry_field(
|
||||
&self,
|
||||
path: String,
|
||||
|
||||
Reference in new issue
Block a user