summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-09-17 10:55:26 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-09-17 10:55:26 +0900
commitf7c6932a83f80b6c43bcb79dcd11e8d490ce242a (patch)
tree587065237577996c04dc21b81dd9986f46fd68d1 /packages/backend/src/server/api
parentenhance(frontend): improve note detail page (diff)
downloadsharkey-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.ts9
-rw-r--r--packages/backend/src/server/api/endpoints/clips/remove-note.ts5
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);
});
}
}