From aace58ccb437b451e6069b3cd05c157d290e96b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?marcin=20miko=C5=82ajczak?= Date: Wed, 24 Apr 2024 17:02:55 +0200 Subject: [PATCH] Fix role badges for Pleroma MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: marcin mikołajczak --- src/schemas/account.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/schemas/account.ts b/src/schemas/account.ts index 06252ac5a..b085120b7 100644 --- a/src/schemas/account.ts +++ b/src/schemas/account.ts @@ -129,7 +129,7 @@ const getDomain = (url: string) => { }; const filterBadges = (tags?: string[]) => - tags?.filter(tag => tag.startsWith('badge:')).map(tag => ({ id: tag, name: tag.replace(/^badge:/, '') })); + tags?.filter(tag => tag.startsWith('badge:')).map(tag => roleSchema.parse({ id: tag, name: tag.replace(/^badge:/, '') })); /** Add internal fields to the account. */ const transformAccount = ({ pleroma, other_settings, fields, ...account }: T) => { @@ -169,7 +169,7 @@ const transformAccount = ({ pleroma, other_setti const { relationship, ...rest } = pleroma; return rest; })(), - roles: account.roles || filterBadges(pleroma?.tags), + roles: account.roles.length ? account.roles : filterBadges(pleroma?.tags), relationship: pleroma?.relationship, staff: pleroma?.is_admin || pleroma?.is_moderator || false, suspended: account.suspended || pleroma?.deactivated || false,