let list = move |mut conn: DbConn<'a>, options: RegistrationApplicationQuery| async move {
let mut query = all_joins(registration_application::table.into_boxed());
- if options.unread_only.unwrap_or(false) {
+ if options.unread_only {
query = query.filter(registration_application::admin_id.is_null())
}
- if options.verified_email_only.unwrap_or(false) {
+ if options.verified_email_only {
query = query.filter(local_user::email_verified.eq(true))
}
#[derive(Default)]
pub struct RegistrationApplicationQuery {
- pub unread_only: Option<bool>,
- pub verified_email_only: Option<bool>,
+ pub unread_only: bool,
+ pub verified_email_only: bool,
pub page: Option<i64>,
pub limit: Option<i64>,
}
// Do a batch read of the applications
let apps = RegistrationApplicationQuery {
- unread_only: (Some(true)),
+ unread_only: (true),
..Default::default()
}
.list(pool)
// Do a batch read of apps again
// It should show only jessicas which is unresolved
let apps_after_resolve = RegistrationApplicationQuery {
- unread_only: (Some(true)),
+ unread_only: (true),
..Default::default()
}
.list(pool)