feat(gpodder): add user filter for paginated users method

This commit is contained in:
Jef Roosens 2025-06-29 10:23:30 +02:00
parent c7c5cf889c
commit fce301080c
No known key found for this signature in database
GPG key ID: 21FD3D77D56BAF49
5 changed files with 41 additions and 15 deletions

View file

@ -72,3 +72,8 @@ pub struct Page {
pub page: u32,
pub per_page: u32,
}
#[derive(Clone, Debug, PartialEq, Eq, Default)]
pub struct UserFilter {
pub username: Option<String>,
}

View file

@ -7,7 +7,11 @@ pub struct AdminRepository<'a> {
}
impl<'a> AdminRepository<'a> {
pub fn paginated_users(&self, page: Page) -> Result<Vec<models::User>, AuthErr> {
self.store.paginated_users(page)
pub fn paginated_users(
&self,
page: Page,
filter: &models::UserFilter,
) -> Result<Vec<models::User>, AuthErr> {
self.store.paginated_users(page, filter)
}
}

View file

@ -66,7 +66,7 @@ pub trait GpodderAuthStore {
fn remove_old_sessions(&self, min_last_seen: DateTime<Utc>) -> Result<usize, AuthErr>;
/// Return the given page of users, ordered by username
fn paginated_users(&self, page: Page) -> Result<Vec<User>, AuthErr>;
fn paginated_users(&self, page: Page, filter: &UserFilter) -> Result<Vec<User>, AuthErr>;
}
pub trait GpodderDeviceStore {