update: add to query to the invoice search for ademin
This commit is contained in:
@@ -30,6 +30,11 @@ export class InvoicesSearchQueryDto extends PaginationDto {
|
||||
@IsDateString({}, { message: InvoiceMessage.INVALID_DATE })
|
||||
@ApiPropertyOptional({ description: "since query", example: "2025-01-27" })
|
||||
since?: string;
|
||||
|
||||
@IsOptional()
|
||||
@IsDateString({}, { message: InvoiceMessage.INVALID_DATE })
|
||||
@ApiPropertyOptional({ description: "to date query", example: "2025-01-27" })
|
||||
to?: string;
|
||||
}
|
||||
|
||||
export class UserInvoicesSearchQueryDto extends PickType(InvoicesSearchQueryDto, ["status", "limit", "page"]) {}
|
||||
|
||||
@@ -62,7 +62,6 @@ export class InvoicesService {
|
||||
const totalPrice = invoiceItems.reduce((sum, item) => new Decimal(item.totalPrice).add(sum), new Decimal(0));
|
||||
const tax = totalPrice.mul(0.1);
|
||||
|
||||
//TODO:for test use minutes
|
||||
const dueDate = dayjs().add(INVOICE.DUEDATE, "day").toDate();
|
||||
|
||||
const invoice = queryRunner.manager.create(Invoice, {
|
||||
@@ -91,7 +90,7 @@ export class InvoicesService {
|
||||
},
|
||||
queryRunner,
|
||||
);
|
||||
|
||||
//TODO:remove the test delay
|
||||
await this.invoiceQueue.add(
|
||||
INVOICE.INVOICE_REMINDER_JOB_NAME,
|
||||
{ invoiceId: invoice.id },
|
||||
|
||||
@@ -50,6 +50,12 @@ export class InvoicesRepository extends Repository<Invoice> {
|
||||
});
|
||||
}
|
||||
|
||||
if (queryDto.to) {
|
||||
queryBuilder.andWhere("(invoice.createdAt <= :to OR invoice.dueDate <= :to OR invoice.paidAt <= :to)", {
|
||||
to: new Date(queryDto.to),
|
||||
});
|
||||
}
|
||||
|
||||
queryBuilder.orderBy("invoice.createdAt", "DESC");
|
||||
queryBuilder.skip(skip);
|
||||
queryBuilder.take(limit);
|
||||
|
||||
Reference in New Issue
Block a user