use crate::data::Element;
use entity::{TypedPredicate as P, *};
#[derive(Default)]
pub struct MiscQuery;
#[async_graphql::Object]
impl MiscQuery {
async fn element_at_offset(
&self,
offset: usize,
) -> async_graphql::Result<Option<Element>> {
Element::query()
.where_field(
"region",
P::has_key_where_value(
"offset",
P::and(vec![
P::greater_than_or_equals(offset),
P::less_than_or_equals(offset),
]),
)
.into(),
)
.execute()
.map(|x| x.into_iter().next())
.map_err(|x| async_graphql::Error::new(x.to_string()))
}
}