Migrate away from Deadpool to BB8 for database connections (#486)

* port db connections to bb8

* up

* change generics
This commit is contained in:
aumetra 2024-02-10 16:00:46 +01:00 committed by GitHub
parent 4116b4436e
commit 00773b5358
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
26 changed files with 210 additions and 170 deletions

255
Cargo.lock generated
View File

@ -246,7 +246,7 @@ dependencies = [
"askama_derive",
"askama_escape",
"humansize",
"num-traits 0.2.17",
"num-traits 0.2.18",
"percent-encoding",
]
@ -305,13 +305,13 @@ dependencies = [
[[package]]
name = "async-channel"
version = "2.1.1"
version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c"
checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
dependencies = [
"concurrent-queue",
"event-listener 4.0.3",
"event-listener-strategy",
"event-listener 5.0.0",
"event-listener-strategy 0.5.0",
"futures-core",
"pin-project-lite",
]
@ -350,7 +350,7 @@ dependencies = [
"indexmap 2.2.2",
"mime",
"multer",
"num-traits 0.2.17",
"num-traits 0.2.18",
"once_cell",
"pin-project-lite",
"regex",
@ -432,7 +432,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b"
dependencies = [
"event-listener 4.0.3",
"event-listener-strategy",
"event-listener-strategy 0.4.0",
"pin-project-lite",
]
@ -777,6 +777,19 @@ dependencies = [
"serde",
]
[[package]]
name = "bb8"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df7c2093d15d6a1d33b1f972e1c5ea3177748742b97a5f392aa83a65262c6780"
dependencies = [
"async-trait",
"futures-channel",
"futures-util",
"parking_lot",
"tokio",
]
[[package]]
name = "bcder"
version = "0.7.4"
@ -890,7 +903,7 @@ version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
dependencies = [
"async-channel 2.1.1",
"async-channel 2.2.0",
"async-lock",
"async-task",
"fastrand 2.0.1",
@ -1005,9 +1018,9 @@ dependencies = [
[[package]]
name = "cargo-platform"
version = "0.1.6"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ceed8ef69d8518a5dda55c07425450b58a4e1946f4951eab6d7191ee86c2443d"
checksum = "694c8807f2ae16faecc43dc17d74b3eb042482789fd0eb64b39a2e04e087053f"
dependencies = [
"serde",
]
@ -1076,7 +1089,7 @@ dependencies = [
"android-tzdata",
"iana-time-zone",
"js-sys",
"num-traits 0.2.17",
"num-traits 0.2.18",
"serde",
"wasm-bindgen",
"windows-targets 0.52.0",
@ -1121,9 +1134,9 @@ dependencies = [
[[package]]
name = "clap"
version = "4.4.18"
version = "4.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c"
checksum = "80c21025abd42669a92efc996ef13cfb2c5c627858421ea58d5c3b331a6c134f"
dependencies = [
"clap_builder",
"clap_derive",
@ -1131,22 +1144,22 @@ dependencies = [
[[package]]
name = "clap_builder"
version = "4.4.18"
version = "4.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7"
checksum = "458bf1f341769dfcf849846f65dffdf9146daa56bcd2a47cb4e1de9915567c99"
dependencies = [
"anstream",
"anstyle",
"clap_lex",
"strsim",
"strsim 0.11.0",
"terminal_size",
]
[[package]]
name = "clap_derive"
version = "4.4.7"
version = "4.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47"
dependencies = [
"heck",
"proc-macro2",
@ -1156,9 +1169,9 @@ dependencies = [
[[package]]
name = "clap_lex"
version = "0.6.0"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
[[package]]
name = "client-sdk-common"
@ -1336,7 +1349,7 @@ dependencies = [
"futures",
"is-terminal",
"itertools 0.10.5",
"num-traits 0.2.17",
"num-traits 0.2.18",
"once_cell",
"oorandom",
"rayon",
@ -1462,24 +1475,24 @@ dependencies = [
[[package]]
name = "curl"
version = "0.4.44"
version = "0.4.45"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22"
checksum = "f8e5123ab8c31200ce725939049ecd4a090b242608f24048131dedf9dd195aed"
dependencies = [
"curl-sys",
"libc",
"openssl-probe",
"openssl-sys",
"schannel",
"socket2 0.4.10",
"winapi",
"socket2 0.5.5",
"windows-sys 0.52.0",
]
[[package]]
name = "curl-sys"
version = "0.4.71+curl-8.6.0"
version = "0.4.72+curl-8.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c7b12a7ab780395666cb576203dc3ed6e01513754939a600b85196ccf5356bc5"
checksum = "29cbdc8314c447d11e8fd156dcdd031d9e02a7a976163e396b548c03153bc9ea"
dependencies = [
"cc",
"libc",
@ -1488,7 +1501,7 @@ dependencies = [
"openssl-sys",
"pkg-config",
"vcpkg",
"windows-sys 0.48.0",
"windows-sys 0.52.0",
]
[[package]]
@ -1511,9 +1524,9 @@ dependencies = [
[[package]]
name = "curve25519-dalek"
version = "4.1.1"
version = "4.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c"
checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348"
dependencies = [
"cfg-if",
"cpufeatures",
@ -1567,7 +1580,7 @@ dependencies = [
"ident_case",
"proc-macro2",
"quote",
"strsim",
"strsim 0.10.0",
"syn 1.0.109",
]
@ -1581,7 +1594,7 @@ dependencies = [
"ident_case",
"proc-macro2",
"quote",
"strsim",
"strsim 0.10.0",
"syn 2.0.48",
]
@ -1762,7 +1775,7 @@ version = "0.4.1"
source = "git+https://github.com/weiznich/diesel_async.git?rev=017ebe2fb7a2709ab5db92148dea5ce812a35e09#017ebe2fb7a2709ab5db92148dea5ce812a35e09"
dependencies = [
"async-trait",
"deadpool",
"bb8",
"diesel",
"futures-util",
"scoped-futures",
@ -1882,9 +1895,9 @@ dependencies = [
[[package]]
name = "ed25519-dalek"
version = "2.1.0"
version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0"
checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871"
dependencies = [
"curve25519-dalek",
"ed25519",
@ -1902,9 +1915,9 @@ checksum = "3a68a4904193147e0a8dec3314640e6db742afd5f6e634f428a6af230d9b3591"
[[package]]
name = "either"
version = "1.9.0"
version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
dependencies = [
"serde",
]
@ -2061,6 +2074,17 @@ dependencies = [
"pin-project-lite",
]
[[package]]
name = "event-listener"
version = "5.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b72557800024fabbaa2449dd4bf24e37b93702d457a4d4f2b0dd1f0f039f20c1"
dependencies = [
"concurrent-queue",
"parking",
"pin-project-lite",
]
[[package]]
name = "event-listener-strategy"
version = "0.4.0"
@ -2071,6 +2095,16 @@ dependencies = [
"pin-project-lite",
]
[[package]]
name = "event-listener-strategy"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291"
dependencies = [
"event-listener 5.0.0",
"pin-project-lite",
]
[[package]]
name = "fallible-iterator"
version = "0.2.0"
@ -2140,7 +2174,7 @@ version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
dependencies = [
"num-traits 0.2.17",
"num-traits 0.2.18",
]
[[package]]
@ -2418,7 +2452,7 @@ dependencies = [
"bstr",
"log",
"regex-automata",
"regex-syntax 0.8.2",
"regex-syntax",
]
[[package]]
@ -2550,9 +2584,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
[[package]]
name = "hermit-abi"
version = "0.3.4"
version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f"
checksum = "d0c62115964e08cb8039170eb33c1d0e2388a256930279edca206fff675f82c3"
[[package]]
name = "hex"
@ -2917,12 +2951,12 @@ dependencies = [
[[package]]
name = "is-terminal"
version = "0.4.10"
version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455"
checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b"
dependencies = [
"hermit-abi",
"rustix",
"libc",
"windows-sys 0.52.0",
]
@ -3022,9 +3056,9 @@ checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
[[package]]
name = "js-sys"
version = "0.3.67"
version = "0.3.68"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1"
checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
dependencies = [
"wasm-bindgen",
]
@ -3255,7 +3289,7 @@ dependencies = [
"serde",
"smol_str",
"tokio",
"toml 0.8.9",
"toml 0.8.10",
]
[[package]]
@ -3291,7 +3325,7 @@ dependencies = [
"kitsune-type",
"miette",
"num-derive",
"num-traits 0.2.17",
"num-traits 0.2.18",
"rustls 0.22.2",
"rustls-native-certs 0.7.0",
"serde",
@ -3977,32 +4011,33 @@ checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
[[package]]
name = "logos"
version = "0.13.0"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c000ca4d908ff18ac99b93a062cb8958d331c3220719c52e77cb19cc6ac5d2c1"
checksum = "161971eb88a0da7ae0c333e1063467c5b5727e7fb6b710b8db4814eade3a42e8"
dependencies = [
"logos-derive",
]
[[package]]
name = "logos-codegen"
version = "0.13.0"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc487311295e0002e452025d6b580b77bb17286de87b57138f3b5db711cded68"
checksum = "8e31badd9de5131fdf4921f6473d457e3dd85b11b7f091ceb50e4df7c3eeb12a"
dependencies = [
"beef",
"fnv",
"lazy_static",
"proc-macro2",
"quote",
"regex-syntax 0.6.29",
"regex-syntax",
"syn 2.0.48",
]
[[package]]
name = "logos-derive"
version = "0.13.0"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dbfc0d229f1f42d790440136d941afd806bc9e949e2bcb8faa813b0f00d1267e"
checksum = "1c2a69b3eb68d5bd595107c9ee58d7e07fe2bb5e360cc85b0f084dedac80de0a"
dependencies = [
"logos-codegen",
]
@ -4427,7 +4462,7 @@ checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0"
dependencies = [
"autocfg",
"num-integer",
"num-traits 0.2.17",
"num-traits 0.2.18",
]
[[package]]
@ -4441,7 +4476,7 @@ dependencies = [
"libm",
"num-integer",
"num-iter",
"num-traits 0.2.17",
"num-traits 0.2.18",
"rand 0.8.5",
"smallvec",
"zeroize",
@ -4455,9 +4490,9 @@ checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
[[package]]
name = "num-derive"
version = "0.4.1"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cfb77679af88f8b125209d354a202862602672222e7f2313fdd6dc349bad4712"
checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
dependencies = [
"proc-macro2",
"quote",
@ -4466,23 +4501,22 @@ dependencies = [
[[package]]
name = "num-integer"
version = "0.1.45"
version = "0.1.46"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
dependencies = [
"autocfg",
"num-traits 0.2.17",
"num-traits 0.2.18",
]
[[package]]
name = "num-iter"
version = "0.1.43"
version = "0.1.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9"
dependencies = [
"autocfg",
"num-integer",
"num-traits 0.2.17",
"num-traits 0.2.18",
]
[[package]]
@ -4494,7 +4528,7 @@ dependencies = [
"autocfg",
"num-bigint",
"num-integer",
"num-traits 0.2.17",
"num-traits 0.2.18",
]
[[package]]
@ -4503,14 +4537,14 @@ version = "0.1.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
dependencies = [
"num-traits 0.2.17",
"num-traits 0.2.18",
]
[[package]]
name = "num-traits"
version = "0.2.17"
version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
dependencies = [
"autocfg",
"libm",
@ -4732,7 +4766,7 @@ version = "2.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c"
dependencies = [
"num-traits 0.2.17",
"num-traits 0.2.18",
]
[[package]]
@ -4741,7 +4775,7 @@ version = "4.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a76df7075c7d4d01fdcb46c912dd17fba5b60c78ea480b475f2b6ab6f666584e"
dependencies = [
"num-traits 0.2.17",
"num-traits 0.2.18",
]
[[package]]
@ -5597,7 +5631,7 @@ dependencies = [
"aho-corasick",
"memchr",
"regex-automata",
"regex-syntax 0.8.2",
"regex-syntax",
]
[[package]]
@ -5608,15 +5642,9 @@ checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
dependencies = [
"aho-corasick",
"memchr",
"regex-syntax 0.8.2",
"regex-syntax",
]
[[package]]
name = "regex-syntax"
version = "0.6.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
[[package]]
name = "regex-syntax"
version = "0.8.2"
@ -5718,7 +5746,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f9860a6cc38ed1da53456442089b4dfa35e7cedaa326df63017af88385e6b20"
dependencies = [
"byteorder",
"num-traits 0.2.17",
"num-traits 0.2.18",
"paste",
]
@ -5743,7 +5771,7 @@ dependencies = [
"digest",
"num-bigint-dig",
"num-integer",
"num-traits 0.2.17",
"num-traits 0.2.18",
"pkcs1",
"pkcs8",
"rand_core 0.6.4",
@ -5766,7 +5794,7 @@ dependencies = [
"num-bigint",
"num-integer",
"num-rational",
"num-traits 0.2.17",
"num-traits 0.2.18",
"tracing",
]
@ -6237,9 +6265,9 @@ dependencies = [
[[package]]
name = "serde_with"
version = "3.6.0"
version = "3.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b0ed1662c5a68664f45b76d18deb0e234aff37207086803165c961eb695e981"
checksum = "15d167997bd841ec232f5b2b8e0e26606df2e7caa4c31b95ea9ca52b200bd270"
dependencies = [
"base64 0.21.7",
"chrono",
@ -6247,6 +6275,7 @@ dependencies = [
"indexmap 1.9.3",
"indexmap 2.2.2",
"serde",
"serde_derive",
"serde_json",
"serde_with_macros",
"time",
@ -6254,9 +6283,9 @@ dependencies = [
[[package]]
name = "serde_with_macros"
version = "3.6.0"
version = "3.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "568577ff0ef47b879f736cd66740e022f3672788cdf002a05a4e609ea5a6fb15"
checksum = "865f9743393e638991566a8b7a479043c2c8da94a33e0a31f18214c9cae0a64d"
dependencies = [
"darling 0.20.5",
"proc-macro2",
@ -6622,6 +6651,12 @@ version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
name = "strsim"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
[[package]]
name = "strum"
version = "0.25.0"
@ -7038,14 +7073,14 @@ dependencies = [
[[package]]
name = "toml"
version = "0.8.9"
version = "0.8.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c6a4b9e8023eb94392d3dca65d717c53abc5dad49c07cb65bb8fcd87115fa325"
checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
dependencies = [
"serde",
"serde_spanned",
"toml_datetime",
"toml_edit 0.21.1",
"toml_edit 0.22.4",
]
[[package]]
@ -7072,9 +7107,9 @@ dependencies = [
[[package]]
name = "toml_edit"
version = "0.21.1"
version = "0.22.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
checksum = "0c9ffdf896f8daaabf9b66ba8e77ea1ed5ed0f72821b398aba62352e95062951"
dependencies = [
"indexmap 2.2.2",
"serde",
@ -7421,9 +7456,9 @@ dependencies = [
[[package]]
name = "unicode-segmentation"
version = "1.10.1"
version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
[[package]]
name = "unicode-width"
@ -7631,9 +7666,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasm-bindgen"
version = "0.2.90"
version = "0.2.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406"
checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
@ -7641,9 +7676,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
version = "0.2.90"
version = "0.2.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd"
checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
dependencies = [
"bumpalo",
"log",
@ -7656,9 +7691,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-futures"
version = "0.4.40"
version = "0.4.41"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461"
checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97"
dependencies = [
"cfg-if",
"js-sys",
@ -7668,9 +7703,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
version = "0.2.90"
version = "0.2.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999"
checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@ -7678,9 +7713,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
version = "0.2.90"
version = "0.2.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7"
checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
dependencies = [
"proc-macro2",
"quote",
@ -7691,15 +7726,15 @@ dependencies = [
[[package]]
name = "wasm-bindgen-shared"
version = "0.2.90"
version = "0.2.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b"
checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
[[package]]
name = "web-sys"
version = "0.3.67"
version = "0.3.68"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed"
checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446"
dependencies = [
"js-sys",
"wasm-bindgen",
@ -7924,9 +7959,9 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
[[package]]
name = "winnow"
version = "0.5.37"
version = "0.5.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a7cad8365489051ae9f054164e459304af2e7e9bb407c958076c8bf4aef52da5"
checksum = "5389a154b01683d28c77f8f68f49dea75f0a4da32557a58f68ee51ebba472d29"
dependencies = [
"memchr",
]

View File

@ -1,4 +1,4 @@
use diesel_async::pooled_connection::deadpool::PoolError as DatabasePoolError;
use diesel_async::pooled_connection::bb8;
use kitsune_core::error::BoxError;
use kitsune_http_signatures::ring;
use rsa::pkcs8::der;
@ -19,7 +19,7 @@ pub enum Error {
Cache(#[from] kitsune_cache::Error),
#[error(transparent)]
DatabasePool(#[from] DatabasePoolError),
DatabasePool(#[from] bb8::RunError),
#[error(transparent)]
Der(#[from] der::Error),

View File

@ -180,7 +180,7 @@ impl Fetcher {
Ok::<_, Error>(account)
}
.scope_boxed()
.scoped()
})
.await?;

View File

@ -90,7 +90,7 @@ impl Fetcher {
.await?;
Ok::<_, Error>(emoji)
}
.scope_boxed()
.scoped()
})
.await?;

View File

@ -336,7 +336,7 @@ pub async fn process_new_object(process_data: ProcessNewObject<'_>) -> Result<Po
Ok::<_, Error>(new_post)
}
.scope_boxed()
.scoped()
})
.await?;
@ -403,7 +403,7 @@ pub async fn update_object(process_data: ProcessNewObject<'_>) -> Result<Post> {
Ok::<_, Error>(updated_post)
}
.scope_boxed()
.scoped()
})
.await?;

View File

@ -11,7 +11,7 @@ miette = "7.0.0"
serde = { version = "1.0.196", features = ["derive"] }
smol_str = { version = "0.2.1", features = ["serde"] }
tokio = { version = "1.36.0", features = ["fs"] }
toml = { version = "0.8.9", default-features = false, features = ["parse"] }
toml = { version = "0.8.10", default-features = false, features = ["parse"] }
[lints]
workspace = true

View File

@ -10,7 +10,7 @@ build = "build.rs"
diesel = { version = "2.1.4", features = ["uuid"] }
diesel-async = { version = "0.4.1", features = [
"async-connection-wrapper",
"deadpool",
"bb8",
"postgres",
"tokio",
] }
@ -25,8 +25,8 @@ kitsune-config = { path = "../kitsune-config" }
kitsune-language = { path = "../kitsune-language" }
kitsune-type = { path = "../kitsune-type" }
miette = "7.0.0"
num-derive = "0.4.1"
num-traits = "0.2.17"
num-derive = "0.4.2"
num-traits = "0.2.18"
rustls = "0.22.2"
rustls-native-certs = "0.7.0"
serde = { version = "1.0.196", features = ["derive"] }

View File

@ -1,5 +1,5 @@
use core::fmt;
use diesel_async::pooled_connection::deadpool::PoolError;
use diesel_async::pooled_connection::bb8;
use miette::Diagnostic;
use std::error::Error as StdError;
use thiserror::Error;
@ -52,5 +52,5 @@ pub enum Error {
Migration(BoxError),
#[error(transparent)]
Pool(#[from] PoolError),
Pool(#[from] bb8::RunError),
}

View File

@ -4,7 +4,7 @@ extern crate tracing;
use diesel::Connection;
use diesel_async::{
async_connection_wrapper::AsyncConnectionWrapper,
pooled_connection::{deadpool::Pool, AsyncDieselConnectionManager},
pooled_connection::{bb8::Pool, AsyncDieselConnectionManager},
AsyncPgConnection,
};
use diesel_migrations::{embed_migrations, EmbeddedMigrations, MigrationHarness};
@ -57,20 +57,23 @@ pub async fn connect(config: &DatabaseConfig) -> Result<PgPool> {
AsyncDieselConnectionManager::new(config.url.as_str())
};
let pool = Pool::builder(pool_config)
.max_size(config.max_connections as usize)
.build()
let pool = Pool::builder()
.max_size(config.max_connections)
.build(pool_config)
.await
.unwrap();
let mut conn = pool.get().await?;
{
let mut conn = pool.get().await?;
kitsune_language::generate_postgres_enum(&mut conn, "language_iso_code").await?;
kitsune_language::generate_regconfig_function(
&mut conn,
"iso_code_to_language",
"language_iso_code",
)
.await?;
kitsune_language::generate_postgres_enum(&mut conn, "language_iso_code").await?;
kitsune_language::generate_regconfig_function(
&mut conn,
"iso_code_to_language",
"language_iso_code",
)
.await?;
}
Ok(pool.into())
}

View File

@ -1,6 +1,6 @@
use diesel_async::{
pooled_connection::deadpool::{Object, Pool, PoolError as DeadpoolError},
scoped_futures::{ScopedBoxFuture, ScopedFutureWrapper},
pooled_connection::bb8::{self, Pool},
scoped_futures::{ScopedFutureExt, ScopedFutureWrapper},
AsyncConnection, AsyncPgConnection,
};
use miette::Diagnostic;
@ -16,7 +16,7 @@ where
E: Display + Debug,
{
#[error(transparent)]
Pool(#[from] DeadpoolError),
Pool(#[from] bb8::RunError),
#[error("{0}")]
User(E),
@ -39,8 +39,7 @@ impl PgPool {
/// Run the code inside a context with a database connection
pub async fn with_connection<'a, F, Fut, T, E>(&self, func: F) -> Result<T, PoolError<E>>
where
for<'conn> F:
FnOnce(&'conn mut Object<AsyncPgConnection>) -> ScopedFutureWrapper<'conn, 'a, Fut>,
for<'conn> F: FnOnce(&'conn mut AsyncPgConnection) -> ScopedFutureWrapper<'conn, 'a, Fut>,
Fut: Future<Output = Result<T, E>>,
E: Display + Debug,
{
@ -49,18 +48,18 @@ impl PgPool {
}
/// Run the code inside a context with a database transaction
pub async fn with_transaction<'a, R, E, F>(&self, func: F) -> Result<R, PoolError<E>>
pub async fn with_transaction<'a, F, Fut, T, E>(&self, func: F) -> Result<T, PoolError<E>>
where
F: for<'r> FnOnce(
&'r mut Object<AsyncPgConnection>,
) -> ScopedBoxFuture<'a, 'r, Result<R, E>>
+ Send
+ 'a,
E: From<diesel::result::Error> + Debug + Display + Send + 'a,
R: Send + 'a,
F: for<'conn> FnOnce(&'conn mut AsyncPgConnection) -> ScopedFutureWrapper<'conn, 'a, Fut>
+ Send,
Fut: Future<Output = Result<T, E>> + Send,
T: Send,
E: From<diesel::result::Error> + Debug + Display + Send,
{
let mut conn = self.inner.get().await?;
conn.transaction(func).await.map_err(PoolError::User)
conn.transaction(|conn| func(conn).scope_boxed())
.await
.map_err(PoolError::User)
}
}

View File

@ -1,4 +1,4 @@
use diesel_async::pooled_connection::deadpool::PoolError as DatabasePoolError;
use diesel_async::pooled_connection::bb8::RunError as DatabasePoolError;
use miette::Diagnostic;
use std::{
error::Error as StdError,

View File

@ -1,5 +1,5 @@
use diesel::{OptionalExtension, QueryDsl};
use diesel_async::{pooled_connection::deadpool, scoped_futures::ScopedFutureExt, RunQueryDsl};
use diesel_async::{pooled_connection::bb8, scoped_futures::ScopedFutureExt, RunQueryDsl};
use embed_sdk::EmbedWithExpire;
use http::{Method, Request};
use iso8601_timestamp::Timestamp;
@ -43,7 +43,7 @@ pub enum Error {
Http(#[from] kitsune_http_client::Error),
#[error(transparent)]
Pool(#[from] deadpool::PoolError),
Pool(#[from] bb8::RunError),
}
impl<E> From<kitsune_db::PoolError<E>> for Error

View File

@ -1,6 +1,6 @@
use std::fmt::{Debug, Display};
use diesel_async::pooled_connection::deadpool::PoolError as DeadpoolError;
use diesel_async::pooled_connection::bb8;
pub type Result<T, E = Error> = std::result::Result<T, E>;
@ -10,7 +10,7 @@ pub enum Error {
Cache(#[from] kitsune_cache::Error),
#[error(transparent)]
DatabasePool(#[from] DeadpoolError),
DatabasePool(#[from] bb8::RunError),
#[error(transparent)]
Diesel(#[from] diesel::result::Error),

View File

@ -1,3 +1,4 @@
use diesel_async::pooled_connection::bb8;
use miette::Diagnostic;
use std::fmt::{Debug, Display};
use thiserror::Error;
@ -8,7 +9,7 @@ pub enum Error {
Database(#[from] diesel::result::Error),
#[error(transparent)]
DatabasePool(#[from] diesel_async::pooled_connection::deadpool::PoolError),
DatabasePool(#[from] bb8::RunError),
#[cfg(feature = "meilisearch")]
#[error(transparent)]

View File

@ -1,3 +1,4 @@
use diesel_async::pooled_connection::bb8;
use kitsune_http_signatures::ring;
use std::{
error::Error as StdError,
@ -53,7 +54,7 @@ pub enum Error {
Captcha(#[from] kitsune_captcha::Error),
#[error(transparent)]
DatabasePool(#[from] diesel_async::pooled_connection::deadpool::PoolError),
DatabasePool(#[from] bb8::RunError),
#[error(transparent)]
Der(#[from] pkcs8::der::Error),

View File

@ -528,7 +528,7 @@ impl PostService {
Ok::<_, Error>(post)
}
.scope_boxed()
.scoped()
})
.await?;
@ -681,7 +681,7 @@ impl PostService {
Ok::<_, Error>(post)
}
.scope_boxed()
.scoped()
})
.await?;
@ -797,7 +797,7 @@ impl PostService {
Ok::<_, Error>(new_repost)
}
.scope_boxed()
.scoped()
})
.await?;
@ -931,7 +931,7 @@ impl PostService {
Ok::<_, Error>(favourite)
}
.scope_boxed()
.scoped()
})
.await?;

View File

@ -225,7 +225,7 @@ impl UserService {
Ok::<_, Error>(user)
}
.scope_boxed()
.scoped()
})
.await?;

View File

@ -13,7 +13,7 @@ license = false
eula = false
[dependencies]
clap = { version = "4.4.18", features = ["derive", "wrap_help"] }
clap = { version = "4.5.0", features = ["derive", "wrap_help"] }
diesel = "2.1.4"
diesel-async = "0.4.1"
dotenvy = "0.15.7"

View File

@ -13,7 +13,7 @@ eula = false
[dependencies]
athena = { path = "../lib/athena" }
clap = { version = "4.4.18", features = ["derive", "wrap_help"] }
clap = { version = "4.5.0", features = ["derive", "wrap_help"] }
deadpool-redis = "0.14.0"
kitsune-config = { path = "../crates/kitsune-config" }
kitsune-core = { path = "../crates/kitsune-core" }

View File

@ -32,7 +32,7 @@ axum-extra = { version = "0.9.2", features = [
axum-flash = "0.8.0"
bytes = "1.5.0"
chrono = { version = "0.4.33", default-features = false }
clap = { version = "4.4.18", features = ["derive", "wrap_help"] }
clap = { version = "4.5.0", features = ["derive", "wrap_help"] }
const-oid = { version = "0.9.6", features = ["db"] }
cursiv = { path = "../lib/cursiv", features = ["axum"] }
der = { version = "0.7.8", features = ["std"] }

View File

@ -4,6 +4,7 @@ use axum::{
extract::multipart::MultipartError,
response::{IntoResponse, Response},
};
use diesel_async::pooled_connection::bb8;
use http::StatusCode;
use kitsune_core::error::{BoxError, HttpError};
use kitsune_service::error::{Error as ServiceError, PostError};
@ -34,7 +35,7 @@ pub enum Error {
Database(#[from] diesel::result::Error),
#[error(transparent)]
DatabasePool(#[from] diesel_async::pooled_connection::deadpool::PoolError),
DatabasePool(#[from] bb8::RunError),
#[error(transparent)]
Der(#[from] der::Error),

View File

@ -58,7 +58,7 @@ impl Issuer for OAuthIssuer {
Ok::<_, Error>((access_token, refresh_token))
}
.scope_boxed()
.scoped()
})
.await
.map_err(|_| ())?;
@ -111,7 +111,7 @@ impl Issuer for OAuthIssuer {
Ok::<_, Error>((new_access_token, refresh_token))
}
.scope_boxed()
.scoped()
})
.await
.map_err(|_| ())?;

View File

@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0"
[dependencies]
ahash = "0.8.7"
deadpool-redis = "0.14.0"
either = { version = "1.9.0", default-features = false }
either = { version = "1.10.0", default-features = false }
futures-util = { version = "0.3.30", default-features = false }
iso8601-timestamp = { version = "0.2.17", features = ["diesel-pg"] }
kitsune-retry-policies = { path = "../kitsune-retry-policies" }

View File

@ -10,7 +10,7 @@ name = "simple"
harness = false
[dependencies]
logos = "0.13.0"
logos = "0.14.0"
[dev-dependencies]
criterion = { version = "0.5.1", default-features = false, features = [

View File

@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0"
[dependencies]
base64-simd = "0.8.0"
bytes = "1.5.0"
either = { version = "1.9.0", default-features = false }
either = { version = "1.10.0", default-features = false }
http = "1.0.0"
http-body = "1.0.0"
memchr = "2.7.1"

View File

@ -6,7 +6,7 @@ version.workspace = true
license = "MIT OR Apache-2.0"
[dependencies]
either = "1.9.0"
either = "1.10.0"
http = "1.0.0"
once_cell = "1.19.0"
regex = "1.10.3"