Update secrecy

This commit is contained in:
Luca Palmieri 2021-12-27 13:24:24 +01:00
parent 8d252463ec
commit c0906b3332
3 changed files with 21 additions and 2 deletions

17
Cargo.lock generated
View file

@ -1586,6 +1586,16 @@ dependencies = [
"untrusted",
]
[[package]]
name = "secrecy"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e"
dependencies = [
"serde",
"zeroize",
]
[[package]]
name = "security-framework"
version = "2.4.2"
@ -2550,6 +2560,7 @@ dependencies = [
"quickcheck",
"quickcheck_macros",
"reqwest",
"secrecy",
"serde",
"serde-aux",
"sqlx",
@ -2564,6 +2575,12 @@ dependencies = [
"validator",
]
[[package]]
name = "zeroize"
version = "1.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d68d9dcec5f9b43a30d38c49f91dfedfaac384cb8f085faca366c26207dd1619"
[[package]]
name = "zstd"
version = "0.9.1+zstd.1.5.1"

View file

@ -29,6 +29,7 @@ serde-aux = "1.0.1"
unicode-segmentation = "1.7.1"
tracing-actix-web = "0.5.0-beta.6"
validator = "0.12.0"
secrecy = { version = "0.8", features = ["serde"] }
[dev-dependencies]
reqwest = { version = "0.11", features = ["json"] }

View file

@ -1,3 +1,4 @@
use secrecy::{ExposeSecret, Secret};
use serde_aux::field_attributes::deserialize_number_from_string;
use sqlx::postgres::{PgConnectOptions, PgSslMode};
use sqlx::ConnectOptions;
@ -19,7 +20,7 @@ pub struct ApplicationSettings {
#[derive(serde::Deserialize)]
pub struct DatabaseSettings {
pub username: String,
pub password: String,
pub password: Secret<String>,
#[serde(deserialize_with = "deserialize_number_from_string")]
pub port: u16,
pub host: String,
@ -37,7 +38,7 @@ impl DatabaseSettings {
PgConnectOptions::new()
.host(&self.host)
.username(&self.username)
.password(&self.password)
.password(&self.password.expose_secret())
.port(self.port)
.ssl_mode(ssl_mode)
}