Fix multitag issue

This commit is contained in:
Tony Klink 2024-01-26 17:44:49 -06:00
parent 96e781cd85
commit 8c6c1a8385
Signed by: klink
GPG key ID: 85175567C4D19231

View file

@ -940,20 +940,28 @@ impl NostrSqlite {
query = query.limit(limit as u64).to_owned();
}
filter.generic_tags.iter().for_each(|(tag, values)| {
let values = values.iter().map(|val| val.to_string());
if !filter.generic_tags.is_empty() {
query = query
.left_join(
TagsTable::Table,
sea_query::Expr::col((TagsTable::Table, TagsTable::EventId))
.equals((EventsTable::Table, EventsTable::EventId)),
)
.and_where(
sea_query::Expr::col((TagsTable::Table, TagsTable::Tag)).eq(tag.to_string()),
)
.and_where(sea_query::Expr::col((TagsTable::Table, TagsTable::Value)).is_in(values))
.to_owned();
});
filter.generic_tags.iter().for_each(|(tag, values)| {
let values = values.iter().map(|val| val.to_string());
query = query
.and_where(
sea_query::Expr::col((TagsTable::Table, TagsTable::Tag))
.eq(tag.to_string()),
)
.and_where(
sea_query::Expr::col((TagsTable::Table, TagsTable::Value)).is_in(values),
)
.to_owned();
});
}
if let Some(search) = &filter.search {
query = query
@ -990,7 +998,6 @@ impl NostrSqlite {
self.get_filter_query(filter),
sea_query::Alias::new("events"),
)
// .order_by(EventsTable::CreatedAt, order.to_owned())
.to_owned()
})
.reduce(|mut result, query| result.union(sea_query::UnionType::All, query).to_owned())
@ -1266,9 +1273,11 @@ impl Noose for NostrSqlite {
Err(e) => Command::ServiceError(e),
}
}
Command::DbReqDeleteEvents(client_id, event) => match self.admin_delete_events(&event).await {
Ok(status) => Command::DbResOkWithStatus(client_id, status),
Err(e) => Command::ServiceError(e),
Command::DbReqDeleteEvents(client_id, event) => {
match self.admin_delete_events(&event).await {
Ok(status) => Command::DbResOkWithStatus(client_id, status),
Err(e) => Command::ServiceError(e),
}
}
Command::DbReqEventCounts(client_id, subscriptioin) => {
match self.counts(subscriptioin).await {