From d1e691ca80b6df03c6bee48a87d5d7eb0cd3cbd0 Mon Sep 17 00:00:00 2001 From: Julius Kreutz Date: Tue, 7 Jan 2025 15:45:22 +0100 Subject: [PATCH] feat: new email for token --- ...5ebbf6ea1c2017eedacabe125b664a6530149.json | 22 --- Cargo.lock | 136 ++++++++++-------- Cargo.toml | 16 +-- flake.lock | 12 +- sql/warps/departure/get_ids_by_uid.sql | 7 - src/api/mod.rs | 2 +- src/api/users/auth/request_token/mod.rs | 6 +- src/database/warps/departure.rs | 11 -- 8 files changed, 91 insertions(+), 121 deletions(-) delete mode 100644 .sqlx/query-62d4b8ced064d849b0537e9d1735ebbf6ea1c2017eedacabe125b664a6530149.json delete mode 100644 sql/warps/departure/get_ids_by_uid.sql diff --git a/.sqlx/query-62d4b8ced064d849b0537e9d1735ebbf6ea1c2017eedacabe125b664a6530149.json b/.sqlx/query-62d4b8ced064d849b0537e9d1735ebbf6ea1c2017eedacabe125b664a6530149.json deleted file mode 100644 index c9c00312..00000000 --- a/.sqlx/query-62d4b8ced064d849b0537e9d1735ebbf6ea1c2017eedacabe125b664a6530149.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "SELECT\n warps_departure.id\nFROM\n warps_departure\nWHERE\n uid = $1;\n\n", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Int8" - } - ], - "parameters": { - "Left": [ - "Int4" - ] - }, - "nullable": [ - false - ] - }, - "hash": "62d4b8ced064d849b0537e9d1735ebbf6ea1c2017eedacabe125b664a6530149" -} diff --git a/Cargo.lock b/Cargo.lock index c96cbc99..2226e1dc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -430,9 +430,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.94" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7" +checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" [[package]] name = "arbitrary" @@ -1387,6 +1387,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" + [[package]] name = "form_urlencoded" version = "1.2.1" @@ -1608,14 +1614,19 @@ name = "hashbrown" version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] [[package]] name = "hashlink" -version = "0.9.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" +checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" dependencies = [ - "hashbrown 0.14.5", + "hashbrown 0.15.2", ] [[package]] @@ -2151,7 +2162,6 @@ version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" dependencies = [ - "cc", "pkg-config", "vcpkg", ] @@ -2655,9 +2665,9 @@ checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" [[package]] name = "quick-xml" -version = "0.37.1" +version = "0.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f22f29bdff3987b4d8632ef95fd6424ec7e4e0a57e2f4fc63e489e75357f6a03" +checksum = "165859e9e55f79d67b96c5d96f4e88b6f2695a1972849c15a6a3f5c59fc2c003" dependencies = [ "memchr", "serde", @@ -2876,9 +2886,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reqwest" -version = "0.12.9" +version = "0.12.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" +checksum = "43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da" dependencies = [ "base64 0.22.1", "bytes", @@ -2908,6 +2918,7 @@ dependencies = [ "sync_wrapper", "tokio", "tokio-rustls", + "tower", "tower-service", "url", "wasm-bindgen", @@ -3116,18 +3127,18 @@ checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" [[package]] name = "serde" -version = "1.0.216" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e" +checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.216" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e" +checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", @@ -3136,9 +3147,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.133" +version = "1.0.135" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" +checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" dependencies = [ "itoa", "memchr", @@ -3294,21 +3305,11 @@ dependencies = [ "der", ] -[[package]] -name = "sqlformat" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bba3a93db0cc4f7bdece8bb09e77e2e785c20bfebf79eb8340ed80708048790" -dependencies = [ - "nom", - "unicode_categories", -] - [[package]] name = "sqlx" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93334716a037193fac19df402f8571269c84a00852f6a7066b5d2616dcd64d3e" +checksum = "4410e73b3c0d8442c5f99b425d7a435b5ee0ae4167b3196771dd3f7a01be745f" dependencies = [ "sqlx-core", "sqlx-macros", @@ -3319,31 +3320,26 @@ dependencies = [ [[package]] name = "sqlx-core" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d8060b456358185f7d50c55d9b5066ad956956fddec42ee2e8567134a8936e" +checksum = "6a007b6936676aa9ab40207cde35daab0a04b823be8ae004368c0793b96a61e0" dependencies = [ - "atoi", - "byteorder", "bytes", "chrono", "crc", "crossbeam-queue", "either", "event-listener 5.3.1", - "futures-channel", "futures-core", "futures-intrusive", "futures-io", "futures-util", - "hashbrown 0.14.5", + "hashbrown 0.15.2", "hashlink", - "hex", "indexmap", "log", "memchr", "once_cell", - "paste", "percent-encoding", "rustls", "rustls-pemfile", @@ -3351,8 +3347,7 @@ dependencies = [ "serde_json", "sha2", "smallvec", - "sqlformat", - "thiserror 1.0.69", + "thiserror 2.0.7", "tokio", "tokio-stream", "tracing", @@ -3363,9 +3358,9 @@ dependencies = [ [[package]] name = "sqlx-macros" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cac0692bcc9de3b073e8d747391827297e075c7710ff6276d9f7a1f3d58c6657" +checksum = "3112e2ad78643fef903618d78cf0aec1cb3134b019730edb039b69eaf531f310" dependencies = [ "proc-macro2", "quote", @@ -3376,9 +3371,9 @@ dependencies = [ [[package]] name = "sqlx-macros-core" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1804e8a7c7865599c9c79be146dc8a9fd8cc86935fa641d3ea58e5f0688abaa5" +checksum = "4e9f90acc5ab146a99bf5061a7eb4976b573f560bc898ef3bf8435448dd5e7ad" dependencies = [ "dotenvy", "either", @@ -3402,9 +3397,9 @@ dependencies = [ [[package]] name = "sqlx-mysql" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64bb4714269afa44aef2755150a0fc19d756fb580a67db8885608cf02f47d06a" +checksum = "4560278f0e00ce64938540546f59f590d60beee33fffbd3b9cd47851e5fff233" dependencies = [ "atoi", "base64 0.22.1", @@ -3438,7 +3433,7 @@ dependencies = [ "smallvec", "sqlx-core", "stringprep", - "thiserror 1.0.69", + "thiserror 2.0.7", "tracing", "uuid", "whoami", @@ -3446,9 +3441,9 @@ dependencies = [ [[package]] name = "sqlx-postgres" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fa91a732d854c5d7726349bb4bb879bb9478993ceb764247660aee25f67c2f8" +checksum = "c5b98a57f363ed6764d5b3a12bfedf62f07aa16e1856a7ddc2a0bb190a959613" dependencies = [ "atoi", "base64 0.22.1", @@ -3460,7 +3455,6 @@ dependencies = [ "etcetera", "futures-channel", "futures-core", - "futures-io", "futures-util", "hex", "hkdf", @@ -3478,7 +3472,7 @@ dependencies = [ "smallvec", "sqlx-core", "stringprep", - "thiserror 1.0.69", + "thiserror 2.0.7", "tracing", "uuid", "whoami", @@ -3486,9 +3480,9 @@ dependencies = [ [[package]] name = "sqlx-sqlite" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5b2cf34a45953bfd3daaf3db0f7a7878ab9b7a6b91b422d24a7a9e4c857b680" +checksum = "f85ca71d3a5b24e64e1d08dd8fe36c6c95c339a896cc33068148906784620540" dependencies = [ "atoi", "chrono", @@ -3880,6 +3874,27 @@ dependencies = [ "winnow", ] +[[package]] +name = "tower" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + [[package]] name = "tower-service" version = "0.3.3" @@ -3995,12 +4010,6 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" -[[package]] -name = "unicode_categories" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" - [[package]] name = "universal-hash" version = "0.5.1" @@ -4042,9 +4051,9 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "utoipa" -version = "5.2.0" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514a48569e4e21c86d0b84b5612b5e73c0b2cf09db63260134ba426d4e8ea714" +checksum = "435c6f69ef38c9017b4b4eea965dfb91e71e53d869e896db40d1cf2441dd75c0" dependencies = [ "indexmap", "serde", @@ -4054,9 +4063,9 @@ dependencies = [ [[package]] name = "utoipa-gen" -version = "5.2.0" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5629efe65599d0ccd5d493688cbf6e03aa7c1da07fe59ff97cf5977ed0637f66" +checksum = "a77d306bc75294fd52f3e99b13ece67c02c1a2789190a6f31d32f736624326f7" dependencies = [ "proc-macro2", "quote", @@ -4066,11 +4075,12 @@ dependencies = [ [[package]] name = "utoipa-swagger-ui" -version = "8.0.3" +version = "8.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5c80b4dd79ea382e8374d67dcce22b5c6663fa13a82ad3886441d1bbede5e35" +checksum = "040cad8bd8de63f3d028e08e5b39be49d68f8a646e99f4aea2e2d4d82c34b21f" dependencies = [ "actix-web", + "base64 0.22.1", "mime_guess", "regex", "reqwest", diff --git a/Cargo.toml b/Cargo.toml index f713f148..91bf2aa2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,7 +10,7 @@ actix-files = "0.6.6" actix-multipart = "0.7.2" actix-session = "0.10.1" actix-web = "4.9.0" -anyhow = "1.0.94" +anyhow = "1.0.95" async-process = "2.3.0" async-rwlock = "1.3.0" base64 = "0.22.1" @@ -27,17 +27,17 @@ lettre = { version = "0.11.11", default-features = false, features = [ "builder", "smtp-transport", ] } -quick-xml = { version = "0.37.1", features = ["serialize"] } +quick-xml = { version = "0.37.2", features = ["serialize"] } rand = "0.8.5" regex = "1.11.1" -reqwest = { version = "0.12.9", default-features = false, features = [ +reqwest = { version = "0.12.12", default-features = false, features = [ "json", "rustls-tls", ] } rust-argon2 = "2.1.0" -serde = { version = "1.0.216", features = ["derive"] } -serde_json = "1.0.133" -sqlx = { version = "0.8.2", features = [ +serde = { version = "1.0.217", features = ["derive"] } +serde_json = "1.0.135" +sqlx = { version = "0.8.3", features = [ "postgres", "chrono", "uuid", @@ -47,8 +47,8 @@ strum = { version = "0.26.3", features = ["derive"] } tracing = "0.1.41" tracing-subscriber = "0.3.19" url = "2.5.4" -utoipa = { version = "5.2.0", features = ["actix_extras", "chrono"] } -utoipa-swagger-ui = { version = "8.0.3", features = ["actix-web", "reqwest"] } +utoipa = { version = "5.3.1", features = ["actix_extras", "chrono"] } +utoipa-swagger-ui = { version = "8.1.1", features = ["actix-web", "reqwest"] } uuid = { version = "1.11.0", features = ["v4", "serde"] } walkdir = "2.5.0" webp = "0.3.0" diff --git a/flake.lock b/flake.lock index a01b7d44..6d30ef73 100644 --- a/flake.lock +++ b/flake.lock @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1734119587, - "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", + "lastModified": 1736012469, + "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", + "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", "type": "github" }, "original": { @@ -62,11 +62,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1734316514, - "narHash": "sha256-0aLx44yMblcOGpfFXKCzp2GhU5JaE6OTvdU+JYrXiUc=", + "lastModified": 1736216977, + "narHash": "sha256-EMueGrzBpryM8mgOyoyJ7DdNRRk09ug1ggcLLp0WrCQ=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "83ee8ff74d6294a7657320f16814754c4594127b", + "rev": "bbe7e4e7a70d235db4bbdcabbf8a2f6671881dd7", "type": "github" }, "original": { diff --git a/sql/warps/departure/get_ids_by_uid.sql b/sql/warps/departure/get_ids_by_uid.sql deleted file mode 100644 index 52ed30cc..00000000 --- a/sql/warps/departure/get_ids_by_uid.sql +++ /dev/null @@ -1,7 +0,0 @@ -SELECT - warps_departure.id -FROM - warps_departure -WHERE - uid = $1; - diff --git a/src/api/mod.rs b/src/api/mod.rs index e31d66d1..563222e6 100644 --- a/src/api/mod.rs +++ b/src/api/mod.rs @@ -99,8 +99,8 @@ pub fn openapi() -> utoipa::openapi::OpenApi { openapi.merge(scores::openapi()); openapi.merge(select_all::openapi()); openapi.merge(sitemap::openapi()); - openapi.merge(srs_warps_import::openapi()); openapi.merge(srgf_warps_import::openapi()); + openapi.merge(srs_warps_import::openapi()); openapi.merge(stats::openapi()); openapi.merge(users::openapi()); openapi.merge(warps::openapi()); diff --git a/src/api/users/auth/request_token/mod.rs b/src/api/users/auth/request_token/mod.rs index 9d458a14..6a1e298a 100644 --- a/src/api/users/auth/request_token/mod.rs +++ b/src/api/users/auth/request_token/mod.rs @@ -73,11 +73,11 @@ async fn request_token( return Ok(HttpResponse::BadRequest().finish()); }; - let to = format!("<{email}>").parse()?; + let to = format!("{username} <{email}>").parse()?; let token = Uuid::new_v4(); let email = Message::builder() - .from("Julius Kreutz ".parse()?) + .from("stardb ".parse()?) .to(to) .subject("StarDB.GG Emergency Login") .body(format!( @@ -86,7 +86,7 @@ async fn request_token( let credentials = Credentials::new(env::var("SMTP_USERNAME")?, env::var("SMTP_PASSWORD")?); - let mailer = SmtpTransport::relay("mail.hosting.de")? + let mailer = SmtpTransport::relay("smtppro.zoho.eu")? .credentials(credentials) .build(); diff --git a/src/database/warps/departure.rs b/src/database/warps/departure.rs index d7d6332f..2c59edd3 100644 --- a/src/database/warps/departure.rs +++ b/src/database/warps/departure.rs @@ -35,17 +35,6 @@ pub async fn get_by_uid( ) } -pub async fn get_ids_by_uid(uid: i32, pool: &PgPool) -> anyhow::Result> { - Ok( - sqlx::query_file!("sql/warps/departure/get_ids_by_uid.sql", uid) - .fetch_all(pool) - .await? - .into_iter() - .map(|r| r.id) - .collect(), - ) -} - pub async fn get_count_by_uid(uid: i32, pool: &PgPool) -> anyhow::Result { Ok( sqlx::query_file!("sql/warps/departure/get_count_by_uid.sql", uid)