summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints/notes/local-timeline.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-03-19 16:52:38 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-03-19 16:52:38 +0900
commit4d73080da1464e400b10b532736b6b0e15003b2b (patch)
tree5bc8a85b18e80af08f200521a496c94cc22d711b /packages/backend/src/server/api/endpoints/notes/local-timeline.ts
parentUpdate CHANGELOG.md (diff)
downloadsharkey-4d73080da1464e400b10b532736b6b0e15003b2b.tar.gz
sharkey-4d73080da1464e400b10b532736b6b0e15003b2b.tar.bz2
sharkey-4d73080da1464e400b10b532736b6b0e15003b2b.zip
perf(backend): improve performance of timeline apis
Diffstat (limited to 'packages/backend/src/server/api/endpoints/notes/local-timeline.ts')
-rw-r--r--packages/backend/src/server/api/endpoints/notes/local-timeline.ts4
1 files changed, 3 insertions, 1 deletions
diff --git a/packages/backend/src/server/api/endpoints/notes/local-timeline.ts b/packages/backend/src/server/api/endpoints/notes/local-timeline.ts
index 3810016952..8c1c07a9f4 100644
--- a/packages/backend/src/server/api/endpoints/notes/local-timeline.ts
+++ b/packages/backend/src/server/api/endpoints/notes/local-timeline.ts
@@ -8,6 +8,7 @@ import { MetaService } from '@/core/MetaService.js';
import ActiveUsersChart from '@/core/chart/charts/active-users.js';
import { DI } from '@/di-symbols.js';
import { RoleService } from '@/core/RoleService.js';
+import { IdService } from '@/core/IdService.js';
import { ApiError } from '../../error.js';
export const meta = {
@@ -65,6 +66,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
private metaService: MetaService,
private roleService: RoleService,
private activeUsersChart: ActiveUsersChart,
+ private idService: IdService,
) {
super(meta, paramDef, async (ps, me) => {
const policies = await this.roleService.getUserPolicies(me ? me.id : null);
@@ -75,7 +77,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
//#region Construct query
const query = this.queryService.makePaginationQuery(this.notesRepository.createQueryBuilder('note'),
ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate)
- .andWhere('note.createdAt > :minDate', { minDate: new Date(Date.now() - (1000 * 60 * 60 * 24 * 30)) }) // 30日前まで
+ .andWhere('note.id > :minId', { minId: this.idService.genId(new Date(Date.now() - (1000 * 60 * 60 * 24 * 10))) }) // 10日前まで
.andWhere('(note.visibility = \'public\') AND (note.userHost IS NULL)')
.innerJoinAndSelect('note.user', 'user')
.leftJoinAndSelect('user.avatar', 'avatar')