diff options
| author | Hazelnoot <acomputerdog@gmail.com> | 2024-10-12 14:56:04 -0400 |
|---|---|---|
| committer | Hazelnoot <acomputerdog@gmail.com> | 2024-10-15 14:16:46 -0400 |
| commit | 9b1bae653d96fd276bbebde7c9dab3adf6236a77 (patch) | |
| tree | 1d14baddc225c3c4a82ff46f964db67c6ac1a931 /packages/backend/src/server/api/endpoints/users | |
| parent | revert accidental change to postgres.ts (diff) | |
| download | sharkey-9b1bae653d96fd276bbebde7c9dab3adf6236a77.tar.gz sharkey-9b1bae653d96fd276bbebde7c9dab3adf6236a77.tar.bz2 sharkey-9b1bae653d96fd276bbebde7c9dab3adf6236a77.zip | |
add "show bots" toggle to following feed
Diffstat (limited to 'packages/backend/src/server/api/endpoints/users')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/users/notes.ts | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/packages/backend/src/server/api/endpoints/users/notes.ts b/packages/backend/src/server/api/endpoints/users/notes.ts index 884760a88f..efea15ca80 100644 --- a/packages/backend/src/server/api/endpoints/users/notes.ts +++ b/packages/backend/src/server/api/endpoints/users/notes.ts @@ -55,6 +55,7 @@ export const paramDef = { withRepliesToSelf: { type: 'boolean', default: true }, withQuotes: { type: 'boolean', default: true }, withRenotes: { type: 'boolean', default: true }, + withBots: { type: 'boolean', default: true }, withNonPublic: { type: 'boolean', default: true }, withChannelNotes: { type: 'boolean', default: false }, limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 }, @@ -108,6 +109,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- withFiles: ps.withFiles, withRenotes: ps.withRenotes, withQuotes: ps.withQuotes, + withBots: ps.withBots, withNonPublic: ps.withNonPublic, withRepliesToOthers: ps.withReplies, withRepliesToSelf: ps.withRepliesToSelf, @@ -135,6 +137,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- excludeReplies: ps.withChannelNotes && !ps.withReplies, // userTimelineWithChannel may include replies excludeNoFiles: ps.withChannelNotes && ps.withFiles, // userTimelineWithChannel may include notes without files excludePureRenotes: !ps.withRenotes, + excludeBots: !ps.withBots, noteFilter: note => { if (note.channel?.isSensitive && !isSelf) return false; if (note.visibility === 'specified' && (!me || (me.id !== note.userId && !note.visibleUserIds.some(v => v === me.id)))) return false; @@ -156,6 +159,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- withFiles: ps.withFiles, withRenotes: ps.withRenotes, withQuotes: ps.withQuotes, + withBots: ps.withBots, withNonPublic: ps.withNonPublic, withRepliesToOthers: ps.withReplies, withRepliesToSelf: ps.withRepliesToSelf, @@ -175,6 +179,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- withFiles: boolean, withRenotes: boolean, withQuotes: boolean, + withBots: boolean, withNonPublic: boolean, withRepliesToOthers: boolean, withRepliesToSelf: boolean, @@ -246,6 +251,10 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- query.andWhere('note.visibility = \'public\''); } + if (!ps.withBots) { + query.andWhere('"user"."isBot" = false'); + } + return await query.limit(ps.limit).getMany(); } } |