HotTRDealsBackend/db/dealReport.db.js
2026-02-04 06:39:10 +00:00

55 lines
1.1 KiB
JavaScript

const prisma = require("./client")
function getDb(db) {
return db || prisma
}
async function upsertDealReport({ dealId, userId, reason, note }, db) {
const p = getDb(db)
return p.dealReport.upsert({
where: { dealId_userId: { dealId, userId } },
update: {
reason,
note: note ?? null,
status: "OPEN",
},
create: {
dealId,
userId,
reason,
note: note ?? null,
},
})
}
async function listDealReports(where = {}, { skip = 0, take = 20, orderBy, include } = {}, db) {
const p = getDb(db)
return p.dealReport.findMany({
where,
skip,
take,
orderBy: orderBy || { createdAt: "desc" },
include: include || undefined,
})
}
async function countDealReports(where = {}, db) {
const p = getDb(db)
return p.dealReport.count({ where })
}
async function updateDealReportStatus(reportId, status, db) {
const p = getDb(db)
return p.dealReport.update({
where: { id: Number(reportId) },
data: { status },
})
}
module.exports = {
upsertDealReport,
listDealReports,
countDealReports,
updateDealReportStatus,
}