admin roadmap filter & search, user management, reopen rejected, system health
This commit is contained in:
@@ -40,10 +40,35 @@ export const refundRepo = {
|
||||
},
|
||||
|
||||
async listByStatus(
|
||||
status?: "PENDING" | "APPROVED" | "REJECTED" | "PROCESSING" | "SUCCEEDED" | "FAILED"
|
||||
status?: "PENDING" | "APPROVED" | "REJECTED" | "PROCESSING" | "SUCCEEDED" | "FAILED",
|
||||
filters?: {
|
||||
dateFrom?: Date;
|
||||
dateTo?: Date;
|
||||
reviewerEmail?: string;
|
||||
reason?:
|
||||
| "USER_CANCELLATION"
|
||||
| "ORGANIZER_CANCELLED"
|
||||
| "TRIP_ISSUE"
|
||||
| "ADMIN_ADJUSTMENT"
|
||||
| "DISPUTE_RESOLVED";
|
||||
}
|
||||
) {
|
||||
const where: Prisma.RefundWhereInput = {};
|
||||
if (status) where.status = status;
|
||||
if (filters?.dateFrom || filters?.dateTo) {
|
||||
where.createdAt = {
|
||||
...(filters.dateFrom && { gte: filters.dateFrom }),
|
||||
...(filters.dateTo && { lte: filters.dateTo }),
|
||||
};
|
||||
}
|
||||
if (filters?.reviewerEmail) {
|
||||
where.reviewedBy = { email: filters.reviewerEmail };
|
||||
}
|
||||
if (filters?.reason) {
|
||||
where.reason = filters.reason;
|
||||
}
|
||||
return prisma.refund.findMany({
|
||||
where: status ? { status } : undefined,
|
||||
where,
|
||||
orderBy: { createdAt: "desc" },
|
||||
include: refundListInclude,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user