diff options
| author | Hazelnoot <acomputerdog@gmail.com> | 2025-05-12 22:43:19 -0400 |
|---|---|---|
| committer | Hazelnoot <acomputerdog@gmail.com> | 2025-05-14 23:25:40 -0400 |
| commit | b7b30bde5db385205938f32c362a3cd5c7691076 (patch) | |
| tree | 0e98976712d5083a425aabba712b849ff61a062d /packages/backend/src/server/api | |
| parent | rename popularUsersLocal.host to popularUsersLocal.name (diff) | |
| download | sharkey-b7b30bde5db385205938f32c362a3cd5c7691076.tar.gz sharkey-b7b30bde5db385205938f32c362a3cd5c7691076.tar.bz2 sharkey-b7b30bde5db385205938f32c362a3cd5c7691076.zip | |
use /users endpoint for explore exclusively (restore original behavior)
Diffstat (limited to 'packages/backend/src/server/api')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/users.ts | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/packages/backend/src/server/api/endpoints/users.ts b/packages/backend/src/server/api/endpoints/users.ts index b7202b71a8..ce1407543d 100644 --- a/packages/backend/src/server/api/endpoints/users.ts +++ b/packages/backend/src/server/api/endpoints/users.ts @@ -50,7 +50,6 @@ export const paramDef = { default: null, description: 'The local host is represented with `null`.', }, - trending: { type: 'boolean', default: false }, }, required: [], } as const; @@ -67,12 +66,9 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- ) { super(meta, paramDef, async (ps, me) => { const query = this.usersRepository.createQueryBuilder('user') + .andWhere('user.isExplorable = TRUE') .andWhere('user.isSuspended = FALSE'); - if (ps.trending) { - query.andWhere('user.isExplorable = TRUE'); - } - switch (ps.state) { case 'alive': query.andWhere('user.updatedAt > :date', { date: new Date(Date.now() - 1000 * 60 * 60 * 24 * 5) }); break; } @@ -104,18 +100,16 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- query.limit(ps.limit); query.offset(ps.offset); - let users = await query.getMany(); + const allUsers = await query.getMany(); // This is not ideal, for a couple of reasons: // 1. It may return less than "limit" results. // 2. A span of more than "limit" consecutive non-trendable users may cause the pagination to stop early. // Unfortunately, there's no better solution unless we refactor role policies to be persisted to the DB. - if (ps.trending) { - const usersWithRoles = await Promise.all(users.map(async u => [u, await this.roleService.getUserPolicies(u)] as const)); - users = usersWithRoles - .filter(([,p]) => p.canTrend) - .map(([u]) => u); - } + const usersWithRoles = await Promise.all(allUsers.map(async u => [u, await this.roleService.getUserPolicies(u)] as const)); + const users = usersWithRoles + .filter(([,p]) => p.canTrend) + .map(([u]) => u); return await this.userEntityService.packMany(users, me, { schema: 'UserDetailed' }); }); |