From 1d8e8ec07f2084f452410a16d96c801cc7dad490 Mon Sep 17 00:00:00 2001 From: Mahyargdz Date: Tue, 13 May 2025 11:46:15 +0330 Subject: [PATCH] update: change the invoice status --- src/configs/typeorm.config.ts | 2 +- src/modules/invoices/enums/invoice-status.enum.ts | 3 +-- src/modules/invoices/providers/invoices.service.ts | 2 +- src/modules/invoices/queue/invoice.processor.ts | 10 +++++----- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/configs/typeorm.config.ts b/src/configs/typeorm.config.ts index 9391ab2..8d8378f 100755 --- a/src/configs/typeorm.config.ts +++ b/src/configs/typeorm.config.ts @@ -13,7 +13,7 @@ export function databaseConfigs(): TypeOrmModuleAsyncOptions { username: configService.getOrThrow("DB_USER"), password: configService.getOrThrow("DB_PASS"), autoLoadEntities: true, - synchronize: configService.getOrThrow("NODE_ENV") == "production" ? false : false, + synchronize: configService.getOrThrow("NODE_ENV") == "production" ? false : true, logging: configService.getOrThrow("NODE_ENV") == "production" ? false : true, migrationsTableName: "typeorm_migrations", migrationsRun: false, diff --git a/src/modules/invoices/enums/invoice-status.enum.ts b/src/modules/invoices/enums/invoice-status.enum.ts index 8464722..da9bcbe 100755 --- a/src/modules/invoices/enums/invoice-status.enum.ts +++ b/src/modules/invoices/enums/invoice-status.enum.ts @@ -3,7 +3,6 @@ export enum InvoiceStatus { PENDING = "PENDING", WAIT_PAYMENT = "WAIT_PAYMENT", PAID = "PAID", + ARCHIVED = "ARCHIVED", OVERDUE = "OVERDUE", - EXPIRED = "EXPIRED", - CANCELLED = "CANCELLED", } diff --git a/src/modules/invoices/providers/invoices.service.ts b/src/modules/invoices/providers/invoices.service.ts index 5e6a93f..0e710ee 100755 --- a/src/modules/invoices/providers/invoices.service.ts +++ b/src/modules/invoices/providers/invoices.service.ts @@ -317,7 +317,7 @@ export class InvoicesService { if (invoice.status === InvoiceStatus.PAID) throw new BadRequestException(InvoiceMessage.INVOICE_ALREADY_PAID); if (dayjs().isAfter(dayjs(invoice.dueDate).add(INVOICE.MAX_DAYS_AFTER_OVERDUE, "day"))) { - invoice.status = InvoiceStatus.EXPIRED; + invoice.status = InvoiceStatus.ARCHIVED; await queryRunner.manager.save(Invoice, invoice); throw new BadRequestException(InvoiceMessage.INVOICE_IS_OVERDUE); } diff --git a/src/modules/invoices/queue/invoice.processor.ts b/src/modules/invoices/queue/invoice.processor.ts index 09ef404..3866520 100755 --- a/src/modules/invoices/queue/invoice.processor.ts +++ b/src/modules/invoices/queue/invoice.processor.ts @@ -80,7 +80,7 @@ export class InvoiceProcessor extends WorkerProcessor { throw new Error(`Maximum recurring cycles (${invoice.maxRecurringCycles}) reached for invoice ${invoice.id}`); } - if (invoice.status === InvoiceStatus.CANCELLED) throw new Error(`Cannot create recurring invoice for cancelled invoice ${invoice.id}`); + if (invoice.status === InvoiceStatus.ARCHIVED) throw new Error(`Cannot create recurring invoice for archived invoice ${invoice.id}`); } //********************************** */ @@ -195,11 +195,11 @@ export class InvoiceProcessor extends WorkerProcessor { //********************************** */ private async cancelOverdueInvoice(invoice: Invoice, queryRunner: QueryRunner) { - invoice.status = InvoiceStatus.CANCELLED; + invoice.status = InvoiceStatus.ARCHIVED; await queryRunner.manager.save(Invoice, invoice); if (invoice.items[0]?.subscriptionPlan) { this.logger.log( - `Invoice ${invoice.id} has been cancelled as it is more than 10 days overdue. Subscription Plan ${invoice.items[0].subscriptionPlan.id} has been cancelled.`, + `Invoice ${invoice.id} has been archived as it is more than 10 days overdue. Subscription Plan ${invoice.items[0].subscriptionPlan.id} has been cancelled.`, ); const userSubscription = invoice.items[0].subscriptionPlan; userSubscription.status = SubscriptionStatus.INACTIVE; @@ -215,7 +215,7 @@ export class InvoiceProcessor extends WorkerProcessor { } if (invoice.items[0]?.supportPlan) { this.logger.log( - `Invoice ${invoice.id} has been cancelled as it is more than 10 days overdue. Support Plan ${invoice.items[0].supportPlan.id} has been cancelled.`, + `Invoice ${invoice.id} has been archived as it is more than 10 days overdue. Support Plan ${invoice.items[0].supportPlan.id} has been cancelled.`, ); const userSupportPlan = invoice.items[0].supportPlan; userSupportPlan.status = UserSupportPlanStatus.INACTIVE; @@ -223,7 +223,7 @@ export class InvoiceProcessor extends WorkerProcessor { await this.applyFreeSupportPlan(invoice, queryRunner); } - this.logger.log(`Invoice ${invoice.id} has been cancelled as it is more than 10 days overdue.`); + this.logger.log(`Invoice ${invoice.id} has been archived as it is more than 10 days overdue.`); } //********************************** */