|
|
@@ -182,60 +182,6 @@ module.exports = (crowi) => {
|
|
|
};
|
|
|
|
|
|
try {
|
|
|
- // const { user } = req;
|
|
|
- // if (user != null) {
|
|
|
- // const isAdmin = user.admin;
|
|
|
- // }
|
|
|
-
|
|
|
- // if (user !== null && user.admin) {
|
|
|
-
|
|
|
- // }
|
|
|
-
|
|
|
- // console.log(isAdmin);
|
|
|
-
|
|
|
-
|
|
|
- // ① admin & forceIncludeAttributesにemailが入っている→全員メアドでも引っかかる
|
|
|
- const patern1 = {
|
|
|
- $and: [
|
|
|
- { status: { $in: statusNoList } },
|
|
|
- {
|
|
|
- $or: [
|
|
|
- { name: { $in: searchWord } },
|
|
|
- { username: { $in: searchWord } },
|
|
|
- { email: { $in: searchWord } },
|
|
|
- ],
|
|
|
- },
|
|
|
- ],
|
|
|
- };
|
|
|
-
|
|
|
- // ② (admin & forceIncludeAttributesにemailが入っていない) or nomalユーザー→isEmailPublishedがtrueなユーザーのみメアドでも引っかかる
|
|
|
- const patern2 = {
|
|
|
- $and: [
|
|
|
- { status: { $in: statusNoList } },
|
|
|
- {
|
|
|
- $or: [
|
|
|
- { name: { $in: searchWord } },
|
|
|
- { username: { $in: searchWord } },
|
|
|
- {
|
|
|
- $and: [
|
|
|
- { isEmailPublished: true },
|
|
|
- { email: { $in: searchWord } },
|
|
|
- ],
|
|
|
- },
|
|
|
- ],
|
|
|
- },
|
|
|
- ],
|
|
|
- };
|
|
|
-
|
|
|
- // ③ 未loginユーザー→メアドでは引っかからない
|
|
|
- // let conditionOne;
|
|
|
- // chaneする
|
|
|
- // if (req.user.admin && forceIncludeAttributes.includes('email')) {
|
|
|
- // conditionOne.and({ email: { $in: searchWord } });
|
|
|
- // }
|
|
|
-
|
|
|
-
|
|
|
- // itizawaさんのお助け
|
|
|
const filter = [
|
|
|
{ name: { $in: searchWord } },
|
|
|
{ username: { $in: searchWord } },
|
|
|
@@ -263,85 +209,6 @@ module.exports = (crowi) => {
|
|
|
],
|
|
|
};
|
|
|
|
|
|
- console.log(query);
|
|
|
- // const query = patern2;
|
|
|
-
|
|
|
- // お助け終わり
|
|
|
-
|
|
|
-
|
|
|
- // const patern3 = {
|
|
|
- // $and: [
|
|
|
- // { status: { $in: statusNoList } },
|
|
|
- // {
|
|
|
- // $or: [
|
|
|
- // { name: { $in: searchWord } },
|
|
|
- // { username: { $in: searchWord } },
|
|
|
- // { additionalQuery },
|
|
|
- // ],
|
|
|
- // },
|
|
|
- // ],
|
|
|
- // };
|
|
|
-
|
|
|
-
|
|
|
- // const query = patern3;
|
|
|
-
|
|
|
-
|
|
|
- // exampleです
|
|
|
- // const { user } = req.user;
|
|
|
- // const isAdmin = user != null && user.admin;
|
|
|
- // let additionalCondition = {};
|
|
|
- // console.log(isAdmin);
|
|
|
-
|
|
|
- // if (req.user != null) {
|
|
|
- // if (user.admin && forceIncludeAttributes.includes('email')) {
|
|
|
- // additionalCondition = { email: { $in: searchWord } };
|
|
|
- // }
|
|
|
- // else {
|
|
|
- // additionalCondition = {
|
|
|
- // $and: [
|
|
|
- // { isEmailPublished: true },
|
|
|
- // { email: { $in: searchWord } },
|
|
|
- // ],
|
|
|
- // };
|
|
|
- // }
|
|
|
- // }
|
|
|
-
|
|
|
-
|
|
|
- // if (user.admin && forceIncludeAttributes.includes('email')) {
|
|
|
- // query.and({ email: { $in: searchWord } });
|
|
|
- // }
|
|
|
-
|
|
|
- // if (req.user != null) {
|
|
|
- // if (user.admin && forceIncludeAttributes.includes('email')) {
|
|
|
- // additionalCondition = { email: { $in: searchWord } };
|
|
|
- // }
|
|
|
- // else {
|
|
|
- // additionalCondition = {
|
|
|
- // $and: [
|
|
|
- // { isEmailPublished: true },
|
|
|
- // { email: { $in: searchWord } },
|
|
|
- // ],
|
|
|
- // };
|
|
|
- // }
|
|
|
- // }
|
|
|
-
|
|
|
-
|
|
|
- // const newquery =
|
|
|
-
|
|
|
-
|
|
|
- // const default = {
|
|
|
- // $and: [
|
|
|
- // { status: { $in: statusNoList } },
|
|
|
- // {
|
|
|
- // $or: [
|
|
|
- // { name: { $in: searchWord } },
|
|
|
- // { username: { $in: searchWord } },
|
|
|
- // ],
|
|
|
- // },
|
|
|
- // ],
|
|
|
- // };
|
|
|
-
|
|
|
-
|
|
|
const paginateResult = await User.paginate(
|
|
|
query,
|
|
|
{
|