diff options
| author | かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> | 2023-10-10 10:43:43 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-10 10:43:43 +0900 |
| commit | af1087aed4afd0a34206faaab93f7598bc10e4f2 (patch) | |
| tree | 1a78985d9113362da0ae0d689d1eed11f238b8b1 /packages/backend/src/server/api/endpoints/drive | |
| parent | fix of 0bb0c32908 (diff) | |
| download | sharkey-af1087aed4afd0a34206faaab93f7598bc10e4f2.tar.gz sharkey-af1087aed4afd0a34206faaab93f7598bc10e4f2.tar.bz2 sharkey-af1087aed4afd0a34206faaab93f7598bc10e4f2.zip | |
Feat:「ファイルの詳細」ページを追加 (#11995)
* (add) ファイルビューア
* Update Changelog
* 既存のAPIを利用
* run api extratctor
* Change i18n
* (add) ページに関する説明を追加
* Update CHANGELOG
* (fix) design, classes
Diffstat (limited to 'packages/backend/src/server/api/endpoints/drive')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/drive/files/attached-notes.ts | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/packages/backend/src/server/api/endpoints/drive/files/attached-notes.ts b/packages/backend/src/server/api/endpoints/drive/files/attached-notes.ts index 779231a856..14a13b09c9 100644 --- a/packages/backend/src/server/api/endpoints/drive/files/attached-notes.ts +++ b/packages/backend/src/server/api/endpoints/drive/files/attached-notes.ts @@ -6,6 +6,7 @@ import { Inject, Injectable } from '@nestjs/common'; import { Endpoint } from '@/server/api/endpoint-base.js'; import type { NotesRepository, DriveFilesRepository } from '@/models/_.js'; +import { QueryService } from '@/core/QueryService.js'; import { NoteEntityService } from '@/core/entities/NoteEntityService.js'; import { DI } from '@/di-symbols.js'; import { ApiError } from '../../../error.js'; @@ -41,6 +42,9 @@ export const meta = { export const paramDef = { type: 'object', properties: { + sinceId: { type: 'string', format: 'misskey:id' }, + untilId: { type: 'string', format: 'misskey:id' }, + limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 }, fileId: { type: 'string', format: 'misskey:id' }, }, required: ['fileId'], @@ -56,6 +60,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- private notesRepository: NotesRepository, private noteEntityService: NoteEntityService, + private queryService: QueryService, ) { super(meta, paramDef, async (ps, me) => { // Fetch file @@ -68,9 +73,10 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- throw new ApiError(meta.errors.noSuchFile); } - const notes = await this.notesRepository.createQueryBuilder('note') - .where(':file = ANY(note.fileIds)', { file: file.id }) - .getMany(); + const query = this.queryService.makePaginationQuery(this.notesRepository.createQueryBuilder('note'), ps.sinceId, ps.untilId); + query.andWhere(':file = ANY(note.fileIds)', { file: file.id }); + + const notes = await query.limit(ps.limit).getMany(); return await this.noteEntityService.packMany(notes, me, { detail: true, |