diff --git a/Cargo.lock b/Cargo.lock index 05f9fab9c..b9fd53850 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1186,12 +1186,6 @@ dependencies = [ "either", ] -[[package]] -name = "castaway" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6" - [[package]] name = "cc" version = "1.1.13" @@ -1903,37 +1897,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "curl" -version = "0.4.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e2161dd6eba090ff1594084e95fd67aeccf04382ffea77999ea94ed42ec67b6" -dependencies = [ - "curl-sys", - "libc", - "openssl-probe", - "openssl-sys", - "schannel", - "socket2 0.5.7", - "windows-sys 0.52.0", -] - -[[package]] -name = "curl-sys" -version = "0.4.74+curl-8.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8af10b986114528fcdc4b63b6f5f021b7057618411046a4de2ba0f0149a097bf" -dependencies = [ - "cc", - "libc", - "libnghttp2-sys", - "libz-sys", - "openssl-sys", - "pkg-config", - "vcpkg", - "windows-sys 0.52.0", -] - [[package]] name = "darling" version = "0.20.10" @@ -3232,33 +3195,6 @@ version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" -[[package]] -name = "isahc" -version = "1.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "334e04b4d781f436dc315cb1e7515bd96826426345d498149e4bde36b67f8ee9" -dependencies = [ - "async-channel 1.9.0", - "castaway", - "crossbeam-utils", - "curl", - "curl-sys", - "encoding_rs", - "event-listener 2.5.3", - "futures-lite 1.13.0", - "http 0.2.12", - "log", - "mime", - "once_cell", - "polling 2.8.0", - "slab", - "sluice", - "tracing", - "tracing-futures", - "url", - "waker-fn", -] - [[package]] name = "iso8601" version = "0.6.1" @@ -3425,16 +3361,6 @@ dependencies = [ "libc", ] -[[package]] -name = "libnghttp2-sys" -version = "0.1.10+1.61.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "959c25552127d2e1fa72f0e52548ec04fc386e827ba71a7bd01db46a447dc135" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "libredox" version = "0.1.3" @@ -3457,18 +3383,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "libz-sys" -version = "1.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc53a7799a7496ebc9fd29f31f7df80e83c9bda5299768af5f9e59eeea74647" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - [[package]] name = "linked-hash-map" version = "0.5.6" @@ -3600,9 +3514,9 @@ dependencies = [ [[package]] name = "meilisearch-index-setting-macro" -version = "0.25.0" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "498e40a5e8be8cfc405bf4c99a093bca32df2e7ea21e041269aa906cfca673a4" +checksum = "056e8c0652af81cc6525e0d9c0e1037ea7bcd77955dcd4aef1a1441be7ad7e55" dependencies = [ "convert_case", "proc-macro2", @@ -3613,26 +3527,26 @@ dependencies = [ [[package]] name = "meilisearch-sdk" -version = "0.25.0" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8977e156332d73545daea1187af11599a953f37b9fd22677d98a04cb965ed55e" +checksum = "66958255878d712b4f2dece377a8661b41dc976ff15f564b91bfce8b4a619304" dependencies = [ "async-trait", + "bytes", "either", "futures", "futures-io", - "isahc", "iso8601", - "js-sys", "jsonwebtoken", "log", "meilisearch-index-setting-macro", + "pin-project-lite", + "reqwest", "serde", "serde_json", "thiserror", "time", "uuid", - "wasm-bindgen", "wasm-bindgen-futures", "web-sys", "yaup", @@ -5612,17 +5526,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "sluice" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d7400c0eff44aa2fcb5e31a5f24ba9716ed90138769e4977a2ba6014ae63eb5" -dependencies = [ - "async-channel 1.9.0", - "futures-core", - "futures-io", -] - [[package]] name = "smallvec" version = "1.13.2" @@ -6424,16 +6327,6 @@ dependencies = [ "tracing-subscriber", ] -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - [[package]] name = "tracing-log" version = "0.2.0" @@ -6659,6 +6552,7 @@ checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" dependencies = [ "getrandom 0.2.15", "serde", + "wasm-bindgen", ] [[package]] @@ -7184,12 +7078,13 @@ checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" [[package]] name = "yaup" -version = "0.2.1" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a59e7d27bed43f7c37c25df5192ea9d435a8092a902e02203359ac9ce3e429d9" +checksum = "b0144f1a16a199846cb21024da74edd930b43443463292f536b7110b4855b5c6" dependencies = [ + "form_urlencoded", "serde", - "url", + "thiserror", ] [[package]] diff --git a/crates/search/meilisearch/Cargo.toml b/crates/search/meilisearch/Cargo.toml index 7d08cef99..0cae3d973 100644 --- a/crates/search/meilisearch/Cargo.toml +++ b/crates/search/meilisearch/Cargo.toml @@ -31,7 +31,7 @@ charted-config = { version = "0.1.0-beta", path = "../../config" } charted-search = { version = "0.1.0-beta", path = ".." } erased-serde.workspace = true eyre.workspace = true -meilisearch-sdk = "0.25.0" +meilisearch-sdk = "0.27.0" sentry.workspace = true serde.workspace = true tracing.workspace = true diff --git a/crates/search/meilisearch/src/lib.rs b/crates/search/meilisearch/src/lib.rs index 687b0ec52..169c39a62 100644 --- a/crates/search/meilisearch/src/lib.rs +++ b/crates/search/meilisearch/src/lib.rs @@ -16,7 +16,10 @@ use async_trait::async_trait; use charted_config::search::meilisearch::Config; use charted_search::{Backend, Indexable}; -use meilisearch_sdk::{FailedTask, Task, TaskInfo}; +use meilisearch_sdk::{ + task_info::TaskInfo, + tasks::{FailedTask, Task}, +}; use std::borrow::Cow; use tracing::{error, info, trace}; @@ -35,17 +38,18 @@ impl Indexable for DummyIndexable { /// Represents a [`Backend`] that allows to search through objects with [Meilisearch](https://meilisearch.com). #[derive(Debug, Clone)] -pub struct Meilisearch(meilisearch_sdk::Client); +pub struct Meilisearch(meilisearch_sdk::client::Client); impl Meilisearch { /// Creates a new [`Meilisearch`] object with the [configuration reference][Config] pub fn new(config: &Config) -> Meilisearch { - let client = meilisearch_sdk::Client::new(&config.host, config.master_key.as_ref()); - Meilisearch(client) + let client = meilisearch_sdk::client::Client::new(&config.host, config.master_key.as_ref()); + // This should only fail if reqwest fails to create its client internally. + Meilisearch(client.expect("should be able to create Melisearch client")) } /// Returns a reference to the constructed Meilisearch SDK client. - pub fn client(&self) -> &meilisearch_sdk::Client { + pub fn client(&self) -> &meilisearch_sdk::client::Client { &self.0 } @@ -104,7 +108,7 @@ impl Backend for Meilisearch { } async fn process_task( - client: &meilisearch_sdk::Client, + client: &meilisearch_sdk::client::Client, task: &TaskInfo, obj: &(dyn Indexable + Send + Sync), ) -> eyre::Result<()> {