45 lines
1.9 KiB
TypeScript
Executable File
45 lines
1.9 KiB
TypeScript
Executable File
import { BullModule } from "@nestjs/bullmq";
|
|
import { Module } from "@nestjs/common";
|
|
import { TypeOrmModule } from "@nestjs/typeorm";
|
|
|
|
import { INVOICE } from "./constants";
|
|
import { InvoiceItem } from "./entities/invoice-item.entity";
|
|
import { Invoice } from "./entities/invoice.entity";
|
|
import { InvoicesController } from "./invoices.controller";
|
|
import { InvoicesService } from "./providers/invoices.service";
|
|
import { InvoiceProcessor } from "./queue/invoice.processor";
|
|
import { InvoiceItemsRepository } from "./repositories/invoice-items.repository";
|
|
import { InvoicesRepository } from "./repositories/invoices.repository";
|
|
import { Discount } from "../discounts/entities/discount.entity";
|
|
import { UsageDiscount } from "../discounts/entities/usage-discount.entity";
|
|
import { DiscountRepository } from "../discounts/repositories/discounts.repository";
|
|
import { UsageDiscountRepository } from "../discounts/repositories/usage-discounts.repository";
|
|
import { LoggerModule } from "../logger/logger.module";
|
|
import { NotificationModule } from "../notifications/notifications.module";
|
|
import { PaymentsModule } from "../payments/payments.module";
|
|
import { UsersModule } from "../users/users.module";
|
|
import { UtilsModule } from "../utils/utils.module";
|
|
import { WalletsModule } from "../wallets/wallets.module";
|
|
@Module({
|
|
imports: [
|
|
LoggerModule,
|
|
BullModule.registerQueue({
|
|
name: INVOICE.QUEUE_NAME,
|
|
defaultJobOptions: {
|
|
removeOnComplete: true,
|
|
removeOnFail: true,
|
|
},
|
|
}),
|
|
TypeOrmModule.forFeature([Invoice, InvoiceItem, Discount, UsageDiscount]),
|
|
UsersModule,
|
|
WalletsModule,
|
|
UtilsModule,
|
|
NotificationModule,
|
|
PaymentsModule,
|
|
],
|
|
providers: [InvoicesService, InvoicesRepository, InvoiceItemsRepository, DiscountRepository, UsageDiscountRepository, InvoiceProcessor],
|
|
controllers: [InvoicesController],
|
|
exports: [InvoicesService],
|
|
})
|
|
export class InvoicesModule {}
|