diff --git a/acrate-core/src/meta.rs b/acrate-core/src/meta.rs index 82da189..7ff7aa9 100644 --- a/acrate-core/src/meta.rs +++ b/acrate-core/src/meta.rs @@ -45,14 +45,16 @@ pub struct MetaProperty { impl MetaAlias { - pub async fn query_matching(conn: &mut AsyncPgConnection, subject: &str) -> QueryResult> { + pub async fn query_matching(conn: &mut AsyncPgConnection, doc: &str, subject: &str) -> QueryResult> { use diesel::prelude::*; use diesel_async::RunQueryDsl; use schema::meta_aliases::dsl::*; + let document_is_equal = document.eq(doc); let subject_matches_pattern = subject.into_sql::().ilike(pattern); meta_aliases + .filter(document_is_equal) .filter(subject_matches_pattern) .select(Self::as_select()) .load(conn) @@ -61,14 +63,16 @@ impl MetaAlias { } impl MetaLink { - pub async fn query_matching(conn: &mut AsyncPgConnection, subject: &str) -> QueryResult> { + pub async fn query_matching(conn: &mut AsyncPgConnection, doc: &str, subject: &str) -> QueryResult> { use diesel::prelude::*; use diesel_async::RunQueryDsl; use schema::meta_links::dsl::*; + let document_is_equal = document.eq(doc); let subject_matches_pattern = subject.into_sql::().ilike(pattern); meta_links + .filter(document_is_equal) .filter(subject_matches_pattern) .select(Self::as_select()) .load(conn) @@ -86,14 +90,16 @@ impl MetaLink { } impl MetaProperty { - pub async fn query_matching(conn: &mut AsyncPgConnection, subject: &str) -> QueryResult> { + pub async fn query_matching(conn: &mut AsyncPgConnection, doc: &str, subject: &str) -> QueryResult> { use diesel::prelude::*; use diesel_async::RunQueryDsl; use schema::meta_properties::dsl::*; + let document_is_equal = document.eq(doc); let subject_matches_pattern = subject.into_sql::().ilike(pattern); meta_properties + .filter(document_is_equal) .filter(subject_matches_pattern) .select(Self::as_select()) .load(conn)