upgrade sqlx to 0.7 Fixes #76 restructure registrations
This commit is contained in:
		
							
								
								
									
										565
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										565
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							@@ -52,17 +52,6 @@ dependencies = [
 | 
			
		||||
 "subtle",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ahash"
 | 
			
		||||
version = "0.7.7"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "getrandom",
 | 
			
		||||
 "once_cell",
 | 
			
		||||
 "version_check",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ahash"
 | 
			
		||||
version = "0.8.6"
 | 
			
		||||
@@ -70,6 +59,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cfg-if",
 | 
			
		||||
 "getrandom",
 | 
			
		||||
 "once_cell",
 | 
			
		||||
 "version_check",
 | 
			
		||||
 "zerocopy",
 | 
			
		||||
@@ -152,9 +142,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "atoi"
 | 
			
		||||
version = "1.0.0"
 | 
			
		||||
version = "2.0.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "d7c57d12312ff59c811c0643f4d80830505833c9ffaebd193d819392b265be8e"
 | 
			
		||||
checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "num-traits",
 | 
			
		||||
]
 | 
			
		||||
@@ -224,6 +214,9 @@ name = "bitflags"
 | 
			
		||||
version = "2.4.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "serde",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "blake2"
 | 
			
		||||
@@ -340,6 +333,12 @@ dependencies = [
 | 
			
		||||
 "inout",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "const-oid"
 | 
			
		||||
version = "0.9.5"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "cookie"
 | 
			
		||||
version = "0.18.0"
 | 
			
		||||
@@ -436,6 +435,17 @@ dependencies = [
 | 
			
		||||
 "cipher",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "der"
 | 
			
		||||
version = "0.7.8"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "const-oid",
 | 
			
		||||
 "pem-rfc7468",
 | 
			
		||||
 "zeroize",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "deranged"
 | 
			
		||||
version = "0.3.9"
 | 
			
		||||
@@ -491,6 +501,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "block-buffer",
 | 
			
		||||
 "const-oid",
 | 
			
		||||
 "crypto-common",
 | 
			
		||||
 "subtle",
 | 
			
		||||
]
 | 
			
		||||
@@ -506,6 +517,9 @@ name = "either"
 | 
			
		||||
version = "1.9.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "serde",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "encoding_rs"
 | 
			
		||||
@@ -545,6 +559,17 @@ dependencies = [
 | 
			
		||||
 "windows-sys",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "etcetera"
 | 
			
		||||
version = "0.8.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cfg-if",
 | 
			
		||||
 "home",
 | 
			
		||||
 "windows-sys",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "event-listener"
 | 
			
		||||
version = "2.5.3"
 | 
			
		||||
@@ -591,13 +616,12 @@ checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "flume"
 | 
			
		||||
version = "0.10.14"
 | 
			
		||||
version = "0.11.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577"
 | 
			
		||||
checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "futures-core",
 | 
			
		||||
 "futures-sink",
 | 
			
		||||
 "pin-project",
 | 
			
		||||
 "spin 0.9.8",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
@@ -669,13 +693,13 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "futures-intrusive"
 | 
			
		||||
version = "0.4.2"
 | 
			
		||||
version = "0.5.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "a604f7a68fbf8103337523b1fadc8ade7361ee3f112f7c680ad179651616aed5"
 | 
			
		||||
checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "futures-core",
 | 
			
		||||
 "lock_api",
 | 
			
		||||
 "parking_lot 0.11.2",
 | 
			
		||||
 "parking_lot",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -817,26 +841,20 @@ dependencies = [
 | 
			
		||||
 "futures-sink",
 | 
			
		||||
 "futures-util",
 | 
			
		||||
 "http",
 | 
			
		||||
 "indexmap 2.1.0",
 | 
			
		||||
 "indexmap",
 | 
			
		||||
 "slab",
 | 
			
		||||
 "tokio",
 | 
			
		||||
 "tokio-util",
 | 
			
		||||
 "tracing",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "hashbrown"
 | 
			
		||||
version = "0.12.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "hashbrown"
 | 
			
		||||
version = "0.14.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "ahash 0.8.6",
 | 
			
		||||
 "ahash",
 | 
			
		||||
 "allocator-api2",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
@@ -846,7 +864,7 @@ version = "0.8.4"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "hashbrown 0.14.2",
 | 
			
		||||
 "hashbrown",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -888,6 +906,15 @@ dependencies = [
 | 
			
		||||
 "digest",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "home"
 | 
			
		||||
version = "0.5.5"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "windows-sys",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "http"
 | 
			
		||||
version = "0.2.11"
 | 
			
		||||
@@ -1017,16 +1044,6 @@ dependencies = [
 | 
			
		||||
 "winapi-util",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "indexmap"
 | 
			
		||||
version = "1.9.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "autocfg",
 | 
			
		||||
 "hashbrown 0.12.3",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "indexmap"
 | 
			
		||||
version = "2.1.0"
 | 
			
		||||
@@ -1034,7 +1051,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "equivalent",
 | 
			
		||||
 "hashbrown 0.14.2",
 | 
			
		||||
 "hashbrown",
 | 
			
		||||
 "serde",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
@@ -1073,15 +1090,6 @@ dependencies = [
 | 
			
		||||
 "generic-array",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "instant"
 | 
			
		||||
version = "0.1.12"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cfg-if",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "is-terminal"
 | 
			
		||||
version = "0.4.9"
 | 
			
		||||
@@ -1142,6 +1150,9 @@ name = "lazy_static"
 | 
			
		||||
version = "1.4.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "spin 0.5.2",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "libc"
 | 
			
		||||
@@ -1157,9 +1168,9 @@ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "libsqlite3-sys"
 | 
			
		||||
version = "0.24.2"
 | 
			
		||||
version = "0.26.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "898745e570c7d0453cc1fbc4a701eb6c662ed54e8fec8b7d14be137ebeeb9d14"
 | 
			
		||||
checksum = "afc22eff61b133b115c6e8c74e818c628d6d5e7a502afea6f64dee076dd94326"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cc",
 | 
			
		||||
 "pkg-config",
 | 
			
		||||
@@ -1212,6 +1223,16 @@ dependencies = [
 | 
			
		||||
 "regex-automata 0.1.10",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "md-5"
 | 
			
		||||
version = "0.10.6"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cfg-if",
 | 
			
		||||
 "digest",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "memchr"
 | 
			
		||||
version = "2.6.4"
 | 
			
		||||
@@ -1319,6 +1340,44 @@ dependencies = [
 | 
			
		||||
 "winapi",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "num-bigint-dig"
 | 
			
		||||
version = "0.8.4"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "byteorder",
 | 
			
		||||
 "lazy_static",
 | 
			
		||||
 "libm",
 | 
			
		||||
 "num-integer",
 | 
			
		||||
 "num-iter",
 | 
			
		||||
 "num-traits",
 | 
			
		||||
 "rand",
 | 
			
		||||
 "smallvec",
 | 
			
		||||
 "zeroize",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "num-integer"
 | 
			
		||||
version = "0.1.45"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "autocfg",
 | 
			
		||||
 "num-traits",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "num-iter"
 | 
			
		||||
version = "0.1.43"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "autocfg",
 | 
			
		||||
 "num-integer",
 | 
			
		||||
 "num-traits",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "num-traits"
 | 
			
		||||
version = "0.2.17"
 | 
			
		||||
@@ -1326,6 +1385,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "autocfg",
 | 
			
		||||
 "libm",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -1365,17 +1425,6 @@ version = "0.1.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "parking_lot"
 | 
			
		||||
version = "0.11.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "instant",
 | 
			
		||||
 "lock_api",
 | 
			
		||||
 "parking_lot_core 0.8.6",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "parking_lot"
 | 
			
		||||
version = "0.12.1"
 | 
			
		||||
@@ -1383,21 +1432,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "lock_api",
 | 
			
		||||
 "parking_lot_core 0.9.9",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "parking_lot_core"
 | 
			
		||||
version = "0.8.6"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cfg-if",
 | 
			
		||||
 "instant",
 | 
			
		||||
 "libc",
 | 
			
		||||
 "redox_syscall 0.2.16",
 | 
			
		||||
 "smallvec",
 | 
			
		||||
 "winapi",
 | 
			
		||||
 "parking_lot_core",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -1462,6 +1497,15 @@ dependencies = [
 | 
			
		||||
 "syn 2.0.39",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "pem-rfc7468"
 | 
			
		||||
version = "0.7.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "base64ct",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "percent-encoding"
 | 
			
		||||
version = "2.3.0"
 | 
			
		||||
@@ -1551,26 +1595,6 @@ dependencies = [
 | 
			
		||||
 "siphasher",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "pin-project"
 | 
			
		||||
version = "1.1.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "pin-project-internal",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "pin-project-internal"
 | 
			
		||||
version = "1.1.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
 "quote",
 | 
			
		||||
 "syn 2.0.39",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "pin-project-lite"
 | 
			
		||||
version = "0.2.13"
 | 
			
		||||
@@ -1583,6 +1607,27 @@ version = "0.1.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "pkcs1"
 | 
			
		||||
version = "0.7.5"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "der",
 | 
			
		||||
 "pkcs8",
 | 
			
		||||
 "spki",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "pkcs8"
 | 
			
		||||
version = "0.10.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "der",
 | 
			
		||||
 "spki",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "pkg-config"
 | 
			
		||||
version = "0.3.27"
 | 
			
		||||
@@ -1680,15 +1725,6 @@ dependencies = [
 | 
			
		||||
 "getrandom",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "redox_syscall"
 | 
			
		||||
version = "0.2.16"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitflags 1.3.2",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "redox_syscall"
 | 
			
		||||
version = "0.3.5"
 | 
			
		||||
@@ -1771,21 +1807,6 @@ version = "0.8.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ring"
 | 
			
		||||
version = "0.16.20"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cc",
 | 
			
		||||
 "libc",
 | 
			
		||||
 "once_cell",
 | 
			
		||||
 "spin 0.5.2",
 | 
			
		||||
 "untrusted 0.7.1",
 | 
			
		||||
 "web-sys",
 | 
			
		||||
 "winapi",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ring"
 | 
			
		||||
version = "0.17.5"
 | 
			
		||||
@@ -1796,7 +1817,7 @@ dependencies = [
 | 
			
		||||
 "getrandom",
 | 
			
		||||
 "libc",
 | 
			
		||||
 "spin 0.9.8",
 | 
			
		||||
 "untrusted 0.9.0",
 | 
			
		||||
 "untrusted",
 | 
			
		||||
 "windows-sys",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
@@ -1814,12 +1835,12 @@ dependencies = [
 | 
			
		||||
 "either",
 | 
			
		||||
 "figment",
 | 
			
		||||
 "futures",
 | 
			
		||||
 "indexmap 2.1.0",
 | 
			
		||||
 "indexmap",
 | 
			
		||||
 "log",
 | 
			
		||||
 "memchr",
 | 
			
		||||
 "multer",
 | 
			
		||||
 "num_cpus",
 | 
			
		||||
 "parking_lot 0.12.1",
 | 
			
		||||
 "parking_lot",
 | 
			
		||||
 "pin-project-lite",
 | 
			
		||||
 "rand",
 | 
			
		||||
 "ref-cast",
 | 
			
		||||
@@ -1845,7 +1866,7 @@ checksum = "a2238066abf75f21be6cd7dc1a09d5414a671f4246e384e49fe3f8a4936bd04c"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "devise",
 | 
			
		||||
 "glob",
 | 
			
		||||
 "indexmap 2.1.0",
 | 
			
		||||
 "indexmap",
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
 "quote",
 | 
			
		||||
 "rocket_http",
 | 
			
		||||
@@ -1878,7 +1899,7 @@ dependencies = [
 | 
			
		||||
 "futures",
 | 
			
		||||
 "http",
 | 
			
		||||
 "hyper",
 | 
			
		||||
 "indexmap 2.1.0",
 | 
			
		||||
 "indexmap",
 | 
			
		||||
 "log",
 | 
			
		||||
 "memchr",
 | 
			
		||||
 "pear",
 | 
			
		||||
@@ -1913,6 +1934,26 @@ dependencies = [
 | 
			
		||||
 "tera",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rsa"
 | 
			
		||||
version = "0.9.4"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "6a3211b01eea83d80687da9eef70e39d65144a3894866a5153a2723e425a157f"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "const-oid",
 | 
			
		||||
 "digest",
 | 
			
		||||
 "num-bigint-dig",
 | 
			
		||||
 "num-integer",
 | 
			
		||||
 "num-traits",
 | 
			
		||||
 "pkcs1",
 | 
			
		||||
 "pkcs8",
 | 
			
		||||
 "rand_core",
 | 
			
		||||
 "signature",
 | 
			
		||||
 "spki",
 | 
			
		||||
 "subtle",
 | 
			
		||||
 "zeroize",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rustc-demangle"
 | 
			
		||||
version = "0.1.23"
 | 
			
		||||
@@ -1934,14 +1975,13 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rustls"
 | 
			
		||||
version = "0.20.9"
 | 
			
		||||
version = "0.21.9"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99"
 | 
			
		||||
checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "log",
 | 
			
		||||
 "ring 0.16.20",
 | 
			
		||||
 "ring",
 | 
			
		||||
 "rustls-webpki",
 | 
			
		||||
 "sct",
 | 
			
		||||
 "webpki",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -1953,6 +1993,16 @@ dependencies = [
 | 
			
		||||
 "base64",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rustls-webpki"
 | 
			
		||||
version = "0.101.7"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "ring",
 | 
			
		||||
 "untrusted",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rustversion"
 | 
			
		||||
version = "1.0.14"
 | 
			
		||||
@@ -1992,8 +2042,8 @@ version = "0.7.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "ring 0.17.5",
 | 
			
		||||
 "untrusted 0.9.0",
 | 
			
		||||
 "ring",
 | 
			
		||||
 "untrusted",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -2036,6 +2086,17 @@ dependencies = [
 | 
			
		||||
 "serde",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "sha1"
 | 
			
		||||
version = "0.10.6"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cfg-if",
 | 
			
		||||
 "cpufeatures",
 | 
			
		||||
 "digest",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "sha2"
 | 
			
		||||
version = "0.10.8"
 | 
			
		||||
@@ -2065,6 +2126,16 @@ dependencies = [
 | 
			
		||||
 "libc",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "signature"
 | 
			
		||||
version = "2.2.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "digest",
 | 
			
		||||
 "rand_core",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "siphasher"
 | 
			
		||||
version = "0.3.11"
 | 
			
		||||
@@ -2131,6 +2202,16 @@ dependencies = [
 | 
			
		||||
 "lock_api",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "spki"
 | 
			
		||||
version = "0.7.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "base64ct",
 | 
			
		||||
 "der",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "sqlformat"
 | 
			
		||||
version = "0.2.2"
 | 
			
		||||
@@ -2144,23 +2225,25 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "sqlx"
 | 
			
		||||
version = "0.6.3"
 | 
			
		||||
version = "0.7.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "f8de3b03a925878ed54a954f621e64bf55a3c1bd29652d0d1a17830405350188"
 | 
			
		||||
checksum = "0e50c216e3624ec8e7ecd14c6a6a6370aad6ee5d8cfc3ab30b5162eeeef2ed33"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "sqlx-core",
 | 
			
		||||
 "sqlx-macros",
 | 
			
		||||
 "sqlx-mysql",
 | 
			
		||||
 "sqlx-postgres",
 | 
			
		||||
 "sqlx-sqlite",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "sqlx-core"
 | 
			
		||||
version = "0.6.3"
 | 
			
		||||
version = "0.7.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "fa8241483a83a3f33aa5fff7e7d9def398ff9990b2752b6c6112b83c6d246029"
 | 
			
		||||
checksum = "8d6753e460c998bbd4cd8c6f0ed9a64346fcca0723d6e75e52fdc351c5d2169d"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "ahash 0.7.7",
 | 
			
		||||
 "ahash",
 | 
			
		||||
 "atoi",
 | 
			
		||||
 "bitflags 1.3.2",
 | 
			
		||||
 "byteorder",
 | 
			
		||||
 "bytes",
 | 
			
		||||
 "chrono",
 | 
			
		||||
@@ -2169,18 +2252,14 @@ dependencies = [
 | 
			
		||||
 "dotenvy",
 | 
			
		||||
 "either",
 | 
			
		||||
 "event-listener",
 | 
			
		||||
 "flume",
 | 
			
		||||
 "futures-channel",
 | 
			
		||||
 "futures-core",
 | 
			
		||||
 "futures-executor",
 | 
			
		||||
 "futures-intrusive",
 | 
			
		||||
 "futures-io",
 | 
			
		||||
 "futures-util",
 | 
			
		||||
 "hashlink",
 | 
			
		||||
 "hex",
 | 
			
		||||
 "indexmap 1.9.3",
 | 
			
		||||
 "itoa",
 | 
			
		||||
 "libc",
 | 
			
		||||
 "libsqlite3-sys",
 | 
			
		||||
 "indexmap",
 | 
			
		||||
 "log",
 | 
			
		||||
 "memchr",
 | 
			
		||||
 "once_cell",
 | 
			
		||||
@@ -2188,46 +2267,166 @@ dependencies = [
 | 
			
		||||
 "percent-encoding",
 | 
			
		||||
 "rustls",
 | 
			
		||||
 "rustls-pemfile",
 | 
			
		||||
 "serde",
 | 
			
		||||
 "serde_json",
 | 
			
		||||
 "sha2",
 | 
			
		||||
 "smallvec",
 | 
			
		||||
 "sqlformat",
 | 
			
		||||
 "sqlx-rt",
 | 
			
		||||
 "stringprep",
 | 
			
		||||
 "thiserror",
 | 
			
		||||
 "time",
 | 
			
		||||
 "tokio",
 | 
			
		||||
 "tokio-stream",
 | 
			
		||||
 "tracing",
 | 
			
		||||
 "url",
 | 
			
		||||
 "webpki-roots",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "sqlx-macros"
 | 
			
		||||
version = "0.6.3"
 | 
			
		||||
version = "0.7.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "9966e64ae989e7e575b19d7265cb79d7fc3cbbdf179835cb0d716f294c2049c9"
 | 
			
		||||
checksum = "9a793bb3ba331ec8359c1853bd39eed32cdd7baaf22c35ccf5c92a7e8d1189ec"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
 "quote",
 | 
			
		||||
 "sqlx-core",
 | 
			
		||||
 "sqlx-macros-core",
 | 
			
		||||
 "syn 1.0.109",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "sqlx-macros-core"
 | 
			
		||||
version = "0.7.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "0a4ee1e104e00dedb6aa5ffdd1343107b0a4702e862a84320ee7cc74782d96fc"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "dotenvy",
 | 
			
		||||
 "either",
 | 
			
		||||
 "heck",
 | 
			
		||||
 "hex",
 | 
			
		||||
 "once_cell",
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
 "quote",
 | 
			
		||||
 "serde",
 | 
			
		||||
 "serde_json",
 | 
			
		||||
 "sha2",
 | 
			
		||||
 "sqlx-core",
 | 
			
		||||
 "sqlx-rt",
 | 
			
		||||
 "sqlx-mysql",
 | 
			
		||||
 "sqlx-postgres",
 | 
			
		||||
 "sqlx-sqlite",
 | 
			
		||||
 "syn 1.0.109",
 | 
			
		||||
 "tempfile",
 | 
			
		||||
 "tokio",
 | 
			
		||||
 "url",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "sqlx-rt"
 | 
			
		||||
version = "0.6.3"
 | 
			
		||||
name = "sqlx-mysql"
 | 
			
		||||
version = "0.7.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "804d3f245f894e61b1e6263c84b23ca675d96753b5abfd5cc8597d86806e8024"
 | 
			
		||||
checksum = "864b869fdf56263f4c95c45483191ea0af340f9f3e3e7b4d57a61c7c87a970db"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "atoi",
 | 
			
		||||
 "base64",
 | 
			
		||||
 "bitflags 2.4.1",
 | 
			
		||||
 "byteorder",
 | 
			
		||||
 "bytes",
 | 
			
		||||
 "chrono",
 | 
			
		||||
 "crc",
 | 
			
		||||
 "digest",
 | 
			
		||||
 "dotenvy",
 | 
			
		||||
 "either",
 | 
			
		||||
 "futures-channel",
 | 
			
		||||
 "futures-core",
 | 
			
		||||
 "futures-io",
 | 
			
		||||
 "futures-util",
 | 
			
		||||
 "generic-array",
 | 
			
		||||
 "hex",
 | 
			
		||||
 "hkdf",
 | 
			
		||||
 "hmac",
 | 
			
		||||
 "itoa",
 | 
			
		||||
 "log",
 | 
			
		||||
 "md-5",
 | 
			
		||||
 "memchr",
 | 
			
		||||
 "once_cell",
 | 
			
		||||
 "tokio",
 | 
			
		||||
 "tokio-rustls",
 | 
			
		||||
 "percent-encoding",
 | 
			
		||||
 "rand",
 | 
			
		||||
 "rsa",
 | 
			
		||||
 "serde",
 | 
			
		||||
 "sha1",
 | 
			
		||||
 "sha2",
 | 
			
		||||
 "smallvec",
 | 
			
		||||
 "sqlx-core",
 | 
			
		||||
 "stringprep",
 | 
			
		||||
 "thiserror",
 | 
			
		||||
 "time",
 | 
			
		||||
 "tracing",
 | 
			
		||||
 "whoami",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "sqlx-postgres"
 | 
			
		||||
version = "0.7.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "eb7ae0e6a97fb3ba33b23ac2671a5ce6e3cabe003f451abd5a56e7951d975624"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "atoi",
 | 
			
		||||
 "base64",
 | 
			
		||||
 "bitflags 2.4.1",
 | 
			
		||||
 "byteorder",
 | 
			
		||||
 "chrono",
 | 
			
		||||
 "crc",
 | 
			
		||||
 "dotenvy",
 | 
			
		||||
 "etcetera",
 | 
			
		||||
 "futures-channel",
 | 
			
		||||
 "futures-core",
 | 
			
		||||
 "futures-io",
 | 
			
		||||
 "futures-util",
 | 
			
		||||
 "hex",
 | 
			
		||||
 "hkdf",
 | 
			
		||||
 "hmac",
 | 
			
		||||
 "home",
 | 
			
		||||
 "itoa",
 | 
			
		||||
 "log",
 | 
			
		||||
 "md-5",
 | 
			
		||||
 "memchr",
 | 
			
		||||
 "once_cell",
 | 
			
		||||
 "rand",
 | 
			
		||||
 "serde",
 | 
			
		||||
 "serde_json",
 | 
			
		||||
 "sha1",
 | 
			
		||||
 "sha2",
 | 
			
		||||
 "smallvec",
 | 
			
		||||
 "sqlx-core",
 | 
			
		||||
 "stringprep",
 | 
			
		||||
 "thiserror",
 | 
			
		||||
 "time",
 | 
			
		||||
 "tracing",
 | 
			
		||||
 "whoami",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "sqlx-sqlite"
 | 
			
		||||
version = "0.7.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "d59dc83cf45d89c555a577694534fcd1b55c545a816c816ce51f20bbe56a4f3f"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "atoi",
 | 
			
		||||
 "chrono",
 | 
			
		||||
 "flume",
 | 
			
		||||
 "futures-channel",
 | 
			
		||||
 "futures-core",
 | 
			
		||||
 "futures-executor",
 | 
			
		||||
 "futures-intrusive",
 | 
			
		||||
 "futures-util",
 | 
			
		||||
 "libsqlite3-sys",
 | 
			
		||||
 "log",
 | 
			
		||||
 "percent-encoding",
 | 
			
		||||
 "serde",
 | 
			
		||||
 "sqlx-core",
 | 
			
		||||
 "time",
 | 
			
		||||
 "tracing",
 | 
			
		||||
 "url",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -2434,17 +2633,6 @@ dependencies = [
 | 
			
		||||
 "syn 2.0.39",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "tokio-rustls"
 | 
			
		||||
version = "0.23.4"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "rustls",
 | 
			
		||||
 "tokio",
 | 
			
		||||
 "webpki",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "tokio-stream"
 | 
			
		||||
version = "0.1.14"
 | 
			
		||||
@@ -2497,7 +2685,7 @@ version = "0.21.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "indexmap 2.1.0",
 | 
			
		||||
 "indexmap",
 | 
			
		||||
 "serde",
 | 
			
		||||
 "serde_spanned",
 | 
			
		||||
 "toml_datetime",
 | 
			
		||||
@@ -2516,6 +2704,7 @@ version = "0.1.40"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "log",
 | 
			
		||||
 "pin-project-lite",
 | 
			
		||||
 "tracing-attributes",
 | 
			
		||||
 "tracing-core",
 | 
			
		||||
@@ -2707,12 +2896,6 @@ dependencies = [
 | 
			
		||||
 "subtle",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "untrusted"
 | 
			
		||||
version = "0.7.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "untrusted"
 | 
			
		||||
version = "0.9.0"
 | 
			
		||||
@@ -2827,35 +3010,21 @@ version = "0.2.88"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "web-sys"
 | 
			
		||||
version = "0.3.65"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "js-sys",
 | 
			
		||||
 "wasm-bindgen",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "webpki"
 | 
			
		||||
version = "0.22.4"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "ring 0.17.5",
 | 
			
		||||
 "untrusted 0.9.0",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "webpki-roots"
 | 
			
		||||
version = "0.22.6"
 | 
			
		||||
version = "0.24.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87"
 | 
			
		||||
checksum = "b291546d5d9d1eab74f069c77749f2cb8504a12caa20f0f2de93ddbf6f411888"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "webpki",
 | 
			
		||||
 "rustls-webpki",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "whoami"
 | 
			
		||||
version = "1.4.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "22fc3756b8a9133049b26c7f61ab35416c130e8c09b660f5b3958b446f52cc50"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "winapi"
 | 
			
		||||
version = "0.3.9"
 | 
			
		||||
@@ -3008,3 +3177,9 @@ dependencies = [
 | 
			
		||||
 "quote",
 | 
			
		||||
 "syn 2.0.39",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "zeroize"
 | 
			
		||||
version = "1.7.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@ rocket = { version = "0.5.0-rc.4", features = ["secrets"]}
 | 
			
		||||
rocket_dyn_templates = {version = "0.1.0-rc.4", features = [ "tera" ], optional = true }
 | 
			
		||||
log = "0.4"
 | 
			
		||||
env_logger = "0.10"
 | 
			
		||||
sqlx = { version = "0.6", features = ["sqlite", "runtime-tokio-rustls", "macros", "chrono", "time"] }
 | 
			
		||||
sqlx = { version = "0.7", features = ["sqlite", "runtime-tokio-rustls", "macros", "chrono", "time"] }
 | 
			
		||||
argon2 = "0.5"
 | 
			
		||||
serde = { version = "1.0", features = [ "derive" ]}
 | 
			
		||||
serde_json = "1.0"
 | 
			
		||||
 
 | 
			
		||||
@@ -16,8 +16,9 @@ async fn rocket() -> _ {
 | 
			
		||||
 | 
			
		||||
    env_logger::init();
 | 
			
		||||
 | 
			
		||||
    let mut connection_options = SqliteConnectOptions::from_str("sqlite://db.sqlite").unwrap();
 | 
			
		||||
    connection_options.log_statements(log::LevelFilter::Debug);
 | 
			
		||||
    let connection_options = SqliteConnectOptions::from_str("sqlite://db.sqlite")
 | 
			
		||||
        .unwrap()
 | 
			
		||||
        .log_statements(log::LevelFilter::Debug);
 | 
			
		||||
    let db: SqlitePool = PoolOptions::new()
 | 
			
		||||
        .connect_with(connection_options)
 | 
			
		||||
        .await
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,5 @@
 | 
			
		||||
use std::ops::DerefMut;
 | 
			
		||||
 | 
			
		||||
use rocket::serde::{Deserialize, Serialize};
 | 
			
		||||
use rocket::FromForm;
 | 
			
		||||
use sqlx::{FromRow, Sqlite, SqlitePool, Transaction};
 | 
			
		||||
@@ -75,7 +77,7 @@ impl Boat {
 | 
			
		||||
    }
 | 
			
		||||
    pub async fn find_by_id_tx(db: &mut Transaction<'_, Sqlite>, id: i32) -> Option<Self> {
 | 
			
		||||
        sqlx::query_as!(Self, "SELECT * FROM boat WHERE id like ?", id)
 | 
			
		||||
            .fetch_one(db)
 | 
			
		||||
            .fetch_one(db.deref_mut())
 | 
			
		||||
            .await
 | 
			
		||||
            .ok()
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,5 @@
 | 
			
		||||
use std::ops::DerefMut;
 | 
			
		||||
 | 
			
		||||
use chrono::{DateTime, Local, NaiveDateTime, TimeZone, Utc};
 | 
			
		||||
use serde::{Deserialize, Serialize};
 | 
			
		||||
use sqlx::{FromRow, Sqlite, SqlitePool, Transaction};
 | 
			
		||||
@@ -17,7 +19,7 @@ impl Log {
 | 
			
		||||
    }
 | 
			
		||||
    pub async fn create_with_tx(db: &mut Transaction<'_, Sqlite>, msg: String) -> bool {
 | 
			
		||||
        sqlx::query!("INSERT INTO log(msg) VALUES (?)", msg,)
 | 
			
		||||
            .execute(db)
 | 
			
		||||
            .execute(db.deref_mut())
 | 
			
		||||
            .await
 | 
			
		||||
            .is_ok()
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,5 @@
 | 
			
		||||
use std::ops::DerefMut;
 | 
			
		||||
 | 
			
		||||
use chrono::{Datelike, NaiveDateTime, Utc};
 | 
			
		||||
use rocket::FromForm;
 | 
			
		||||
use serde::Serialize;
 | 
			
		||||
@@ -160,7 +162,7 @@ impl Logbook {
 | 
			
		||||
            ",
 | 
			
		||||
            id
 | 
			
		||||
        )
 | 
			
		||||
        .fetch_one(db)
 | 
			
		||||
        .fetch_one(db.deref_mut())
 | 
			
		||||
        .await
 | 
			
		||||
        .ok()
 | 
			
		||||
    }
 | 
			
		||||
@@ -289,7 +291,7 @@ ORDER BY departure DESC
 | 
			
		||||
                log.comments,
 | 
			
		||||
                log.logtype
 | 
			
		||||
            )
 | 
			
		||||
            .fetch_one(&mut tx)
 | 
			
		||||
            .fetch_one(tx.deref_mut())
 | 
			
		||||
            .await.unwrap().id;
 | 
			
		||||
 | 
			
		||||
            let logbook = Logbook::find_by_id_tx(&mut tx, inserted_row as i32)
 | 
			
		||||
@@ -363,7 +365,7 @@ ORDER BY departure DESC
 | 
			
		||||
                log.comments,
 | 
			
		||||
                log.logtype
 | 
			
		||||
            )
 | 
			
		||||
            .fetch_one(&mut tx)
 | 
			
		||||
            .fetch_one(tx.deref_mut())
 | 
			
		||||
            .await.unwrap();
 | 
			
		||||
 | 
			
		||||
        for rower in &log.rowers {
 | 
			
		||||
@@ -398,7 +400,7 @@ ORDER BY departure DESC
 | 
			
		||||
 | 
			
		||||
    async fn remove_rowers(&self, db: &mut Transaction<'_, Sqlite>) {
 | 
			
		||||
        sqlx::query!("DELETE FROM rower WHERE logbook_id=?", self.id)
 | 
			
		||||
            .execute(db)
 | 
			
		||||
            .execute(db.deref_mut())
 | 
			
		||||
            .await
 | 
			
		||||
            .unwrap();
 | 
			
		||||
    }
 | 
			
		||||
@@ -495,7 +497,7 @@ ORDER BY departure DESC
 | 
			
		||||
            log.arrival,
 | 
			
		||||
            self.id
 | 
			
		||||
        )
 | 
			
		||||
        .execute(db)
 | 
			
		||||
        .execute(db.deref_mut())
 | 
			
		||||
        .await.unwrap(); //TODO: fixme
 | 
			
		||||
 | 
			
		||||
        Ok(())
 | 
			
		||||
 
 | 
			
		||||
@@ -45,6 +45,59 @@ pub struct Registration {
 | 
			
		||||
    pub is_real_guest: bool,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl Registration {
 | 
			
		||||
    pub async fn all_rower(db: &SqlitePool, trip_details_id: i64) -> Vec<Registration> {
 | 
			
		||||
        sqlx::query!(
 | 
			
		||||
            r#"
 | 
			
		||||
SELECT
 | 
			
		||||
    (SELECT name FROM user WHERE user_trip.user_id = user.id) as "name?", 
 | 
			
		||||
    user_note,
 | 
			
		||||
    user_id,
 | 
			
		||||
    (SELECT created_at FROM user WHERE user_trip.user_id = user.id) as registered_at,
 | 
			
		||||
    (SELECT is_guest FROM user WHERE user_trip.user_id = user.id) as is_guest
 | 
			
		||||
FROM user_trip WHERE trip_details_id = ? 
 | 
			
		||||
        "#,
 | 
			
		||||
            trip_details_id,
 | 
			
		||||
        )
 | 
			
		||||
        .fetch_all(db)
 | 
			
		||||
        .await
 | 
			
		||||
        .unwrap()
 | 
			
		||||
        .into_iter()
 | 
			
		||||
        .map(|r| Registration {
 | 
			
		||||
            name: r.name.or(r.user_note).unwrap(), //Ok, either name or user_note needs to be set
 | 
			
		||||
            registered_at: r.registered_at,
 | 
			
		||||
            is_guest: r.is_guest,
 | 
			
		||||
            is_real_guest: r.user_id == None,
 | 
			
		||||
        })
 | 
			
		||||
        .collect()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub async fn all_cox(db: &SqlitePool, trip_details_id: i64) -> Vec<Registration> {
 | 
			
		||||
        //TODO: switch to join
 | 
			
		||||
        sqlx::query!(
 | 
			
		||||
            "
 | 
			
		||||
SELECT
 | 
			
		||||
    (SELECT name FROM user WHERE cox_id = id) as name,
 | 
			
		||||
    (SELECT created_at FROM user WHERE cox_id = id) as registered_at,
 | 
			
		||||
    (SELECT is_guest FROM user WHERE cox_id = id) as is_guest
 | 
			
		||||
FROM trip WHERE planned_event_id = ?
 | 
			
		||||
        ",
 | 
			
		||||
            trip_details_id
 | 
			
		||||
        )
 | 
			
		||||
        .fetch_all(db)
 | 
			
		||||
        .await
 | 
			
		||||
        .unwrap()
 | 
			
		||||
        .into_iter()
 | 
			
		||||
        .map(|r| Registration {
 | 
			
		||||
            name: r.name,
 | 
			
		||||
            registered_at: r.registered_at,
 | 
			
		||||
            is_guest: r.is_guest,
 | 
			
		||||
            is_real_guest: false,
 | 
			
		||||
        })
 | 
			
		||||
        .collect() //Okay, as PlannedEvent can only be created with proper DB backing
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl PlannedEvent {
 | 
			
		||||
    pub async fn find_by_id(db: &SqlitePool, id: i64) -> Option<Self> {
 | 
			
		||||
        sqlx::query_as!(
 | 
			
		||||
@@ -91,7 +144,7 @@ WHERE day=?",
 | 
			
		||||
 | 
			
		||||
        let mut ret = Vec::new();
 | 
			
		||||
        for event in events {
 | 
			
		||||
            let cox = event.get_all_cox(db).await;
 | 
			
		||||
            let cox = Registration::all_cox(db, event.trip_details_id).await;
 | 
			
		||||
            let mut trip_type = None;
 | 
			
		||||
            if let Some(trip_type_id) = event.trip_type_id {
 | 
			
		||||
                trip_type = TripType::find_by_id(db, trip_type_id).await;
 | 
			
		||||
@@ -99,7 +152,7 @@ WHERE day=?",
 | 
			
		||||
            ret.push(PlannedEventWithUserAndTriptype {
 | 
			
		||||
                cox_needed: event.planned_amount_cox > cox.len() as i64,
 | 
			
		||||
                cox,
 | 
			
		||||
                rower: event.get_all_rower(db).await,
 | 
			
		||||
                rower: Registration::all_rower(db, event.trip_details_id).await,
 | 
			
		||||
                planned_event: event,
 | 
			
		||||
                trip_type,
 | 
			
		||||
            });
 | 
			
		||||
@@ -119,61 +172,6 @@ INNER JOIN trip_details ON planned_event.trip_details_id = trip_details.id",
 | 
			
		||||
        .unwrap() //TODO: fixme
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    async fn get_all_cox(&self, db: &SqlitePool) -> Vec<Registration> {
 | 
			
		||||
        //TODO: switch to join
 | 
			
		||||
        sqlx::query!(
 | 
			
		||||
            "
 | 
			
		||||
SELECT
 | 
			
		||||
    (SELECT name FROM user WHERE cox_id = id) as name,
 | 
			
		||||
    (SELECT created_at FROM user WHERE cox_id = id) as registered_at,
 | 
			
		||||
    (SELECT is_guest FROM user WHERE cox_id = id) as is_guest,
 | 
			
		||||
    0 as is_real_guest
 | 
			
		||||
FROM trip WHERE planned_event_id = ?
 | 
			
		||||
        ",
 | 
			
		||||
            self.id
 | 
			
		||||
        )
 | 
			
		||||
        .fetch_all(db)
 | 
			
		||||
        .await
 | 
			
		||||
        .unwrap()
 | 
			
		||||
        .into_iter()
 | 
			
		||||
        .map(|r| Registration {
 | 
			
		||||
            name: r.name,
 | 
			
		||||
            registered_at: r.registered_at,
 | 
			
		||||
            is_guest: r.is_guest,
 | 
			
		||||
            is_real_guest: r.is_real_guest == 1,
 | 
			
		||||
        })
 | 
			
		||||
        .collect() //Okay, as PlannedEvent can only be created with proper DB backing
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    async fn get_all_rower(&self, db: &SqlitePool) -> Vec<Registration> {
 | 
			
		||||
        //TODO: switch to join
 | 
			
		||||
        sqlx::query!(
 | 
			
		||||
            "
 | 
			
		||||
SELECT
 | 
			
		||||
    CASE 
 | 
			
		||||
        WHEN user_id IS NOT NULL THEN (SELECT name FROM user WHERE user_trip.user_id = user.id)
 | 
			
		||||
        ELSE user_note
 | 
			
		||||
    END as name,
 | 
			
		||||
    user_id IS NULL as is_real_guest,
 | 
			
		||||
    (SELECT created_at FROM user WHERE user_trip.user_id = user.id) as registered_at,
 | 
			
		||||
    (SELECT is_guest FROM user WHERE user_trip.user_id = user.id) as is_guest
 | 
			
		||||
FROM user_trip WHERE trip_details_id = (SELECT trip_details_id FROM planned_event WHERE id = ?)
 | 
			
		||||
        ",
 | 
			
		||||
            self.id
 | 
			
		||||
        )
 | 
			
		||||
        .fetch_all(db)
 | 
			
		||||
        .await
 | 
			
		||||
        .unwrap()
 | 
			
		||||
        .into_iter()
 | 
			
		||||
        .map(|r| Registration {
 | 
			
		||||
            name: r.name.unwrap(),
 | 
			
		||||
            registered_at: r.registered_at,
 | 
			
		||||
            is_guest: r.is_guest,
 | 
			
		||||
            is_real_guest: r.is_real_guest == 1,
 | 
			
		||||
        })
 | 
			
		||||
        .collect()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    //TODO: add tests
 | 
			
		||||
    pub async fn is_rower_registered(&self, db: &SqlitePool, user: &User) -> bool {
 | 
			
		||||
        let is_rower = sqlx::query!(
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,5 @@
 | 
			
		||||
use std::ops::DerefMut;
 | 
			
		||||
 | 
			
		||||
use serde::{Deserialize, Serialize};
 | 
			
		||||
use sqlx::{FromRow, Sqlite, SqlitePool, Transaction};
 | 
			
		||||
 | 
			
		||||
@@ -37,7 +39,7 @@ WHERE id in (SELECT rower_id FROM rower WHERE logbook_id=?)
 | 
			
		||||
            logbook_id,
 | 
			
		||||
            rower_id
 | 
			
		||||
        )
 | 
			
		||||
        .execute(db)
 | 
			
		||||
        .execute(db.deref_mut())
 | 
			
		||||
        .await
 | 
			
		||||
        .map_err(|e| e.to_string())?;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -117,7 +117,7 @@ WHERE day=?
 | 
			
		||||
                trip_type = TripType::find_by_id(db, trip_type_id).await;
 | 
			
		||||
            }
 | 
			
		||||
            ret.push(TripWithUserAndType {
 | 
			
		||||
                rower: trip.get_all_rower(db).await,
 | 
			
		||||
                rower: Registration::all_rower(db, trip.trip_details_id.unwrap()).await,
 | 
			
		||||
                trip,
 | 
			
		||||
                trip_type,
 | 
			
		||||
            });
 | 
			
		||||
@@ -125,33 +125,6 @@ WHERE day=?
 | 
			
		||||
        ret
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    async fn get_all_rower(&self, db: &SqlitePool) -> Vec<Registration> {
 | 
			
		||||
        sqlx::query!(
 | 
			
		||||
            "
 | 
			
		||||
SELECT
 | 
			
		||||
    CASE 
 | 
			
		||||
        WHEN user_id IS NOT NULL THEN (SELECT name FROM user WHERE user_trip.user_id = user.id)
 | 
			
		||||
        ELSE user_note
 | 
			
		||||
    END as name,
 | 
			
		||||
    user_id IS NULL as is_real_guest,
 | 
			
		||||
    (SELECT created_at FROM user WHERE user_trip.user_id = user.id) as registered_at,
 | 
			
		||||
    (SELECT is_guest FROM user WHERE user_trip.user_id = user.id) as is_guest
 | 
			
		||||
FROM user_trip WHERE trip_details_id = (SELECT trip_details_id FROM trip WHERE id = ?)",
 | 
			
		||||
            self.id
 | 
			
		||||
        )
 | 
			
		||||
        .fetch_all(db)
 | 
			
		||||
        .await
 | 
			
		||||
        .unwrap()
 | 
			
		||||
        .into_iter()
 | 
			
		||||
        .map(|r| Registration {
 | 
			
		||||
            name: r.name.unwrap(),
 | 
			
		||||
            registered_at: r.registered_at,
 | 
			
		||||
            is_guest: r.is_guest,
 | 
			
		||||
            is_real_guest: r.is_real_guest == 1,
 | 
			
		||||
        })
 | 
			
		||||
        .collect()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// Cox decides to update own trip.
 | 
			
		||||
    pub async fn update_own(
 | 
			
		||||
        db: &SqlitePool,
 | 
			
		||||
@@ -232,7 +205,7 @@ FROM user_trip WHERE trip_details_id = (SELECT trip_details_id FROM trip WHERE i
 | 
			
		||||
        db: &SqlitePool,
 | 
			
		||||
        user: &CoxUser,
 | 
			
		||||
    ) -> Result<(), TripDeleteError> {
 | 
			
		||||
        let registered_rower = self.get_all_rower(db).await;
 | 
			
		||||
        let registered_rower = Registration::all_rower(db, self.trip_details_id.unwrap()).await;
 | 
			
		||||
        if !registered_rower.is_empty() {
 | 
			
		||||
            return Err(TripDeleteError::SomebodyAlreadyRegistered);
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -141,7 +141,7 @@ ORDER BY day;",
 | 
			
		||||
        .fetch_one(db)
 | 
			
		||||
        .await
 | 
			
		||||
        .unwrap();
 | 
			
		||||
        if is_cox.amount > 0 {
 | 
			
		||||
        if is_cox.amount.unwrap() > 0 {
 | 
			
		||||
            return CoxAtTrip::Yes(Action::Helping);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
use std::ops::Deref;
 | 
			
		||||
use std::ops::{Deref, DerefMut};
 | 
			
		||||
 | 
			
		||||
use argon2::{password_hash::SaltString, Argon2, PasswordHasher};
 | 
			
		||||
use chrono::{Datelike, Local, NaiveDate};
 | 
			
		||||
@@ -89,7 +89,6 @@ impl User {
 | 
			
		||||
        .await
 | 
			
		||||
        .unwrap()
 | 
			
		||||
        .rowed_km
 | 
			
		||||
        .unwrap()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub async fn find_by_id(db: &SqlitePool, id: i32) -> Option<Self> {
 | 
			
		||||
@@ -117,7 +116,7 @@ WHERE id like ?
 | 
			
		||||
        ",
 | 
			
		||||
            id
 | 
			
		||||
        )
 | 
			
		||||
        .fetch_one(db)
 | 
			
		||||
        .fetch_one(db.deref_mut())
 | 
			
		||||
        .await
 | 
			
		||||
        .ok()
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user