mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
core: fix scoreboard_export PERM_VIEW_DISPLAYNAME (#793)
This commit is contained in:
1 parent
a2ed84a4be
commit
87adfd288c
5 files changed
+16
-12
No files matched your search
@@ -384,16 +384,16 @@ class UserModel {
|
||||
return projection ? coll.find(params).project<Udoc>(buildProjection(projection)) : coll.find(params);
|
||||
}
|
||||
|
||||
static async getListForRender(domainId: string, uids: number[]) {
|
||||
static async getListForRender(domainId: string, uids: number[], showDisplayName = true) {
|
||||
const [udocs, vudocs, dudocs] = await Promise.all([
|
||||
UserModel.getMulti({ _id: { $in: uids } }, ['_id', 'uname', 'mail', 'avatar', 'school', 'studentId']).toArray(),
|
||||
collV.find({ _id: { $in: uids } }).toArray(),
|
||||
domain.getDomainUserMulti(domainId, uids).project({ uid: true, displayName: true }).toArray(),
|
||||
domain.getDomainUserMulti(domainId, uids).project({ uid: true, displayName: showDisplayName }).toArray(),
|
||||
]);
|
||||
const udict = {};
|
||||
for (const udoc of udocs) udict[udoc._id] = udoc;
|
||||
for (const udoc of vudocs) udict[udoc._id] = udoc;
|
||||
for (const dudoc of dudocs) udict[dudoc.uid].displayName = dudoc.displayName;
|
||||
if (showDisplayName) for (const dudoc of dudocs) udict[dudoc.uid].displayName = dudoc.displayName;
|
||||
for (const uid of uids) udict[uid] ||= { ...UserModel.defaultUser };
|
||||
for (const key in udict) {
|
||||
udict[key].school ||= '';
|
||||
|
||||
Reference in new issue
Block a user