mirror of
https://github.com/wekan/wekan.git
synced 2026-02-04 15:41:52 +01:00
Code cleanup
This commit is contained in:
parent
be970e4cea
commit
9061180983
6 changed files with 51 additions and 53 deletions
|
|
@ -1,3 +1,14 @@
|
|||
import Users from '../../models/users';
|
||||
import Boards from '../../models/boards';
|
||||
import Lists from '../../models/lists';
|
||||
import Swimlanes from '../../models/swimlanes';
|
||||
import CardComments from '../../models/cardComments';
|
||||
import Attachments from '../../models/attachments';
|
||||
import Checklists from '../../models/checklists';
|
||||
import ChecklistItems from '../../models/checklistItems';
|
||||
import SessionData from '../../models/usersessiondata';
|
||||
import CustomFields from '../../models/customFields';
|
||||
|
||||
const escapeForRegex = require('escape-string-regexp');
|
||||
|
||||
Meteor.publish('card', cardId => {
|
||||
|
|
@ -117,7 +128,7 @@ class QueryErrors {
|
|||
|
||||
return messages;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
class Query {
|
||||
params = {};
|
||||
|
|
@ -139,7 +150,7 @@ class Query {
|
|||
function buildSelector(queryParams) {
|
||||
const userId = Meteor.userId();
|
||||
|
||||
errors = new QueryErrors();
|
||||
const errors = new QueryErrors();
|
||||
|
||||
let selector = {};
|
||||
|
||||
|
|
@ -287,8 +298,10 @@ function buildSelector(queryParams) {
|
|||
}
|
||||
});
|
||||
|
||||
const queryMembers = [];
|
||||
const queryAssignees = [];
|
||||
const queryUsers = {
|
||||
members: [],
|
||||
assignees: [],
|
||||
};
|
||||
if (queryParams.users && queryParams.users.length) {
|
||||
queryParams.users.forEach(query => {
|
||||
const users = Users.find({
|
||||
|
|
@ -296,8 +309,8 @@ function buildSelector(queryParams) {
|
|||
});
|
||||
if (users.count()) {
|
||||
users.forEach(user => {
|
||||
queryMembers.push(user._id);
|
||||
queryAssignees.push(user._id);
|
||||
queryUsers.members.push(user._id);
|
||||
queryUsers.assignees.push(user._id);
|
||||
});
|
||||
} else {
|
||||
errors.notFound.users.push(query);
|
||||
|
|
@ -305,47 +318,34 @@ function buildSelector(queryParams) {
|
|||
});
|
||||
}
|
||||
|
||||
if (queryParams.members && queryParams.members.length) {
|
||||
queryParams.members.forEach(query => {
|
||||
const users = Users.find({
|
||||
username: query,
|
||||
});
|
||||
if (users.count()) {
|
||||
users.forEach(user => {
|
||||
queryMembers.push(user._id);
|
||||
['members', 'assignees'].forEach(key => {
|
||||
if (queryParams[key] && queryParams[key].length) {
|
||||
queryParams[key].forEach(query => {
|
||||
const users = Users.find({
|
||||
username: query,
|
||||
});
|
||||
} else {
|
||||
errors.notFound.members.push(query);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (queryParams.assignees && queryParams.assignees.length) {
|
||||
queryParams.assignees.forEach(query => {
|
||||
const users = Users.find({
|
||||
username: query,
|
||||
if (users.count()) {
|
||||
users.forEach(user => {
|
||||
queryUsers[key].push(user._id);
|
||||
});
|
||||
} else {
|
||||
errors.notFound[key].push(query);
|
||||
}
|
||||
});
|
||||
if (users.count()) {
|
||||
users.forEach(user => {
|
||||
queryAssignees.push(user._id);
|
||||
});
|
||||
} else {
|
||||
errors.notFound.assignees.push(query);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (queryMembers.length && queryAssignees.length) {
|
||||
if (queryUsers.members.length && queryUsers.assignees.length) {
|
||||
selector.$and.push({
|
||||
$or: [
|
||||
{ members: { $in: queryMembers } },
|
||||
{ assignees: { $in: queryAssignees } },
|
||||
{ members: { $in: queryUsers.members } },
|
||||
{ assignees: { $in: queryUsers.assignees } },
|
||||
],
|
||||
});
|
||||
} else if (queryMembers.length) {
|
||||
selector.members = { $in: queryMembers };
|
||||
} else if (queryAssignees.length) {
|
||||
selector.assignees = { $in: queryAssignees };
|
||||
} else if (queryUsers.members.length) {
|
||||
selector.members = { $in: queryUsers.members };
|
||||
} else if (queryUsers.assignees.length) {
|
||||
selector.assignees = { $in: queryUsers.assignees };
|
||||
}
|
||||
|
||||
if (queryParams.labels && queryParams.labels.length) {
|
||||
|
|
@ -398,7 +398,7 @@ function buildSelector(queryParams) {
|
|||
}
|
||||
}
|
||||
|
||||
selector.labelIds = { $in: queryLabels };
|
||||
selector.labelIds = { $in: _.uniq(queryLabels) };
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -507,7 +507,6 @@ function buildSelector(queryParams) {
|
|||
}
|
||||
|
||||
function buildProjection(query) {
|
||||
|
||||
let skip = 0;
|
||||
if (query.params.skip) {
|
||||
skip = query.params.skip;
|
||||
|
|
@ -603,7 +602,6 @@ function buildQuery(queryParams) {
|
|||
}
|
||||
|
||||
Meteor.publish('brokenCards', function(sessionId) {
|
||||
|
||||
const queryParams = {
|
||||
users: [Meteor.user().username],
|
||||
// limit: 25,
|
||||
|
|
@ -649,7 +647,7 @@ function findCards(sessionId, query) {
|
|||
// eslint-disable-next-line no-console
|
||||
// console.log('projection:', projection);
|
||||
let cards;
|
||||
if (!errors || !errors.hasErrors()) {
|
||||
if (!query.errors || !query.errors.hasErrors()) {
|
||||
cards = Cards.find(query.selector, query.projection);
|
||||
}
|
||||
// eslint-disable-next-line no-console
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue