|
@@ -404,7 +404,7 @@ function buildSelector(queryParams) {
|
|
|
|
|
|
const items = ChecklistItems.find(
|
|
|
{ title: regex },
|
|
|
- { fields: { cardId: 1 } },
|
|
|
+ { fields: { cardId: 1, checklistId: 1 } },
|
|
|
);
|
|
|
const checklists = Checklists.find(
|
|
|
{
|
|
@@ -423,23 +423,18 @@ function buildSelector(queryParams) {
|
|
|
{ fields: { cardId: 1 } },
|
|
|
);
|
|
|
|
|
|
- selector.$and.push({
|
|
|
- $or: [
|
|
|
+ let cardsSelector = [
|
|
|
{ title: regex },
|
|
|
{ description: regex },
|
|
|
{ customFields: { $elemMatch: { value: regex } } },
|
|
|
- // {
|
|
|
- // _id: {
|
|
|
- // $in: CardComments.textSearch(userId, [queryParams.text]).map(
|
|
|
- // com => com.cardId,
|
|
|
- // ),
|
|
|
- // },
|
|
|
- // },
|
|
|
{ _id: { $in: checklists.map(list => list.cardId) } },
|
|
|
{ _id: { $in: attachments.map(attach => attach.cardId) } },
|
|
|
{ _id: { $in: comments.map(com => com.cardId) } },
|
|
|
- ],
|
|
|
- });
|
|
|
+ ];
|
|
|
+ if (queryParams.text == "false" || queryParams.text == "true") {
|
|
|
+ cardsSelector.push({ customFields: { $elemMatch: { value: queryParams.text == "true" ? true : false } } } );
|
|
|
+ }
|
|
|
+ selector.$and.push({ $or: cardsSelector });
|
|
|
}
|
|
|
|
|
|
if (selector.$and.length === 0) {
|
|
@@ -448,9 +443,7 @@ function buildSelector(queryParams) {
|
|
|
}
|
|
|
|
|
|
// eslint-disable-next-line no-console
|
|
|
- console.log('selector:', selector);
|
|
|
- // eslint-disable-next-line no-console
|
|
|
- console.log('selector.$and:', selector.$and);
|
|
|
+ console.log('cards selector:', JSON.stringify(selector, null, 2));
|
|
|
|
|
|
const query = new Query();
|
|
|
query.selector = selector;
|
|
@@ -610,7 +603,7 @@ function findCards(sessionId, query) {
|
|
|
// console.log('selector:', query.selector);
|
|
|
// console.log('selector.$and:', query.selector.$and);
|
|
|
// eslint-disable-next-line no-console
|
|
|
- // console.log('projection:', projection);
|
|
|
+ // console.log('projection:', query.projection);
|
|
|
|
|
|
const cards = Cards.find(query.selector, query.projection);
|
|
|
// eslint-disable-next-line no-console
|