atagen

macltok

public
Star0
Watch0
7cf3485212044ecdd5da3a45cd090c6e00b92597
3
ssh://brewery@pls.lobotomise.me:33/atagen/macltok.git

Blame: src/normalise/member.rs

96fdf90aacd6atagen2026-09-08 08:24 UTC1
use matrix_sdk::room::RoomMember;
96fdf90aacd6atagen2026-09-08 08:24 UTC2
use ruma::events::room::member::MembershipState;
96fdf90aacd6atagen2026-09-08 08:24 UTC3
96fdf90aacd6atagen2026-09-08 08:24 UTC4
use crate::{MemberMembership, MemberSummary};
96fdf90aacd6atagen2026-09-08 08:24 UTC5
96fdf90aacd6atagen2026-09-08 08:24 UTC6
pub(crate) fn member_summary(member: RoomMember) -> MemberSummary {
96fdf90aacd6atagen2026-09-08 08:24 UTC7
    MemberSummary {
96fdf90aacd6atagen2026-09-08 08:24 UTC8
        user_id: member.user_id().to_owned(),
96fdf90aacd6atagen2026-09-08 08:24 UTC9
        name: member.name().to_owned(),
96fdf90aacd6atagen2026-09-08 08:24 UTC10
        display_name: member.display_name().map(ToOwned::to_owned),
96fdf90aacd6atagen2026-09-08 08:24 UTC11
        avatar: member.avatar_url().map(ToOwned::to_owned),
96fdf90aacd6atagen2026-09-08 08:24 UTC12
        membership: match member.membership() {
96fdf90aacd6atagen2026-09-08 08:24 UTC13
            MembershipState::Join => MemberMembership::Joined,
96fdf90aacd6atagen2026-09-08 08:24 UTC14
            MembershipState::Invite => MemberMembership::Invited,
96fdf90aacd6atagen2026-09-08 08:24 UTC15
            MembershipState::Leave => MemberMembership::Left,
96fdf90aacd6atagen2026-09-08 08:24 UTC16
            MembershipState::Knock => MemberMembership::Knocked,
96fdf90aacd6atagen2026-09-08 08:24 UTC17
            MembershipState::Ban => MemberMembership::Banned,
96fdf90aacd6atagen2026-09-08 08:24 UTC18
            value => MemberMembership::Custom(value.to_string()),
96fdf90aacd6atagen2026-09-08 08:24 UTC19
        },
96fdf90aacd6atagen2026-09-08 08:24 UTC20
        own: member.is_account_user(),
96fdf90aacd6atagen2026-09-08 08:24 UTC21
        name_ambiguous: member.name_ambiguous(),
96fdf90aacd6atagen2026-09-08 08:24 UTC22
        ignored: member.is_ignored(),
96fdf90aacd6atagen2026-09-08 08:24 UTC23
        service: member.is_service_member(),
96fdf90aacd6atagen2026-09-08 08:24 UTC24
    }
96fdf90aacd6atagen2026-09-08 08:24 UTC25
}