summaryrefslogtreecommitdiff
path: root/packages/backend/src/core
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-03-31 11:30:27 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-03-31 11:30:27 +0900
commit3cb0cc798914ff9057f4032a9b79e21402f72ec8 (patch)
tree389f44457bbf6c8f74a84fd0444644c0ba81346f /packages/backend/src/core
parentlint fix (diff)
downloadmisskey-3cb0cc798914ff9057f4032a9b79e21402f72ec8.tar.gz
misskey-3cb0cc798914ff9057f4032a9b79e21402f72ec8.tar.bz2
misskey-3cb0cc798914ff9057f4032a9b79e21402f72ec8.zip
feat: チャンネルをお気に入りに登録できるように
Resolve #10097
Diffstat (limited to 'packages/backend/src/core')
-rw-r--r--packages/backend/src/core/entities/ChannelEntityService.ts11
1 files changed, 10 insertions, 1 deletions
diff --git a/packages/backend/src/core/entities/ChannelEntityService.ts b/packages/backend/src/core/entities/ChannelEntityService.ts
index 6048492f09..97bf66095c 100644
--- a/packages/backend/src/core/entities/ChannelEntityService.ts
+++ b/packages/backend/src/core/entities/ChannelEntityService.ts
@@ -1,6 +1,6 @@
import { Inject, Injectable } from '@nestjs/common';
import { DI } from '@/di-symbols.js';
-import type { ChannelFollowingsRepository, ChannelsRepository, DriveFilesRepository, NoteUnreadsRepository } from '@/models/index.js';
+import type { ChannelFavoritesRepository, ChannelFollowingsRepository, ChannelsRepository, DriveFilesRepository, NoteUnreadsRepository } from '@/models/index.js';
import type { Packed } from '@/misc/json-schema.js';
import type { } from '@/models/entities/Blocking.js';
import type { User } from '@/models/entities/User.js';
@@ -18,6 +18,9 @@ export class ChannelEntityService {
@Inject(DI.channelFollowingsRepository)
private channelFollowingsRepository: ChannelFollowingsRepository,
+ @Inject(DI.channelFavoritesRepository)
+ private channelFavoritesRepository: ChannelFavoritesRepository,
+
@Inject(DI.noteUnreadsRepository)
private noteUnreadsRepository: NoteUnreadsRepository,
@@ -46,6 +49,11 @@ export class ChannelEntityService {
followeeId: channel.id,
}) : null;
+ const favorite = meId ? await this.channelFavoritesRepository.findOneBy({
+ userId: meId,
+ channelId: channel.id,
+ }) : null;
+
return {
id: channel.id,
createdAt: channel.createdAt.toISOString(),
@@ -59,6 +67,7 @@ export class ChannelEntityService {
...(me ? {
isFollowing: following != null,
+ isFavorited: favorite != null,
hasUnreadNote,
} : {}),
};