mirror of
https://github.com/misskey-dev/misskey.git
synced 2025-04-20 16:32:46 +09:00
enhance(backend): 公開バッジのみをpackするように (MisskeyIO#652)
This commit is contained in:
parent
2b2975c0dd
commit
b8a90659f3
@ -500,13 +500,16 @@ export class UserEntityService implements OnModuleInit {
|
|||||||
} : undefined) : undefined,
|
} : undefined) : undefined,
|
||||||
emojis: this.customEmojiService.populateEmojis(user.emojis, user.host),
|
emojis: this.customEmojiService.populateEmojis(user.emojis, user.host),
|
||||||
onlineStatus: this.getOnlineStatus(user),
|
onlineStatus: this.getOnlineStatus(user),
|
||||||
// パフォーマンス上の理由でローカルユーザーのみ
|
badgeRoles: this.roleService.getUserBadgeRoles(user.id).then((rs) => rs
|
||||||
badgeRoles: user.host == null ? this.roleService.getUserBadgeRoles(user.id).then(rs => rs.sort((a, b) => b.displayOrder - a.displayOrder).map(r => ({
|
.filter((r) => r.isPublic || iAmModerator)
|
||||||
|
.sort((a, b) => b.displayOrder - a.displayOrder)
|
||||||
|
.map((r) => ({
|
||||||
name: r.name,
|
name: r.name,
|
||||||
iconUrl: r.iconUrl,
|
iconUrl: r.iconUrl,
|
||||||
displayOrder: r.displayOrder,
|
displayOrder: r.displayOrder,
|
||||||
behavior: r.badgeBehavior ?? undefined,
|
behavior: r.badgeBehavior ?? undefined,
|
||||||
}))) : undefined,
|
})),
|
||||||
|
),
|
||||||
|
|
||||||
...(isDetailed ? {
|
...(isDetailed ? {
|
||||||
url: profile!.url,
|
url: profile!.url,
|
||||||
|
@ -231,7 +231,7 @@ describe('ユーザー', () => {
|
|||||||
rolePublic = await role(root, { isPublic: true, name: 'Public Role' });
|
rolePublic = await role(root, { isPublic: true, name: 'Public Role' });
|
||||||
await api('admin/roles/assign', { userId: userRolePublic.id, roleId: rolePublic.id }, root);
|
await api('admin/roles/assign', { userId: userRolePublic.id, roleId: rolePublic.id }, root);
|
||||||
userRoleBadge = await signup({ username: 'userRoleBadge' });
|
userRoleBadge = await signup({ username: 'userRoleBadge' });
|
||||||
roleBadge = await role(root, { asBadge: true, name: 'Badge Role' });
|
roleBadge = await role(root, { asBadge: true, name: 'Badge Role', isPublic: true });
|
||||||
await api('admin/roles/assign', { userId: userRoleBadge.id, roleId: roleBadge.id }, root);
|
await api('admin/roles/assign', { userId: userRoleBadge.id, roleId: roleBadge.id }, root);
|
||||||
userSilenced = await signup({ username: 'userSilenced' });
|
userSilenced = await signup({ username: 'userSilenced' });
|
||||||
await post(userSilenced, { text: 'test' });
|
await post(userSilenced, { text: 'test' });
|
||||||
@ -665,7 +665,16 @@ describe('ユーザー', () => {
|
|||||||
displayOrder: roleBadge.displayOrder,
|
displayOrder: roleBadge.displayOrder,
|
||||||
}]);
|
}]);
|
||||||
}
|
}
|
||||||
assert.deepStrictEqual(response.roles, []); // バッヂだからといってrolesが取れるとは限らない
|
assert.deepStrictEqual(response.roles, [{
|
||||||
|
id: roleBadge.id,
|
||||||
|
name: roleBadge.name,
|
||||||
|
color: roleBadge.color,
|
||||||
|
iconUrl: roleBadge.iconUrl,
|
||||||
|
description: roleBadge.description,
|
||||||
|
isModerator: roleBadge.isModerator,
|
||||||
|
isAdministrator: roleBadge.isAdministrator,
|
||||||
|
displayOrder: roleBadge.displayOrder,
|
||||||
|
}]);
|
||||||
});
|
});
|
||||||
test('をID指定のリスト形式で取得することができる(空)', async () => {
|
test('をID指定のリスト形式で取得することができる(空)', async () => {
|
||||||
const parameters = { userIds: [] };
|
const parameters = { userIds: [] };
|
||||||
|
Loading…
Reference in New Issue
Block a user