14 lines
656 B
JavaScript
14 lines
656 B
JavaScript
import { Brackets } from "typeorm";
|
|
import { UserListJoinings, UserLists } from "../../../models/index.js";
|
|
export function generateListQuery(q, me) {
|
|
const listQuery = UserLists.createQueryBuilder("list").select("list.id").where("list.hideFromHomeTl = TRUE").andWhere("list.userId = :meId");
|
|
const memberQuery = UserListJoinings.createQueryBuilder("member").select("member.userId").where(`member.userListId IN (${listQuery.getQuery()})`);
|
|
q.andWhere(new Brackets((qb)=>{
|
|
qb.where(`note.userId = :meId`);
|
|
qb.orWhere(`note.userId NOT IN (${memberQuery.getQuery()})`);
|
|
}));
|
|
q.setParameters({
|
|
meId: me.id
|
|
});
|
|
}
|