feat: add pronouns to user and server members field (#811)

Signed-off-by: İspik <ispik@ispik.dev>
This commit is contained in:
İspik
2026-06-21 10:55:23 +03:00
committed by GitHub
parent d27917b824
commit ffab2369ab
10 changed files with 54 additions and 0 deletions

View File

@@ -359,6 +359,7 @@ mod test {
id: None,
joined_at: None,
nickname: None,
pronouns: None,
avatar: None,
timeout: None,
roles: Some(second_member_roles),
@@ -688,6 +689,7 @@ mod test {
id: None,
joined_at: None,
nickname: None,
pronouns: None,
roles: Some(vec![role.id.clone()]),
timeout: None,
can_publish: None,

View File

@@ -64,6 +64,12 @@ pub async fn edit(
}
}
if data.pronouns.is_some() || data.remove.contains(&v0::FieldsMember::Pronouns) {
if user.id != member.id.user {
return Err(create_error!(InvalidOperation))
}
}
if data.avatar.is_some() || data.remove.contains(&v0::FieldsMember::Avatar) {
if user.id == member.id.user {
permissions.throw_if_lacking_channel_permission(ChannelPermission::ChangeAvatar)?;
@@ -172,6 +178,7 @@ pub async fn edit(
// Apply edits to the member object
let v0::DataMemberEdit {
nickname,
pronouns,
avatar,
roles,
timeout,
@@ -183,6 +190,7 @@ pub async fn edit(
let mut partial = PartialMember {
nickname,
pronouns,
roles,
timeout,
can_publish,

View File

@@ -48,6 +48,7 @@ pub async fn edit(
// Exit out early if nothing is changed
if data.display_name.is_none()
&& data.pronouns.is_none()
&& data.status.is_none()
&& data.profile.is_none()
&& data.avatar.is_none()
@@ -80,6 +81,7 @@ pub async fn edit(
let mut partial: PartialUser = PartialUser {
display_name: data.display_name,
pronouns: data.pronouns,
badges: data.badges,
flags: data.flags,
..Default::default()