This commit is contained in:
2026-05-24 10:16:01 +03:30
parent 70936d194c
commit 7931c0a0c2
2 changed files with 7 additions and 9 deletions
@@ -100,7 +100,7 @@ export class PaymentController {
@UseGuards(AdminAuthGuard) @UseGuards(AdminAuthGuard)
@Permissions(PermissionEnum.MANAGE_PAYMENTS) @Permissions(PermissionEnum.MANAGE_PAYMENTS)
@ApiOperation({ summary: 'get all payments as admin' }) @ApiOperation({ summary: 'get all payments as admin' })
findAllPayments(@Body() dto: FindPaymentsDto) { findAllPayments(@Query() dto: FindPaymentsDto) {
return this.paymentService.findAll(dto); return this.paymentService.findAll(dto);
} }
@@ -68,19 +68,17 @@ export class PaymentRepository extends EntityRepository<Payment> {
} }
} }
// Search by order number or user information
if (search) { if (search) {
const searchPattern = `%${search}%`; const searchPattern = `%${search}%`;
const searchConditions: any[] = [ const searchConditions: FilterQuery<Payment>[] = [
{ user: { firstName: { $ilike: searchPattern } } }, { invoice: { user: { firstName: { $ilike: searchPattern } } } },
{ user: { lastName: { $ilike: searchPattern } } }, { invoice: { user: { lastName: { $ilike: searchPattern } } } },
{ user: { phone: { $ilike: searchPattern } } }, { invoice: { user: { phone: { $ilike: searchPattern } } } },
]; ];
// If search is numeric, also search by orderNumber
const numericSearch = Number(search); const numericSearch = Number(search);
if (!isNaN(numericSearch) && isFinite(numericSearch)) { if (!isNaN(numericSearch) && isFinite(numericSearch)) {
searchConditions.push({ orderNumber: numericSearch }); searchConditions.push({ invoice: { invoiceNumber: numericSearch } });
} }
where.$or = searchConditions; where.$or = searchConditions;
@@ -91,7 +89,7 @@ export class PaymentRepository extends EntityRepository<Payment> {
limit, limit,
offset, offset,
orderBy: { [orderBy]: order.toLowerCase() as 'asc' | 'desc' }, orderBy: { [orderBy]: order.toLowerCase() as 'asc' | 'desc' },
populate: [], populate: ['invoice', 'invoice.user', 'creator'],
}); });
const totalPages = Math.ceil(total / limit); const totalPages = Math.ceil(total / limit);