Files
FrozenFriendsYume/packages/backend/built/models/repositories/abuse-user-report.js
T
2026-07-26 18:25:37 +09:00

34 lines
1.3 KiB
JavaScript

import { db } from "../../db/postgre.js";
import { Users } from "../index.js";
import { AbuseUserReport } from "../entities/abuse-user-report.js";
import { awaitAll } from "../../prelude/await-all.js";
export const AbuseUserReportRepository = db.getRepository(AbuseUserReport).extend({
async pack (src) {
const report = typeof src === "object" ? src : await this.findOneByOrFail({
id: src
});
return await awaitAll({
id: report.id,
createdAt: report.createdAt.toISOString(),
comment: report.comment,
resolved: report.resolved,
reporterId: report.reporterId,
targetUserId: report.targetUserId,
assigneeId: report.assigneeId,
reporter: Users.pack(report.reporter || report.reporterId, null, {
detail: true
}),
targetUser: Users.pack(report.targetUser || report.targetUserId, null, {
detail: true
}),
assignee: report.assigneeId ? Users.pack(report.assignee || report.assigneeId, null, {
detail: true
}) : null,
forwarded: report.forwarded
});
},
packMany (reports) {
return Promise.all(reports.map((x)=>this.pack(x)));
}
});