use crate::biome::oauth::store::OAuthUser;
use crate::rest_api::paging::{Paging, DEFAULT_LIMIT, DEFAULT_OFFSET};
#[derive(Serialize)]
pub(crate) struct ListOAuthUserResponse<'a> {
pub data: Vec<OAuthUserResponse<'a>>,
pub paging: Paging,
}
#[derive(Serialize)]
pub(crate) struct OAuthUserResponse<'a> {
pub subject: &'a str,
pub user_id: &'a str,
}
impl<'a> From<&'a OAuthUser> for OAuthUserResponse<'a> {
fn from(user: &'a OAuthUser) -> Self {
Self {
subject: user.subject(),
user_id: user.user_id(),
}
}
}
#[derive(Deserialize)]
pub struct PagingQuery {
#[serde(default = "default_limit")]
pub limit: usize,
#[serde(default = "default_offset")]
pub offset: usize,
}
fn default_limit() -> usize {
DEFAULT_LIMIT
}
fn default_offset() -> usize {
DEFAULT_OFFSET
}