use modkit_odata::filter::{FieldKind, FilterField};
#[derive(Copy, Clone, Debug, Eq, PartialEq, Hash)]
pub enum MembershipFilterField {
GroupId,
ResourceType,
ResourceId,
}
impl FilterField for MembershipFilterField {
const FIELDS: &'static [Self] = &[Self::GroupId, Self::ResourceType, Self::ResourceId];
fn name(&self) -> &'static str {
match self {
Self::GroupId => "group_id",
Self::ResourceType => "resource_type",
Self::ResourceId => "resource_id",
}
}
fn kind(&self) -> FieldKind {
match self {
Self::GroupId => FieldKind::Uuid,
Self::ResourceType | Self::ResourceId => FieldKind::String,
}
}
}
#[cfg(test)]
#[path = "memberships_tests.rs"]
mod memberships_tests;