diff --git a/crates/bitwarden-generators/src/client_generator.rs b/crates/bitwarden-generators/src/client_generator.rs index e5bad6f29..d2e2b7483 100644 --- a/crates/bitwarden-generators/src/client_generator.rs +++ b/crates/bitwarden-generators/src/client_generator.rs @@ -1,8 +1,9 @@ use bitwarden_core::Client; use crate::{ - passphrase, password, username, PassphraseError, PassphraseGeneratorRequest, PasswordError, - PasswordGeneratorRequest, UsernameError, UsernameGeneratorRequest, + passphrase::passphrase, password::password, username::username, PassphraseError, + PassphraseGeneratorRequest, PasswordError, PasswordGeneratorRequest, UsernameError, + UsernameGeneratorRequest, }; pub struct ClientGenerator<'a> { diff --git a/crates/bitwarden-generators/src/lib.rs b/crates/bitwarden-generators/src/lib.rs index 0ebd20295..6455a759a 100644 --- a/crates/bitwarden-generators/src/lib.rs +++ b/crates/bitwarden-generators/src/lib.rs @@ -1,13 +1,13 @@ -mod passphrase; -pub use passphrase::{passphrase, PassphraseError, PassphraseGeneratorRequest}; -mod password; -mod util; -pub use password::{password, PasswordError, PasswordGeneratorRequest}; -mod username; -pub use username::{username, ForwarderServiceType, UsernameError, UsernameGeneratorRequest}; mod client_generator; -pub use client_generator::{ClientGenerator, ClientGeneratorExt}; mod username_forwarders; +pub use client_generator::{ClientGenerator, ClientGeneratorExt}; +pub(crate) mod passphrase; +pub use passphrase::{PassphraseError, PassphraseGeneratorRequest}; +pub(crate) mod password; +pub use password::{PasswordError, PasswordGeneratorRequest}; +pub(crate) mod username; +pub use username::{ForwarderServiceType, UsernameError, UsernameGeneratorRequest}; +mod util; #[cfg(feature = "uniffi")] uniffi::setup_scaffolding!(); diff --git a/crates/bitwarden-generators/src/passphrase.rs b/crates/bitwarden-generators/src/passphrase.rs index 94b2c0acd..1fb83422e 100644 --- a/crates/bitwarden-generators/src/passphrase.rs +++ b/crates/bitwarden-generators/src/passphrase.rs @@ -77,7 +77,7 @@ impl PassphraseGeneratorRequest { } /// Implementation of the random passphrase generator. -pub fn passphrase(request: PassphraseGeneratorRequest) -> Result { +pub(crate) fn passphrase(request: PassphraseGeneratorRequest) -> Result { let options = request.validate_options()?; Ok(passphrase_with_rng(rand::thread_rng(), options)) } diff --git a/crates/bitwarden-generators/src/password.rs b/crates/bitwarden-generators/src/password.rs index 6121c7597..9821f8bbe 100644 --- a/crates/bitwarden-generators/src/password.rs +++ b/crates/bitwarden-generators/src/password.rs @@ -219,7 +219,7 @@ impl PasswordGeneratorRequest { } /// Implementation of the random password generator. -pub fn password(input: PasswordGeneratorRequest) -> Result { +pub(crate) fn password(input: PasswordGeneratorRequest) -> Result { let options = input.validate_options()?; Ok(password_with_rng(rand::thread_rng(), options)) } diff --git a/crates/bitwarden-generators/src/username.rs b/crates/bitwarden-generators/src/username.rs index 830cb5b04..0140f77fb 100644 --- a/crates/bitwarden-generators/src/username.rs +++ b/crates/bitwarden-generators/src/username.rs @@ -131,7 +131,7 @@ impl ForwarderServiceType { /// /// Note: The HTTP client is passed in as a required parameter for convenience, /// as some username generators require making API calls. -pub async fn username( +pub(crate) async fn username( input: UsernameGeneratorRequest, http: &reqwest::Client, ) -> Result { diff --git a/crates/bitwarden-json/src/client.rs b/crates/bitwarden-json/src/client.rs index 50e46f6ce..dc84c559d 100644 --- a/crates/bitwarden-json/src/client.rs +++ b/crates/bitwarden-json/src/client.rs @@ -1,10 +1,11 @@ -#[cfg(feature = "secrets")] -use bitwarden::secrets_manager::{ - generators::ClientGeneratorExt, ClientProjectsExt, ClientSecretsExt, -}; #[cfg(feature = "internal")] use bitwarden::vault::ClientVaultExt; use bitwarden::ClientSettings; +#[cfg(feature = "secrets")] +use bitwarden::{ + generators::ClientGeneratorExt, + secrets_manager::{ClientProjectsExt, ClientSecretsExt}, +}; #[cfg(feature = "secrets")] use crate::command::{GeneratorsCommand, ProjectsCommand, SecretsCommand}; diff --git a/crates/bitwarden-json/src/command.rs b/crates/bitwarden-json/src/command.rs index 29dc79538..7483b90cf 100644 --- a/crates/bitwarden-json/src/command.rs +++ b/crates/bitwarden-json/src/command.rs @@ -1,8 +1,8 @@ #[cfg(feature = "secrets")] use bitwarden::{ auth::login::AccessTokenLoginRequest, + generators::PasswordGeneratorRequest, secrets_manager::{ - generators::PasswordGeneratorRequest, projects::{ ProjectCreateRequest, ProjectGetRequest, ProjectPutRequest, ProjectsDeleteRequest, ProjectsListRequest, diff --git a/crates/bitwarden/CHANGELOG.md b/crates/bitwarden/CHANGELOG.md index 689b58e72..5d3eefa95 100644 --- a/crates/bitwarden/CHANGELOG.md +++ b/crates/bitwarden/CHANGELOG.md @@ -10,6 +10,7 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ### Added - Support for secrets sync (#678) +- Password generator (#986) ### Changed diff --git a/crates/bitwarden/src/lib.rs b/crates/bitwarden/src/lib.rs index b8d8a0bda..c87693ce7 100644 --- a/crates/bitwarden/src/lib.rs +++ b/crates/bitwarden/src/lib.rs @@ -87,13 +87,13 @@ pub mod internal { #[cfg(feature = "internal")] pub use internal::*; +// Re-export generators used for secrets-manager, internal flag already exports all generators +#[cfg(all(feature = "secrets", not(feature = "internal")))] +pub mod generators { + pub use bitwarden_generators::{ClientGeneratorExt, PasswordError, PasswordGeneratorRequest}; +} + #[cfg(feature = "secrets")] pub mod secrets_manager { pub use bitwarden_sm::*; - - pub mod generators { - pub use bitwarden_generators::{ - password, ClientGeneratorExt, PasswordError, PasswordGeneratorRequest, - }; - } }