summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-09-28 11:41:41 +0900
committerInsert5StarName <anime@shourai.de>2023-09-28 12:37:31 +0200
commit0e7a1ac44ece3de0d3f16a1835e9ddab513f9f6d (patch)
tree2f9af8b304f2b9dc0755069cc23e13f8b4bdf450 /packages/backend/src/server/api/endpoints
parent.js (diff)
downloadsharkey-0e7a1ac44ece3de0d3f16a1835e9ddab513f9f6d.tar.gz
sharkey-0e7a1ac44ece3de0d3f16a1835e9ddab513f9f6d.tar.bz2
sharkey-0e7a1ac44ece3de0d3f16a1835e9ddab513f9f6d.zip
enhance: タイムラインからRenoteを除外するオプションを追加
Diffstat (limited to 'packages/backend/src/server/api/endpoints')
-rw-r--r--packages/backend/src/server/api/endpoints/notes/user-list-timeline.ts16
-rw-r--r--packages/backend/src/server/api/endpoints/users/notes.ts8
2 files changed, 20 insertions, 4 deletions
diff --git a/packages/backend/src/server/api/endpoints/notes/user-list-timeline.ts b/packages/backend/src/server/api/endpoints/notes/user-list-timeline.ts
index 6932073791..c20274b2ba 100644
--- a/packages/backend/src/server/api/endpoints/notes/user-list-timeline.ts
+++ b/packages/backend/src/server/api/endpoints/notes/user-list-timeline.ts
@@ -49,6 +49,8 @@ export const paramDef = {
includeMyRenotes: { type: 'boolean', default: true },
includeRenotedMyNotes: { type: 'boolean', default: true },
includeLocalRenotes: { type: 'boolean', default: true },
+ withReplies: { type: 'boolean', default: false },
+ withRenotes: { type: 'boolean', default: true },
withFiles: {
type: 'boolean',
default: false,
@@ -130,6 +132,20 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
}));
}
+ if (!ps.withReplies) {
+ query.andWhere('note.replyId IS NULL');
+ }
+
+ if (ps.withRenotes === false) {
+ query.andWhere(new Brackets(qb => {
+ qb.orWhere('note.renoteId IS NULL');
+ qb.orWhere(new Brackets(qb => {
+ qb.orWhere('note.text IS NOT NULL');
+ qb.orWhere('note.fileIds != \'{}\'');
+ }));
+ }));
+ }
+
if (ps.withFiles) {
query.andWhere('note.fileIds != \'{}\'');
}
diff --git a/packages/backend/src/server/api/endpoints/users/notes.ts b/packages/backend/src/server/api/endpoints/users/notes.ts
index 982fcc858a..e660a0bb25 100644
--- a/packages/backend/src/server/api/endpoints/users/notes.ts
+++ b/packages/backend/src/server/api/endpoints/users/notes.ts
@@ -41,8 +41,8 @@ export const paramDef = {
type: 'object',
properties: {
userId: { type: 'string', format: 'misskey:id' },
- includeReplies: { type: 'boolean', default: true },
- includeRenotes: { type: 'boolean', default: true },
+ withReplies: { type: 'boolean', default: false },
+ withRenotes: { type: 'boolean', default: true },
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },
sinceId: { type: 'string', format: 'misskey:id' },
untilId: { type: 'string', format: 'misskey:id' },
@@ -115,11 +115,11 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
}
}
- if (!ps.includeReplies) {
+ if (!ps.withReplies) {
query.andWhere('note.replyId IS NULL');
}
- if (ps.includeRenotes === false) {
+ if (ps.withRenotes === false) {
query.andWhere(new Brackets(qb => {
qb.orWhere('note.renoteId IS NULL');
qb.orWhere(new Brackets(qb => {