16 lines
724 B
JavaScript
16 lines
724 B
JavaScript
import { Brackets } from "typeorm";
|
|
import { RenoteMutings } from "../../../models/index.js";
|
|
export function generateMutedUserRenotesQueryForNotes(q, me) {
|
|
const mutingQuery = RenoteMutings.createQueryBuilder("renote_muting").select("renote_muting.muteeId").where("renote_muting.muterId = :muterId", {
|
|
muterId: me.id
|
|
});
|
|
q.andWhere(new Brackets((qb)=>{
|
|
qb.where(new Brackets((qb)=>{
|
|
qb.where("note.renoteId IS NOT NULL");
|
|
qb.andWhere("note.text IS NULL");
|
|
qb.andWhere(`note.userId NOT IN (${mutingQuery.getQuery()})`);
|
|
})).orWhere("note.renoteId IS NULL").orWhere("note.text IS NOT NULL");
|
|
}));
|
|
q.setParameters(mutingQuery.getParameters());
|
|
}
|