From a5cfdeff54df2d338524c79f977dca3ab27010b4 Mon Sep 17 00:00:00 2001 From: Dietrich Date: Sun, 30 May 2021 10:34:36 +0200 Subject: [PATCH] make link codes unaware of upper and lower case --- Cargo.lock | 57 ++++++++++++++++++++++---------------------- Makefile.toml | 4 ++-- pslink/Cargo.toml | 4 ++-- pslink/src/models.rs | 10 +++++--- pslink/src/views.rs | 4 ++-- 5 files changed, 41 insertions(+), 38 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b819db2..c0a67c4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -733,9 +733,9 @@ checksum = "b4ae4235e6dac0694637c763029ecea1a2ec9e4e06ec2729bd21ba4d9c863eb7" [[package]] name = "bumpalo" -version = "3.6.1" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63396b8a4b9de3f4fdfb320ab6080762242f66a8ef174c49d8e19b674db4cdbe" +checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631" [[package]] name = "byte-tools" @@ -800,9 +800,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.67" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd" +checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787" dependencies = [ "jobserver", ] @@ -1041,9 +1041,9 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52fb27eab85b17fbb9f6fd667089e07d6a2eb8743d02639ee7f6a7a7729c9c94" +checksum = "4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd" dependencies = [ "cfg-if 1.0.0", "crossbeam-utils", @@ -1054,9 +1054,9 @@ dependencies = [ [[package]] name = "crossbeam-queue" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f6cb3c7f5b8e51bc3ebb73a2327ad4abdbd119dc13223f14f961d2f38486756" +checksum = "9b10ddc024425c88c2ad148c1b0fd53f4c6d38db9697c9f1588381212fa657c9" dependencies = [ "cfg-if 1.0.0", "crossbeam-utils", @@ -1064,11 +1064,10 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4feb231f0d4d6af81aed15928e58ecf5816aa62a2393e2c82f46973e92a9a278" +checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db" dependencies = [ - "autocfg 1.0.1", "cfg-if 1.0.0", "lazy_static", ] @@ -1771,7 +1770,7 @@ dependencies = [ "http", "indexmap", "slab", - "tokio 1.6.0", + "tokio 1.6.1", "tokio-util 0.6.7", "tracing", ] @@ -1889,9 +1888,9 @@ checksum = "f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68" [[package]] name = "httpdate" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05842d0d43232b23ccb7060ecb0f0626922c21f30012e97b767b30afd4a5d4b9" +checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440" [[package]] name = "humansize" @@ -1910,9 +1909,9 @@ dependencies = [ [[package]] name = "hyper" -version = "0.14.7" +version = "0.14.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e5f105c494081baa3bf9e200b279e27ec1623895cd504c7dbef8d0b080fcf54" +checksum = "d3f71a7eea53a3f8257a7b4795373ff886397178cd634430ea94e12d7fe4fe34" dependencies = [ "bytes 1.0.1", "futures-channel", @@ -1926,7 +1925,7 @@ dependencies = [ "itoa", "pin-project 1.0.7", "socket2 0.4.0", - "tokio 1.6.0", + "tokio 1.6.1", "tower-service", "tracing", "want", @@ -1941,7 +1940,7 @@ dependencies = [ "bytes 1.0.1", "hyper", "native-tls", - "tokio 1.6.0", + "tokio 1.6.1", "tokio-native-tls", ] @@ -2135,9 +2134,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.94" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e" +checksum = "789da6d93f1b866ffe175afc5322a4d76c038605a1c3319bb57b06967ca98a36" [[package]] name = "libloading" @@ -2228,9 +2227,9 @@ checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc" [[package]] name = "memoffset" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83fb6581e8ed1f85fd45c116db8405483899489e38406156c25eb743554361d" +checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9" dependencies = [ "autocfg 1.0.1", ] @@ -3276,7 +3275,7 @@ dependencies = [ "serde", "serde_urlencoded", "time 0.2.26", - "tokio 1.6.0", + "tokio 1.6.1", "tokio-native-tls", "url", "wasm-bindgen", @@ -4157,9 +4156,9 @@ dependencies = [ [[package]] name = "tokio" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd3076b5c8cc18138b8f8814895c11eb4de37114a5d127bafdc5e55798ceef37" +checksum = "0a38d31d7831c6ed7aad00aa4c12d9375fd225a6dd77da1d25b707346319a975" dependencies = [ "autocfg 1.0.1", "bytes 1.0.1", @@ -4187,7 +4186,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" dependencies = [ "native-tls", - "tokio 1.6.0", + "tokio 1.6.1", ] [[package]] @@ -4227,7 +4226,7 @@ dependencies = [ "futures-sink", "log", "pin-project-lite 0.2.6", - "tokio 1.6.0", + "tokio 1.6.1", ] [[package]] @@ -4544,9 +4543,9 @@ dependencies = [ [[package]] name = "unicode-normalization" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07fbfce1c8a97d547e8b5334978438d9d6ec8c20e38f56d4a4374d181493eaef" +checksum = "33717dca7ac877f497014e10d73f3acf948c342bee31b5ca7892faf94ccc6b49" dependencies = [ "tinyvec", ] diff --git a/Makefile.toml b/Makefile.toml index f3cefeb..5a571ac 100644 --- a/Makefile.toml +++ b/Makefile.toml @@ -17,12 +17,12 @@ dependencies = ["build_client_release", "build_server_release"] description = "Build client" install_crate = { crate_name = "wasm-pack", binary = "wasm-pack", test_arg = "-V" } command = "wasm-pack" -args = ["build", "app", "--target", "web", "--out-name", "package", "--dev"] +args = ["build", "app", "--target", "web", "--out-name", "app", "--dev"] [tasks.build_client_release] extend = "build_client" description = "Build client in release mode" -args = ["build", "app", "--target", "web", "--out-name", "package", "--release"] +args = ["build", "app", "--target", "web", "--out-name", "app", "--release"] [tasks.build_server] description = "Build server" diff --git a/pslink/Cargo.toml b/pslink/Cargo.toml index 36a627f..5caa377 100644 --- a/pslink/Cargo.toml +++ b/pslink/Cargo.toml @@ -18,8 +18,8 @@ actix-identity = "0.3" actix-rt = "1.1" actix-slog = "0.2" actix-web = "3" -actix-web-static-files = "3.0" -actix-files = "0.5.0" +actix-web-static-files = "3" +actix-files = "0.5" anyhow = "1.0" argonautica = "0.2" clap = "2.33" diff --git a/pslink/src/models.rs b/pslink/src/models.rs index bf8e4a7..4b08a38 100644 --- a/pslink/src/models.rs +++ b/pslink/src/models.rs @@ -231,9 +231,13 @@ impl LinkDbOperations for Link { code: &str, server_config: &ServerConfig, ) -> Result { - let link = sqlx::query_as!(Self, "Select * from links where code = ? ", code) - .fetch_one(&server_config.db_pool) - .await; + let link = sqlx::query_as!( + Self, + "Select * from links where code = ? COLLATE NOCASE", + code + ) + .fetch_one(&server_config.db_pool) + .await; tracing::info!("Found link: {:?}", &link); link.map_err(ServerError::Database) } diff --git a/pslink/src/views.rs b/pslink/src/views.rs index 6aeaa60..d852b99 100644 --- a/pslink/src/views.rs +++ b/pslink/src/views.rs @@ -86,8 +86,8 @@ pub async fn wasm_app(config: web::Data) -> Result
Loading:
"#,