Fixed 267U.pre2
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
import { db } from "../../db/postgre.js";
|
||||
import { Channel } from "../entities/channel.js";
|
||||
import { DriveFiles, ChannelFollowings, NoteUnreads } from "../index.js";
|
||||
export const ChannelRepository = db.getRepository(Channel).extend({
|
||||
async pack (src, me) {
|
||||
const channel = typeof src === "object" ? src : await this.findOneByOrFail({
|
||||
id: src
|
||||
});
|
||||
const meId = me ? me.id : null;
|
||||
const banner = channel.bannerId ? await DriveFiles.findOneBy({
|
||||
id: channel.bannerId
|
||||
}) : null;
|
||||
const hasUnreadNote = meId ? await NoteUnreads.findOneBy({
|
||||
noteChannelId: channel.id,
|
||||
userId: meId
|
||||
}) != null : undefined;
|
||||
const following = meId ? await ChannelFollowings.findOneBy({
|
||||
followerId: meId,
|
||||
followeeId: channel.id
|
||||
}) : null;
|
||||
return {
|
||||
id: channel.id,
|
||||
createdAt: channel.createdAt.toISOString(),
|
||||
lastNotedAt: channel.lastNotedAt ? channel.lastNotedAt.toISOString() : null,
|
||||
name: channel.name,
|
||||
description: channel.description,
|
||||
userId: channel.userId,
|
||||
bannerUrl: banner ? DriveFiles.getPublicUrl(banner, false) : null,
|
||||
usersCount: channel.usersCount,
|
||||
notesCount: channel.notesCount,
|
||||
...me ? {
|
||||
isFollowing: following != null,
|
||||
hasUnreadNote
|
||||
} : {}
|
||||
};
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user