diff --git a/backend/Cargo.lock b/backend/Cargo.lock index 7e36810..0cb2aab 100644 --- a/backend/Cargo.lock +++ b/backend/Cargo.lock @@ -1789,6 +1789,7 @@ dependencies = [ "actix-web", "dotenv", "env_logger", + "percent-encoding", "post", "sqlx", ] diff --git a/backend/Cargo.toml b/backend/Cargo.toml index 5afd97e..6a8dc37 100644 --- a/backend/Cargo.toml +++ b/backend/Cargo.toml @@ -14,6 +14,7 @@ dotenv = "0.15.0" env_logger = "0.11.8" futures = "0.3.31" log = "0.4.27" +percent-encoding = "2.3.1" serde = { version = "1.0.219", features = ["derive"] } sqlx = { version = "0.8.5", features = [ "chrono", diff --git a/backend/server/Cargo.toml b/backend/server/Cargo.toml index 1dbcb27..ad808e1 100644 --- a/backend/server/Cargo.toml +++ b/backend/server/Cargo.toml @@ -7,6 +7,7 @@ edition.workspace = true actix-web.workspace = true dotenv.workspace = true env_logger.workspace = true +percent-encoding.workspace = true sqlx.workspace = true post.workspace = true diff --git a/backend/server/src/main.rs b/backend/server/src/main.rs index 674881b..92f93a2 100644 --- a/backend/server/src/main.rs +++ b/backend/server/src/main.rs @@ -34,9 +34,13 @@ async fn init_database() -> Pool { let user = env::var("DATABASE_USER").unwrap_or_else(|_| "postgres".to_string()); let password = env::var("DATABASE_PASSWORD").unwrap_or_else(|_| "".to_string()); let dbname = env::var("DATABASE_NAME").unwrap_or_else(|_| "postgres".to_string()); + + let encoded_password = + percent_encoding::utf8_percent_encode(&password, percent_encoding::NON_ALPHANUMERIC) + .to_string(); let database_url = format!( "postgres://{}:{}@{}:{}/{}", - user, password, host, port, dbname + user, encoded_password, host, port, dbname ); let db_pool = PgPoolOptions::new() diff --git a/frontend/src/lib/post/framework/ui/PostContentHeader.svelte b/frontend/src/lib/post/framework/ui/PostContentHeader.svelte index c4dcae9..289ae4b 100644 --- a/frontend/src/lib/post/framework/ui/PostContentHeader.svelte +++ b/frontend/src/lib/post/framework/ui/PostContentHeader.svelte @@ -5,8 +5,8 @@ const { postInfo }: { postInfo: PostInfoViewModel } = $props(); -
-
+
+
{#each postInfo.labels as label (label.id)}