Skip to content

Commit d063095

Browse files
committed
Fix references of the meilisearch_sdk crate within the Document macro
1 parent eef9553 commit d063095

File tree

3 files changed

+25
-13
lines changed

3 files changed

+25
-13
lines changed

meilisearch-index-setting-macro/src/lib.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -110,18 +110,18 @@ fn get_document_implementation(
110110
get_settings_token_for_string(&distinct_key_attribute, "with_distinct_attribute");
111111

112112
quote! {
113-
#[meilisearch_sdk::macro_helper::async_trait]
114-
impl meilisearch_sdk::documents::Document for #struct_ident {
115-
fn generate_settings() -> meilisearch_sdk::settings::Settings {
116-
meilisearch_sdk::settings::Settings::new()
113+
#[::meilisearch_sdk::macro_helper::async_trait]
114+
impl ::meilisearch_sdk::documents::Document for #struct_ident {
115+
fn generate_settings() -> ::meilisearch_sdk::settings::Settings {
116+
::meilisearch_sdk::settings::Settings::new()
117117
#display_attr_tokens
118118
#sortable_attr_tokens
119119
#filterable_attr_tokens
120120
#searchable_attr_tokens
121121
#distinct_attr_token
122122
}
123123

124-
async fn generate_index(client: &crate::client::Client) -> std::result::Result<crate::indexes::Index, crate::tasks::Task> {
124+
async fn generate_index(client: &::meilisearch_sdk::client::Client) -> std::result::Result<::meilisearch_sdk::indexes::Index, ::meilisearch_sdk::tasks::Task> {
125125
return client.create_index(#index_name, #primary_key_token)
126126
.await.unwrap()
127127
.wait_for_completion(&client, ::std::option::Option::None, ::std::option::Option::None)

src/documents.rs

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -294,15 +294,11 @@ impl<'a> DocumentsQuery<'a> {
294294

295295
#[cfg(test)]
296296
mod tests {
297-
use serde::{Deserialize, Serialize};
298-
299-
use meilisearch_index_setting_macro::Document;
300-
use meilisearch_test_macro::meilisearch_test;
301-
302-
use crate as meilisearch_sdk;
303-
use crate::{client::*, indexes::*};
304-
305297
use super::*;
298+
use crate::{client::*, indexes::*};
299+
use ::meilisearch_sdk::documents::Document;
300+
use meilisearch_test_macro::meilisearch_test;
301+
use serde::{Deserialize, Serialize};
306302

307303
#[derive(Debug, Serialize, Deserialize, PartialEq)]
308304
struct MyObject {
@@ -447,4 +443,17 @@ mod tests {
447443

448444
Ok(())
449445
}
446+
#[derive(Serialize, Deserialize, Document)]
447+
struct Movie {
448+
#[document(primary_key)]
449+
movie_id: u64,
450+
#[document(displayed, searchable)]
451+
title: String,
452+
#[document(displayed)]
453+
description: String,
454+
#[document(filterable, sortable, displayed)]
455+
release_date: String,
456+
#[document(filterable, displayed)]
457+
genres: Vec<String>,
458+
}
450459
}

src/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,9 @@ mod utils;
251251

252252
pub use client::*;
253253

254+
#[cfg(test)]
255+
/// Support for the `Document` derive proc macro in the crate's tests
256+
extern crate self as meilisearch_sdk;
254257
/// Can't assume that the user of proc_macro will have access to `async_trait` crate. So exporting the `async-trait` crate from `meilisearch_sdk` in a hidden module.
255258
#[doc(hidden)]
256259
pub mod macro_helper {

0 commit comments

Comments
 (0)