mirror of
https://github.com/wekan/wekan.git
synced 2025-09-22 01:50:48 +02:00
Move every Meteor.user() to the ReactiveCache
This commit is contained in:
parent
6e1ef3d94a
commit
5e3a9dc059
42 changed files with 211 additions and 252 deletions
|
@ -503,8 +503,8 @@ Users.attachSchema(
|
|||
|
||||
Users.allow({
|
||||
update(userId, doc) {
|
||||
const user = ReactiveCache.getUser(userId);
|
||||
if ((user && user.isAdmin) || (Meteor.user() && Meteor.user().isAdmin))
|
||||
const user = ReactiveCache.getUser(userId) || ReactiveCache.getCurrentUser();
|
||||
if (user?.isAdmin)
|
||||
return true;
|
||||
if (!user) {
|
||||
return false;
|
||||
|
@ -540,7 +540,7 @@ Users.allow({
|
|||
// Non-Admin users can not change to Admin
|
||||
Users.deny({
|
||||
update(userId, board, fieldNames) {
|
||||
return _.contains(fieldNames, 'isAdmin') && !Meteor.user().isAdmin;
|
||||
return _.contains(fieldNames, 'isAdmin') && !ReactiveCache.getCurrentUser().isAdmin;
|
||||
},
|
||||
fetch: [],
|
||||
});
|
||||
|
@ -1140,50 +1140,50 @@ Users.mutations({
|
|||
Meteor.methods({
|
||||
setListSortBy(value) {
|
||||
check(value, String);
|
||||
Meteor.user().setListSortBy(value);
|
||||
ReactiveCache.getCurrentUser().setListSortBy(value);
|
||||
},
|
||||
toggleDesktopDragHandles() {
|
||||
const user = Meteor.user();
|
||||
const user = ReactiveCache.getCurrentUser();
|
||||
user.toggleDesktopHandles(user.hasShowDesktopDragHandles());
|
||||
},
|
||||
toggleHideCheckedItems() {
|
||||
const user = Meteor.user();
|
||||
const user = ReactiveCache.getCurrentUser();
|
||||
user.toggleHideCheckedItems();
|
||||
},
|
||||
toggleSystemMessages() {
|
||||
const user = Meteor.user();
|
||||
const user = ReactiveCache.getCurrentUser();
|
||||
user.toggleSystem(user.hasHiddenSystemMessages());
|
||||
},
|
||||
toggleCustomFieldsGrid() {
|
||||
const user = Meteor.user();
|
||||
const user = ReactiveCache.getCurrentUser();
|
||||
user.toggleFieldsGrid(user.hasCustomFieldsGrid());
|
||||
},
|
||||
toggleCardMaximized() {
|
||||
const user = Meteor.user();
|
||||
const user = ReactiveCache.getCurrentUser();
|
||||
user.toggleCardMaximized(user.hasCardMaximized());
|
||||
},
|
||||
toggleMinicardLabelText() {
|
||||
const user = Meteor.user();
|
||||
const user = ReactiveCache.getCurrentUser();
|
||||
user.toggleLabelText(user.hasHiddenMinicardLabelText());
|
||||
},
|
||||
toggleRescueCardDescription() {
|
||||
const user = Meteor.user();
|
||||
const user = ReactiveCache.getCurrentUser();
|
||||
user.toggleRescueCardDescription(user.hasRescuedCardDescription());
|
||||
},
|
||||
changeLimitToShowCardsCount(limit) {
|
||||
check(limit, Number);
|
||||
Meteor.user().setShowCardsCountAt(limit);
|
||||
ReactiveCache.getCurrentUser().setShowCardsCountAt(limit);
|
||||
},
|
||||
changeStartDayOfWeek(startDay) {
|
||||
check(startDay, Number);
|
||||
Meteor.user().setStartDayOfWeek(startDay);
|
||||
ReactiveCache.getCurrentUser().setStartDayOfWeek(startDay);
|
||||
},
|
||||
});
|
||||
|
||||
if (Meteor.isServer) {
|
||||
Meteor.methods({
|
||||
setAllUsersHideSystemMessages() {
|
||||
if (Meteor.user() && Meteor.user().isAdmin) {
|
||||
if (ReactiveCache.getCurrentUser()?.isAdmin) {
|
||||
// If setting is missing, add it
|
||||
Users.update(
|
||||
{
|
||||
|
@ -1241,7 +1241,7 @@ if (Meteor.isServer) {
|
|||
check(importUsernames, Array);
|
||||
check(userOrgsArray, Array);
|
||||
check(userTeamsArray, Array);
|
||||
if (Meteor.user() && Meteor.user().isAdmin) {
|
||||
if (ReactiveCache.getCurrentUser()?.isAdmin) {
|
||||
const nUsersWithUsername = Users.find({
|
||||
username,
|
||||
}).count();
|
||||
|
@ -1283,7 +1283,7 @@ if (Meteor.isServer) {
|
|||
setUsername(username, userId) {
|
||||
check(username, String);
|
||||
check(userId, String);
|
||||
if (Meteor.user() && Meteor.user().isAdmin) {
|
||||
if (ReactiveCache.getCurrentUser()?.isAdmin) {
|
||||
const nUsersWithUsername = Users.find({
|
||||
username,
|
||||
}).count();
|
||||
|
@ -1301,7 +1301,7 @@ if (Meteor.isServer) {
|
|||
setEmail(email, userId) {
|
||||
check(email, String);
|
||||
check(username, String);
|
||||
if (Meteor.user() && Meteor.user().isAdmin) {
|
||||
if (ReactiveCache.getCurrentUser()?.isAdmin) {
|
||||
if (Array.isArray(email)) {
|
||||
email = email.shift();
|
||||
}
|
||||
|
@ -1335,7 +1335,7 @@ if (Meteor.isServer) {
|
|||
check(username, String);
|
||||
check(email, String);
|
||||
check(userId, String);
|
||||
if (Meteor.user() && Meteor.user().isAdmin) {
|
||||
if (ReactiveCache.getCurrentUser()?.isAdmin) {
|
||||
if (Array.isArray(email)) {
|
||||
email = email.shift();
|
||||
}
|
||||
|
@ -1346,17 +1346,15 @@ if (Meteor.isServer) {
|
|||
setPassword(newPassword, userId) {
|
||||
check(userId, String);
|
||||
check(newPassword, String);
|
||||
if (Meteor.user() && Meteor.user().isAdmin) {
|
||||
if (Meteor.user().isAdmin) {
|
||||
Accounts.setPassword(userId, newPassword);
|
||||
}
|
||||
if (ReactiveCache.getCurrentUser()?.isAdmin) {
|
||||
Accounts.setPassword(userId, newPassword);
|
||||
}
|
||||
},
|
||||
setEmailVerified(email, verified, userId) {
|
||||
check(email, String);
|
||||
check(verified, Boolean);
|
||||
check(userId, String);
|
||||
if (Meteor.user() && Meteor.user().isAdmin) {
|
||||
if (ReactiveCache.getCurrentUser()?.isAdmin) {
|
||||
Users.update(userId, {
|
||||
$set: {
|
||||
emails: [
|
||||
|
@ -1372,7 +1370,7 @@ if (Meteor.isServer) {
|
|||
setInitials(initials, userId) {
|
||||
check(initials, String);
|
||||
check(userId, String);
|
||||
if (Meteor.user() && Meteor.user().isAdmin) {
|
||||
if (ReactiveCache.getCurrentUser()?.isAdmin) {
|
||||
Users.update(userId, {
|
||||
$set: {
|
||||
'profile.initials': initials,
|
||||
|
@ -1385,7 +1383,7 @@ if (Meteor.isServer) {
|
|||
check(username, String);
|
||||
check(boardId, String);
|
||||
|
||||
const inviter = Meteor.user();
|
||||
const inviter = ReactiveCache.getCurrentUser();
|
||||
const board = ReactiveCache.getBoard(boardId);
|
||||
const allowInvite =
|
||||
inviter &&
|
||||
|
@ -1526,11 +1524,11 @@ if (Meteor.isServer) {
|
|||
|
||||
if (!Meteor.users.findOne(userId))
|
||||
throw new Meteor.Error(404, 'User not found');
|
||||
if (!Meteor.user().isAdmin)
|
||||
if (!ReactiveCache.getCurrentUser().isAdmin)
|
||||
throw new Meteor.Error(403, 'Permission denied');
|
||||
|
||||
ImpersonatedUsers.insert({
|
||||
adminId: Meteor.user()._id,
|
||||
adminId: ReactiveCache.getCurrentUser()._id,
|
||||
userId: userId,
|
||||
reason: 'clickedImpersonate',
|
||||
});
|
||||
|
@ -1546,7 +1544,7 @@ if (Meteor.isServer) {
|
|||
setUsersTeamsTeamDisplayName(teamId, teamDisplayName) {
|
||||
check(teamId, String);
|
||||
check(teamDisplayName, String);
|
||||
if (Meteor.user() && Meteor.user().isAdmin) {
|
||||
if (ReactiveCache.getCurrentUser()?.isAdmin) {
|
||||
Users.find({
|
||||
teams: {
|
||||
$elemMatch: { teamId: teamId },
|
||||
|
@ -1571,7 +1569,7 @@ if (Meteor.isServer) {
|
|||
setUsersOrgsOrgDisplayName(orgId, orgDisplayName) {
|
||||
check(orgId, String);
|
||||
check(orgDisplayName, String);
|
||||
if (Meteor.user() && Meteor.user().isAdmin) {
|
||||
if (ReactiveCache.getCurrentUser()?.isAdmin) {
|
||||
Users.find({
|
||||
orgs: {
|
||||
$elemMatch: { orgId: orgId },
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue