diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2023-09-17 10:55:26 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2023-09-17 10:55:26 +0900 |
| commit | f7c6932a83f80b6c43bcb79dcd11e8d490ce242a (patch) | |
| tree | 587065237577996c04dc21b81dd9986f46fd68d1 /packages/backend/src/server/api | |
| parent | enhance(frontend): improve note detail page (diff) | |
| download | sharkey-f7c6932a83f80b6c43bcb79dcd11e8d490ce242a.tar.gz sharkey-f7c6932a83f80b6c43bcb79dcd11e8d490ce242a.tar.bz2 sharkey-f7c6932a83f80b6c43bcb79dcd11e8d490ce242a.zip | |
enhance: 各ノートが被クリップ数を保持するようにし、無意味にnotes/clipsを叩かないように
Diffstat (limited to 'packages/backend/src/server/api')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/clips/add-note.ts | 9 | ||||
| -rw-r--r-- | packages/backend/src/server/api/endpoints/clips/remove-note.ts | 5 |
2 files changed, 12 insertions, 2 deletions
diff --git a/packages/backend/src/server/api/endpoints/clips/add-note.ts b/packages/backend/src/server/api/endpoints/clips/add-note.ts index e7fae8662c..00b8bb09a8 100644 --- a/packages/backend/src/server/api/endpoints/clips/add-note.ts +++ b/packages/backend/src/server/api/endpoints/clips/add-note.ts @@ -8,7 +8,7 @@ import ms from 'ms'; import { Endpoint } from '@/server/api/endpoint-base.js'; import { IdService } from '@/core/IdService.js'; import { DI } from '@/di-symbols.js'; -import type { ClipNotesRepository, ClipsRepository } from '@/models/_.js'; +import type { ClipNotesRepository, ClipsRepository, NotesRepository } from '@/models/_.js'; import { GetterService } from '@/server/api/GetterService.js'; import { RoleService } from '@/core/RoleService.js'; import { ApiError } from '../../error.js'; @@ -72,6 +72,9 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- @Inject(DI.clipNotesRepository) private clipNotesRepository: ClipNotesRepository, + @Inject(DI.notesRepository) + private notesRepository: NotesRepository, + private idService: IdService, private roleService: RoleService, private getterService: GetterService, @@ -115,9 +118,11 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- clipId: clip.id, }); - await this.clipsRepository.update(clip.id, { + this.clipsRepository.update(clip.id, { lastClippedAt: new Date(), }); + + this.notesRepository.increment({ id: note.id }, 'clippedCount', 1); }); } } diff --git a/packages/backend/src/server/api/endpoints/clips/remove-note.ts b/packages/backend/src/server/api/endpoints/clips/remove-note.ts index 53389d0283..65fad5f970 100644 --- a/packages/backend/src/server/api/endpoints/clips/remove-note.ts +++ b/packages/backend/src/server/api/endpoints/clips/remove-note.ts @@ -52,6 +52,9 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- @Inject(DI.clipNotesRepository) private clipNotesRepository: ClipNotesRepository, + @Inject(DI.notesRepository) + private notesRepository: NotesRepository, + private getterService: GetterService, ) { super(meta, paramDef, async (ps, me) => { @@ -73,6 +76,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- noteId: note.id, clipId: clip.id, }); + + this.notesRepository.decrement({ id: note.id }, 'clippedCount', 1); }); } } |