20 lines
584 B
TypeScript
20 lines
584 B
TypeScript
|
import { Notes } from "@/models/index.js";
|
||
|
|
||
|
export async function countSameRenotes(
|
||
|
userId: string,
|
||
|
renoteId: string,
|
||
|
excludeNoteId: string | undefined,
|
||
|
): Promise<number> {
|
||
|
// 指定したユーザーの指定したノートのリノートがいくつあるか数える
|
||
|
const query = Notes.createQueryBuilder("note")
|
||
|
.where("note.userId = :userId", { userId })
|
||
|
.andWhere("note.renoteId = :renoteId", { renoteId });
|
||
|
|
||
|
// 指定した投稿を除く
|
||
|
if (excludeNoteId) {
|
||
|
query.andWhere("note.id != :excludeNoteId", { excludeNoteId });
|
||
|
}
|
||
|
|
||
|
return await query.getCount();
|
||
|
}
|