start work on searching in comments

This commit is contained in:
John R. Supplee 2021-01-23 18:04:26 +02:00
parent b40d53df84
commit dd163b9923
4 changed files with 22 additions and 0 deletions

View file

@ -212,6 +212,7 @@ BlazeComponent.extendComponent({
'operator-due': 'dueAt', 'operator-due': 'dueAt',
'operator-created': 'createdAt', 'operator-created': 'createdAt',
'operator-modified': 'modifiedAt', 'operator-modified': 'modifiedAt',
'operator-comment': 'comments',
}; };
const operatorMap = {}; const operatorMap = {};
@ -233,6 +234,7 @@ BlazeComponent.extendComponent({
dueAt: null, dueAt: null,
createdAt: null, createdAt: null,
modifiedAt: null, modifiedAt: null,
comments: [],
}; };
let text = ''; let text = '';

View file

@ -1,3 +1,4 @@
const escapeForRegex = require('escape-string-regexp');
Boards = new Mongo.Collection('boards'); Boards = new Mongo.Collection('boards');
/** /**

View file

@ -1,3 +1,4 @@
const escapeForRegex = require('escape-string-regexp');
CardComments = new Mongo.Collection('card_comments'); CardComments = new Mongo.Collection('card_comments');
/** /**
@ -109,6 +110,22 @@ function commentCreation(userId, doc) {
}); });
} }
CardComments.textSearch = (userId, textArray) => {
const selector = {
boardId: { $in: Boards.userBoardIds() },
$and: [],
};
for (const text of textArray) {
selector.$and.push({ text: new RegExp(escapeForRegex(text)) });
}
// eslint-disable-next-line no-console
console.log(textArray);
return CardComments.find(selector);
};
if (Meteor.isServer) { if (Meteor.isServer) {
// Comments are often fetched within a card, so we create an index to make these // Comments are often fetched within a card, so we create an index to make these
// queries more efficient. // queries more efficient.

View file

@ -1,3 +1,5 @@
const escapeForRegex = require('escape-string-regexp');
Cards = new Mongo.Collection('cards'); Cards = new Mongo.Collection('cards');
// XXX To improve pub/sub performances a card document should include a // XXX To improve pub/sub performances a card document should include a