Files
FrozenFriendsYume/packages/backend/built/server/api/common/generate-channel-query.js
T
2026-07-26 18:25:37 +09:00

19 lines
889 B
JavaScript

import { ChannelFollowings } from "../../../models/index.js";
import { Brackets } from "typeorm";
export function generateChannelQuery(q, me) {
if (me == null) {
q.andWhere("note.channelId IS NULL");
} else {
q.leftJoinAndSelect("note.channel", "channel");
const channelFollowingQuery = ChannelFollowings.createQueryBuilder("channelFollowing").select("channelFollowing.followeeId").where("channelFollowing.followerId = :followerId", {
followerId: me.id
});
q.andWhere(new Brackets((qb)=>{
qb// チャンネルのノートではない
.where("note.channelId IS NULL")// または自分がフォローしているチャンネルのノート
.orWhere(`note.channelId IN (${channelFollowingQuery.getQuery()})`);
}));
q.setParameters(channelFollowingQuery.getParameters());
}
}