diff options
| author | syuilo <4439005+syuilo@users.noreply.github.com> | 2024-10-21 12:49:29 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-21 12:49:29 +0900 |
| commit | 5c79d8db208da1fd7c5bc4900090c3d7b9512196 (patch) | |
| tree | 0be695300f396721e472543052d6fcdfb8a2e636 /packages/backend/src/server/api/endpoints/notes/show.ts | |
| parent | fix(frontend): Captcha のエラーハンドリング (#14811) (diff) | |
| download | sharkey-5c79d8db208da1fd7c5bc4900090c3d7b9512196.tar.gz sharkey-5c79d8db208da1fd7c5bc4900090c3d7b9512196.tar.bz2 sharkey-5c79d8db208da1fd7c5bc4900090c3d7b9512196.zip | |
feat: ノートの閲覧にログイン必須にする設定 (#14799)
* wip
* wip
* wip
* Update packages/frontend/src/pages/note.vue
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
* wip
* Update WebhookTestService.ts
* Update privacy.vue
* wip
* rename
* Update locales/ja-JP.yml
Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
* :art:
* wip
---------
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
Diffstat (limited to 'packages/backend/src/server/api/endpoints/notes/show.ts')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/notes/show.ts | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/packages/backend/src/server/api/endpoints/notes/show.ts b/packages/backend/src/server/api/endpoints/notes/show.ts index adcda30a7d..11839bce36 100644 --- a/packages/backend/src/server/api/endpoints/notes/show.ts +++ b/packages/backend/src/server/api/endpoints/notes/show.ts @@ -26,6 +26,12 @@ export const meta = { code: 'NO_SUCH_NOTE', id: '24fcbfc6-2e37-42b6-8388-c29b3861a08d', }, + + signinRequired: { + message: 'Signin required.', + code: 'SIGNIN_REQUIRED', + id: '8e75455b-738c-471d-9f80-62693f33372e', + }, }, } as const; @@ -44,11 +50,15 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- private getterService: GetterService, ) { super(meta, paramDef, async (ps, me) => { - const note = await this.getterService.getNote(ps.noteId).catch(err => { + const note = await this.getterService.getNoteWithUser(ps.noteId).catch(err => { if (err.id === '9725d0ce-ba28-4dde-95a7-2cbb2c15de24') throw new ApiError(meta.errors.noSuchNote); throw err; }); + if (note.user!.requireSigninToViewContents && me == null) { + throw new ApiError(meta.errors.signinRequired); + } + return await this.noteEntityService.pack(note, me, { detail: true, }); |