From 69c3c4e3dc71c722f9d85c4d2d6a112b6ce85296 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 11 Dec 2020 21:16:20 +0900 Subject: Resolve #6806 (#6935) * :v: * :v: * Update privacy.vue --- src/server/api/endpoints/i/update.ts | 5 +++++ src/server/api/endpoints/users.ts | 9 +++++---- src/server/api/endpoints/users/recommendation.ts | 1 + 3 files changed, 11 insertions(+), 4 deletions(-) (limited to 'src/server/api/endpoints') diff --git a/src/server/api/endpoints/i/update.ts b/src/server/api/endpoints/i/update.ts index 0872671208..8ac427cd5b 100644 --- a/src/server/api/endpoints/i/update.ts +++ b/src/server/api/endpoints/i/update.ts @@ -92,6 +92,10 @@ export const meta = { } }, + isExplorable: { + validator: $.optional.bool, + }, + carefulBot: { validator: $.optional.bool, desc: { @@ -208,6 +212,7 @@ export default define(meta, async (ps, user, token) => { } if (ps.mutingNotificationTypes !== undefined) profileUpdates.mutingNotificationTypes = ps.mutingNotificationTypes as typeof notificationTypes[number][]; if (typeof ps.isLocked === 'boolean') updates.isLocked = ps.isLocked; + if (typeof ps.isExplorable === 'boolean') updates.isExplorable = ps.isExplorable; if (typeof ps.isBot === 'boolean') updates.isBot = ps.isBot; if (typeof ps.carefulBot === 'boolean') profileUpdates.carefulBot = ps.carefulBot; if (typeof ps.autoAcceptFollowed === 'boolean') profileUpdates.autoAcceptFollowed = ps.autoAcceptFollowed; diff --git a/src/server/api/endpoints/users.ts b/src/server/api/endpoints/users.ts index 9d7991b406..1c16472578 100644 --- a/src/server/api/endpoints/users.ts +++ b/src/server/api/endpoints/users.ts @@ -64,12 +64,13 @@ export const meta = { export default define(meta, async (ps, me) => { const query = Users.createQueryBuilder('user'); + query.where('user.isExplorable = TRUE'); switch (ps.state) { - case 'admin': query.where('user.isAdmin = TRUE'); break; - case 'moderator': query.where('user.isModerator = TRUE'); break; - case 'adminOrModerator': query.where('user.isAdmin = TRUE OR isModerator = TRUE'); break; - case 'alive': query.where('user.updatedAt > :date', { date: new Date(Date.now() - 1000 * 60 * 60 * 24 * 5) }); break; + case 'admin': query.andWhere('user.isAdmin = TRUE'); break; + case 'moderator': query.andWhere('user.isModerator = TRUE'); break; + case 'adminOrModerator': query.andWhere('user.isAdmin = TRUE OR isModerator = TRUE'); break; + case 'alive': query.andWhere('user.updatedAt > :date', { date: new Date(Date.now() - 1000 * 60 * 60 * 24 * 5) }); break; } switch (ps.origin) { diff --git a/src/server/api/endpoints/users/recommendation.ts b/src/server/api/endpoints/users/recommendation.ts index 1b59624aa9..7f80b52753 100644 --- a/src/server/api/endpoints/users/recommendation.ts +++ b/src/server/api/endpoints/users/recommendation.ts @@ -42,6 +42,7 @@ export const meta = { export default define(meta, async (ps, me) => { const query = Users.createQueryBuilder('user') .where('user.isLocked = FALSE') + .andWhere('user.isExplorable = TRUE') .andWhere('user.host IS NULL') .andWhere('user.updatedAt >= :date', { date: new Date(Date.now() - ms('7days')) }) .andWhere('user.id != :meId', { meId: me.id }) -- cgit v1.2.3-freya