diff --git a/email_newsletter/Cargo.toml b/Cargo.toml similarity index 88% rename from email_newsletter/Cargo.toml rename to Cargo.toml index 4f49e36..169f193 100644 --- a/email_newsletter/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "email_newsletter" +name = "zero2prod" version = "0.1.0" edition = "2021" @@ -10,7 +10,7 @@ path = "src/lib.rs" [[bin]] path = "src/main.rs" -name = "email_newsletter" +name = "zero2prod" [dependencies] actix-web = "4" diff --git a/scripts/init_db.sh b/scripts/init_db.sh new file mode 100755 index 0000000..9067358 --- /dev/null +++ b/scripts/init_db.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env zsh +set -x +set -eo pipefail + +# Check if a custom user has been set, otherwise default to 'postgress' +DB_USER="${POSTGRES_USER:=postgres}" +# Check if a custom password has been set, otherwise default to 'password' +DB_PASSWORD="${POSTGRES_PASSWORD:=password}" +# Check if a custom database name has been set, otherwise default to 'newsletter' +DB_NAME="${POSTGRES_DB:=newsletter}" +# Check if a custom port has been set, otherwise default to '5432' +DB_PORT="${POSTGRES_PORT:=5432}" +# Check if a custom host has been set, otherwise default to 'localhost' +DB_HOST="${POSTGRES_HOST:=localhost}" + +# Launch postgres using Docker +docker run \ + -e POSTGRES_USER=${DB_USER} \ + -e POSTGRES_PASSWORD=${DB_PASSWORD} \ + -e POSTGRES_DB=${DB_NAME} \ + -p "${DB_PORT}":5432 \ + -d postgres \ + postgres -N 1000 + # ^ Increased maximum number of connections for testing purposes \ No newline at end of file diff --git a/email_newsletter/src/lib.rs b/src/lib.rs similarity index 100% rename from email_newsletter/src/lib.rs rename to src/lib.rs diff --git a/email_newsletter/src/main.rs b/src/main.rs similarity index 88% rename from email_newsletter/src/main.rs rename to src/main.rs index 0e60fc4..27c74c2 100644 --- a/email_newsletter/src/main.rs +++ b/src/main.rs @@ -1,6 +1,6 @@ use std::net::TcpListener; -use email_newsletter::run; +use zero2prod::run; #[tokio::main] async fn main() -> Result<(), std::io::Error> { diff --git a/email_newsletter/tests/health_check.rs b/tests/health_check.rs similarity index 96% rename from email_newsletter/tests/health_check.rs rename to tests/health_check.rs index 7d2b2e5..40faef5 100644 --- a/email_newsletter/tests/health_check.rs +++ b/tests/health_check.rs @@ -3,7 +3,7 @@ use std::net::TcpListener; fn spawn_app() -> String { let listener = TcpListener::bind("127.0.0.1:0").expect("Failed to bind to random port"); let port = listener.local_addr().unwrap().port(); - let server = email_newsletter::run(listener).expect("Failed to bind address"); + let server = zero2prod::run(listener).expect("Failed to bind address"); let _ = tokio::spawn(server);