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

29 lines
1.2 KiB
JavaScript

import { Brackets } from "typeorm";
export function generateRepliesQuery(q, withReplies, me) {
if (me == null) {
q.andWhere(new Brackets((qb)=>{
qb.where("note.replyId IS NULL") // 返信ではない
.orWhere(new Brackets((qb)=>{
qb.where(// 返信だけど投稿者自身への返信
"note.replyId IS NOT NULL").andWhere("note.replyUserId = note.userId");
}));
}));
} else if (!withReplies) {
q.andWhere(new Brackets((qb)=>{
qb.where("note.replyId IS NULL") // 返信ではない
.orWhere("note.replyUserId = :meId", {
meId: me.id
}) // 返信だけど自分のノートへの返信
.orWhere(new Brackets((qb)=>{
qb.where("note.replyId IS NOT NULL") // 返信だけど自分の行った返信
.andWhere("note.userId = :meId", {
meId: me.id
});
})).orWhere(new Brackets((qb)=>{
qb.where("note.replyId IS NOT NULL") // 返信だけど投稿者自身への返信
.andWhere("note.replyUserId = note.userId");
}));
}));
}
}