summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints/notes/polls
diff options
context:
space:
mode:
authoranatawa12 <anatawa12@icloud.com>2024-05-20 18:08:20 +0900
committerGitHub <noreply@github.com>2024-05-20 18:08:20 +0900
commitf6df94070b0fc1ca862d560b17488bd718c2ec85 (patch)
tree77cafdee3d7134951f9c23aeb9580eac7db11c42 /packages/backend/src/server/api/endpoints/notes/polls
parentfix notification limit with exclude/include types (#13836) (diff)
downloadsharkey-f6df94070b0fc1ca862d560b17488bd718c2ec85.tar.gz
sharkey-f6df94070b0fc1ca862d560b17488bd718c2ec85.tar.bz2
sharkey-f6df94070b0fc1ca862d560b17488bd718c2ec85.zip
Exclude channel notes from featured polls (#13838)
* feat(backend): add `channelId` to `MiPoll` as a Denormalized field * feat(backend): option to exclude polls in channels * chore: exclude channel notes from featured polls * docs(changelog): みつけるのアンケート欄にてチャンネルのアンケートが含まれてしまう問題を修正 * fix: missing license header
Diffstat (limited to 'packages/backend/src/server/api/endpoints/notes/polls')
-rw-r--r--packages/backend/src/server/api/endpoints/notes/polls/recommendation.ts7
1 files changed, 7 insertions, 0 deletions
diff --git a/packages/backend/src/server/api/endpoints/notes/polls/recommendation.ts b/packages/backend/src/server/api/endpoints/notes/polls/recommendation.ts
index ba38573065..4fd6f8682d 100644
--- a/packages/backend/src/server/api/endpoints/notes/polls/recommendation.ts
+++ b/packages/backend/src/server/api/endpoints/notes/polls/recommendation.ts
@@ -32,6 +32,7 @@ export const paramDef = {
properties: {
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },
offset: { type: 'integer', default: 0 },
+ excludeChannels: { type: 'boolean', default: false },
},
required: [],
} as const;
@@ -86,6 +87,12 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
query.setParameters(mutingQuery.getParameters());
//#endregion
+ //#region exclude channels
+ if (ps.excludeChannels) {
+ query.andWhere('poll.channelId IS NULL');
+ }
+ //#endregion
+
const polls = await query
.orderBy('poll.noteId', 'DESC')
.limit(ps.limit)