query groups and courses

This commit is contained in:
Adolfo Reyna
2021-10-14 20:51:17 -07:00
parent 9dc1517fe7
commit 47f35aba3e
2 changed files with 39 additions and 0 deletions

View File

@@ -163,6 +163,35 @@ userDB = (DB) => {
return r;
}
DB.searchGroups = async (queryStr, coursesB = false) => {
let regEx = new RegExp(queryStr, 'i');
let query = queryStr ? {
isGroup: true,
isCourse: coursesB,
$or: [
{"profile.firstName": {
$regex: regEx
}},
{"profile.lastName": {
$regex: regEx
}},
{"profile.description": {
$regex: regEx
}},
{"data.author": {
$regex: regEx
}}
]
} : {isGroup: true, isCourse: coursesB};
let r = await DB.profileCols.find(query)
.sort({ lastUpdate: -1 }).limit(20)
.toArray().catch((err) => {
console.log(err);
return false;
});
return r;
}
let privateGroupsCache = {};
DB.isGroupPrivate = async (groupid) => {
if(userProfileCache[groupid]) return userProfileCache[groupid].isPrivate;