From 816dde7367326640197bfa45dbc6e4d571cfd812 Mon Sep 17 00:00:00 2001 From: muji Date: Mon, 27 Nov 2023 14:00:01 +0800 Subject: [PATCH] Move search module inside account module. --- Cargo.lock | 13 +++++++++---- src/commands/secret.rs | 3 +-- src/helpers/secret.rs | 2 +- tests/integration/account_manager.rs | 2 +- workspace/migrate/src/import/csv/bitwarden.rs | 2 +- workspace/migrate/src/import/csv/chrome.rs | 2 +- workspace/migrate/src/import/csv/dashlane.rs | 2 +- workspace/migrate/src/import/csv/firefox.rs | 2 +- workspace/migrate/src/import/csv/macos.rs | 2 +- workspace/migrate/src/import/csv/mod.rs | 2 +- workspace/migrate/src/import/csv/one_password.rs | 2 +- workspace/migrate/src/import/keychain/mod.rs | 2 +- workspace/net/src/client/account/user_storage.rs | 3 +-- workspace/sdk/Cargo.toml | 2 +- workspace/sdk/src/account/account.rs | 4 ++-- workspace/sdk/src/account/archive/backup.rs | 2 +- workspace/sdk/src/account/identity.rs | 2 +- workspace/sdk/src/account/login.rs | 5 +++-- workspace/sdk/src/account/provider.rs | 2 +- .../sdk/src/{search.rs => account/search/index.rs} | 0 .../sdk/src/account/{search.rs => search/mod.rs} | 6 +++--- workspace/sdk/src/lib.rs | 1 - workspace/sdk/src/prelude.rs | 1 - workspace/sdk/src/vault/gatekeeper.rs | 2 +- 24 files changed, 34 insertions(+), 32 deletions(-) rename workspace/sdk/src/{search.rs => account/search/index.rs} (100%) rename workspace/sdk/src/account/{search.rs => search/mod.rs} (99%) diff --git a/Cargo.lock b/Cargo.lock index 796e780082..ea48d51306 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4081,7 +4081,7 @@ dependencies = [ "sha1", "sha2", "sha3", - "sos-vfs 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sos-vfs 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "subtle", "tempfile", "thiserror", @@ -4105,7 +4105,7 @@ dependencies = [ [[package]] name = "sos-vfs" -version = "0.1.0" +version = "0.2.0" dependencies = [ "async-recursion", "bitflags 1.3.2", @@ -4117,10 +4117,15 @@ dependencies = [ [[package]] name = "sos-vfs" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "526fc024c0ede36f4a7d37e6fee8b1a97e975304758a9b12db2bfa20f10ff4c9" +checksum = "b891740caa6a0508a116fff27a58a2701fa245b393ba1a9f3bf0449ebde6265a" dependencies = [ + "async-recursion", + "bitflags 1.3.2", + "futures", + "once_cell", + "parking_lot", "tokio", ] diff --git a/src/commands/secret.rs b/src/commands/secret.rs index 6bb6e907e5..c091fe042a 100644 --- a/src/commands/secret.rs +++ b/src/commands/secret.rs @@ -7,10 +7,9 @@ use terminal_banner::{Banner, Padding}; use sos_net::sdk::{ account::{ - search::{ArchiveFilter, DocumentView}, + search::{ArchiveFilter, DocumentView, Document}, AccountRef, }, - search::Document, vault::{ secret::{Secret, SecretId, SecretMeta, SecretRef, SecretRow}, Summary, VaultRef, diff --git a/src/helpers/secret.rs b/src/helpers/secret.rs index 65e6abad4c..05ccc4a98b 100644 --- a/src/helpers/secret.rs +++ b/src/helpers/secret.rs @@ -10,7 +10,7 @@ use terminal_banner::{Banner, Padding}; use secrecy::{ExposeSecret, SecretString}; use sos_net::sdk::{ hex, - search::Document, + account::search::Document, secrecy, url::Url, vault::{ diff --git a/tests/integration/account_manager.rs b/tests/integration/account_manager.rs index 95e92bbdf9..b31cf3a90a 100644 --- a/tests/integration/account_manager.rs +++ b/tests/integration/account_manager.rs @@ -8,10 +8,10 @@ use sos_net::sdk::{ files::FileStorage, Account, DelegatedPassphrase, AccountsList, LocalProvider, + search::SearchIndex, }, hex, passwd::diceware::generate_passphrase, - search::SearchIndex, vault::{secret::SecretId, Gatekeeper, VaultId}, vfs, }; diff --git a/workspace/migrate/src/import/csv/bitwarden.rs b/workspace/migrate/src/import/csv/bitwarden.rs index ec8bb336e5..d96b28935a 100644 --- a/workspace/migrate/src/import/csv/bitwarden.rs +++ b/workspace/migrate/src/import/csv/bitwarden.rs @@ -149,7 +149,7 @@ mod test { use sos_sdk::{ passwd::diceware::generate_passphrase, - search::SearchIndex, + account::search::SearchIndex, vault::{Gatekeeper, VaultBuilder}, }; use std::sync::Arc; diff --git a/workspace/migrate/src/import/csv/chrome.rs b/workspace/migrate/src/import/csv/chrome.rs index 1e3ca92da6..fcb54d2923 100644 --- a/workspace/migrate/src/import/csv/chrome.rs +++ b/workspace/migrate/src/import/csv/chrome.rs @@ -99,7 +99,7 @@ mod test { use sos_sdk::{ passwd::diceware::generate_passphrase, - search::SearchIndex, + account::search::SearchIndex, vault::{Gatekeeper, VaultBuilder}, }; use std::sync::Arc; diff --git a/workspace/migrate/src/import/csv/dashlane.rs b/workspace/migrate/src/import/csv/dashlane.rs index 6c991fde50..9364bc8a84 100644 --- a/workspace/migrate/src/import/csv/dashlane.rs +++ b/workspace/migrate/src/import/csv/dashlane.rs @@ -662,7 +662,7 @@ mod test { use sos_sdk::{ passwd::diceware::generate_passphrase, - search::SearchIndex, + account::search::SearchIndex, vault::{secret::Secret, Gatekeeper, VaultBuilder}, }; use std::sync::Arc; diff --git a/workspace/migrate/src/import/csv/firefox.rs b/workspace/migrate/src/import/csv/firefox.rs index b08f3469ab..7012bd1d80 100644 --- a/workspace/migrate/src/import/csv/firefox.rs +++ b/workspace/migrate/src/import/csv/firefox.rs @@ -105,7 +105,7 @@ mod test { use sos_sdk::{ passwd::diceware::generate_passphrase, - search::SearchIndex, + account::search::SearchIndex, vault::{Gatekeeper, VaultBuilder}, }; use std::sync::Arc; diff --git a/workspace/migrate/src/import/csv/macos.rs b/workspace/migrate/src/import/csv/macos.rs index bc06d672fc..03c4c20acb 100644 --- a/workspace/migrate/src/import/csv/macos.rs +++ b/workspace/migrate/src/import/csv/macos.rs @@ -107,7 +107,7 @@ mod test { use sos_sdk::{ passwd::diceware::generate_passphrase, - search::SearchIndex, + account::search::SearchIndex, vault::{Gatekeeper, VaultBuilder}, }; use std::sync::Arc; diff --git a/workspace/migrate/src/import/csv/mod.rs b/workspace/migrate/src/import/csv/mod.rs index dabb6a6f8a..208a3fc487 100644 --- a/workspace/migrate/src/import/csv/mod.rs +++ b/workspace/migrate/src/import/csv/mod.rs @@ -18,8 +18,8 @@ use url::Url; use vcard4::Vcard; use sos_sdk::{ + account::search::SearchIndex, crypto::AccessKey, - search::SearchIndex, vault::{ secret::{IdentityKind, Secret, SecretMeta}, Gatekeeper, Vault, diff --git a/workspace/migrate/src/import/csv/one_password.rs b/workspace/migrate/src/import/csv/one_password.rs index a6c7acfa43..c6cd23cf96 100644 --- a/workspace/migrate/src/import/csv/one_password.rs +++ b/workspace/migrate/src/import/csv/one_password.rs @@ -168,7 +168,7 @@ mod test { use sos_sdk::{ passwd::diceware::generate_passphrase, - search::SearchIndex, + account::search::SearchIndex, vault::{Gatekeeper, VaultBuilder}, }; use std::sync::Arc; diff --git a/workspace/migrate/src/import/keychain/mod.rs b/workspace/migrate/src/import/keychain/mod.rs index b922b2a697..29cf01fca7 100644 --- a/workspace/migrate/src/import/keychain/mod.rs +++ b/workspace/migrate/src/import/keychain/mod.rs @@ -20,8 +20,8 @@ use std::{ }; use sos_sdk::{ + account::search::SearchIndex, crypto::AccessKey, - search::SearchIndex, vault::{ secret::{Secret, SecretMeta}, Gatekeeper, Vault, diff --git a/workspace/net/src/client/account/user_storage.rs b/workspace/net/src/client/account/user_storage.rs index 9955543081..880bc0c030 100644 --- a/workspace/net/src/client/account/user_storage.rs +++ b/workspace/net/src/client/account/user_storage.rs @@ -14,7 +14,7 @@ use sos_sdk::{ archive::{ AccountBackup, ExtractFilesLocation, Inventory, RestoreOptions, }, - search::UserIndex, + search::{UserIndex, DocumentCount, SearchIndex}, Account, AccountBuilder, AccountData, AccountHandler, AccountInfo, AuthenticatedUser, DelegatedPassphrase, DetachedView, AccountsList, LocalProvider, NewAccount, SecretOptions, UserPaths, @@ -28,7 +28,6 @@ use sos_sdk::{ Event, EventKind, EventReducer, ReadEvent, WriteEvent, }, mpc::generate_keypair, - search::{DocumentCount, SearchIndex}, signer::ecdsa::Address, vault::{ secret::{Secret, SecretData, SecretId, SecretMeta, SecretType}, diff --git a/workspace/sdk/Cargo.toml b/workspace/sdk/Cargo.toml index 07a90eb850..75246c2766 100644 --- a/workspace/sdk/Cargo.toml +++ b/workspace/sdk/Cargo.toml @@ -20,7 +20,7 @@ contacts = [] security-report = [] [dependencies] -sos-vfs = "0.1" +sos-vfs = "0.2" async-trait = "0.1" async-recursion = "1" aes-gcm = { version = "0.10.1", features = ["std"] } diff --git a/workspace/sdk/src/account/account.rs b/workspace/sdk/src/account/account.rs index 29ae0bf2b8..74b9a286dd 100644 --- a/workspace/sdk/src/account/account.rs +++ b/workspace/sdk/src/account/account.rs @@ -19,6 +19,7 @@ use crate::{ AccountBuilder, AccountInfo, AuthenticatedUser, DelegatedPassphrase, AccountsList, LocalProvider, NewAccount, UserPaths, + search::{DocumentCount, SearchIndex}, }, commit::{CommitHash, CommitProof, CommitState}, crypto::{AccessKey, SecureAccessKey}, @@ -28,7 +29,6 @@ use crate::{ Event, EventKind, EventReducer, ReadEvent, WriteEvent, }, mpc::generate_keypair, - search::{DocumentCount, SearchIndex}, signer::ecdsa::Address, vault::{ secret::{Secret, SecretData, SecretId, SecretMeta, SecretType}, @@ -52,7 +52,7 @@ use async_trait::async_trait; use super::{files::FileProgress, search::UserIndex}; -/// Account handler provides is notified of account changes. +/// Account handler is notified of account changes. #[async_trait::async_trait] pub trait AccountHandler { /// Data associated with this handler. diff --git a/workspace/sdk/src/account/archive/backup.rs b/workspace/sdk/src/account/archive/backup.rs index df103133b8..d09111056f 100644 --- a/workspace/sdk/src/account/archive/backup.rs +++ b/workspace/sdk/src/account/archive/backup.rs @@ -22,13 +22,13 @@ use crate::{ archive::{ArchiveItem, Inventory, Reader, Writer}, identity::Identity, AccountInfo, DelegatedPassphrase, AccountsList, UserPaths, + search::SearchIndex, }, constants::{EVENT_LOG_EXT, VAULT_EXT}, crypto::AccessKey, decode, encode, events::{FolderEventLog, WriteEvent}, passwd::ChangePassword, - search::SearchIndex, sha2::{Digest, Sha256}, vault::{ secret::SecretId, Gatekeeper, Summary, Vault, VaultAccess, VaultId, diff --git a/workspace/sdk/src/account/identity.rs b/workspace/sdk/src/account/identity.rs index bff13ef376..a500cfae6f 100644 --- a/workspace/sdk/src/account/identity.rs +++ b/workspace/sdk/src/account/identity.rs @@ -19,11 +19,11 @@ use urn::Urn; use web3_address::ethereum::Address; use crate::{ + account::search::SearchIndex, commit::{CommitHash, CommitProof, CommitState}, constants::{LOGIN_AGE_KEY_URN, LOGIN_SIGNING_KEY_URN}, crypto::KeyDerivation, decode, - search::SearchIndex, signer::{ ecdsa::{BoxedEcdsaSigner, SingleParty}, Signer, diff --git a/workspace/sdk/src/account/login.rs b/workspace/sdk/src/account/login.rs index f86e816895..9b92670792 100644 --- a/workspace/sdk/src/account/login.rs +++ b/workspace/sdk/src/account/login.rs @@ -9,12 +9,13 @@ use urn::Urn; use web3_address::ethereum::Address; use crate::{ - account::{AccountInfo, DelegatedPassphrase, AccountsList, UserPaths}, + account::{AccountInfo, DelegatedPassphrase, AccountsList, UserPaths, + search::SearchIndex, + }, constants::{DEVICE_KEY_URN, VAULT_EXT}, crypto::AccessKey, encode, events::{AuditEvent, Event, EventKind}, - search::SearchIndex, signer::{ ed25519::{self, BoxedEd25519Signer, VerifyingKey}, Signer, diff --git a/workspace/sdk/src/account/provider.rs b/workspace/sdk/src/account/provider.rs index 5cb19dc4f0..7e523ba58b 100644 --- a/workspace/sdk/src/account/provider.rs +++ b/workspace/sdk/src/account/provider.rs @@ -3,6 +3,7 @@ use crate::{ account::{ archive::RestoreTargets, AccountStatus, NewAccount, UserPaths, + search::SearchIndex, }, commit::{CommitHash, CommitTree}, constants::VAULT_EXT, @@ -13,7 +14,6 @@ use crate::{ ReadEvent, WriteEvent, }, passwd::{diceware::generate_passphrase, ChangePassword}, - search::SearchIndex, vault::{ secret::{Secret, SecretData, SecretId, SecretMeta}, Gatekeeper, Header, Summary, Vault, VaultAccess, VaultBuilder, diff --git a/workspace/sdk/src/search.rs b/workspace/sdk/src/account/search/index.rs similarity index 100% rename from workspace/sdk/src/search.rs rename to workspace/sdk/src/account/search/index.rs diff --git a/workspace/sdk/src/account/search.rs b/workspace/sdk/src/account/search/mod.rs similarity index 99% rename from workspace/sdk/src/account/search.rs rename to workspace/sdk/src/account/search/mod.rs index b758d64617..7e6f964927 100644 --- a/workspace/sdk/src/account/search.rs +++ b/workspace/sdk/src/account/search/mod.rs @@ -1,9 +1,8 @@ //! Account search index. use std::{collections::HashSet, sync::Arc}; - +use tokio::sync::RwLock; use crate::{ crypto::AccessKey, - search::{Document, DocumentCount, SearchIndex}, vault::{ secret::{SecretId, SecretType}, Gatekeeper, Vault, VaultId, @@ -11,7 +10,8 @@ use crate::{ vcard4, Result, }; -use tokio::sync::RwLock; +mod index; +pub use index::*; /// Modify and query a search index. pub struct UserIndex { diff --git a/workspace/sdk/src/lib.rs b/workspace/sdk/src/lib.rs index 308dd6f81a..d6686912b5 100644 --- a/workspace/sdk/src/lib.rs +++ b/workspace/sdk/src/lib.rs @@ -24,7 +24,6 @@ pub mod prelude; #[cfg(feature = "recovery")] pub mod recovery; -pub mod search; pub mod signer; mod timestamp; pub mod vault; diff --git a/workspace/sdk/src/prelude.rs b/workspace/sdk/src/prelude.rs index c8abc26a47..81753e02ef 100644 --- a/workspace/sdk/src/prelude.rs +++ b/workspace/sdk/src/prelude.rs @@ -8,7 +8,6 @@ pub use crate::constants::*; pub use crate::crypto::*; pub use crate::events::*; pub use crate::formats::*; -pub use crate::search::*; pub use crate::signer::ecdsa::Address; pub use crate::vault::secret::*; pub use crate::vault::*; diff --git a/workspace/sdk/src/vault/gatekeeper.rs b/workspace/sdk/src/vault/gatekeeper.rs index 29a07d3c47..8081adea07 100644 --- a/workspace/sdk/src/vault/gatekeeper.rs +++ b/workspace/sdk/src/vault/gatekeeper.rs @@ -1,9 +1,9 @@ //! Gatekeeper manages access to a vault. use crate::{ + account::search::SearchIndex, crypto::{AccessKey, KeyDerivation, PrivateKey}, decode, encode, events::{ReadEvent, WriteEvent}, - search::SearchIndex, vault::{ secret::{Secret, SecretId, SecretMeta}, SharedAccess, Summary, Vault, VaultAccess, VaultCommit, VaultEntry,