import { forwardRef, Module } from '@nestjs/common'; import { CreateInvoiceCheckoutSession } from './CreateInvoiceCheckoutSession'; import { GetPaymentLinkInvoicePdf } from './GetPaymentLinkInvoicePdf'; import { PaymentLinksApplication } from './PaymentLinksApplication'; import { PaymentLinksController } from './PaymentLinks.controller'; import { InjectSystemModel } from '../System/SystemModels/SystemModels.module'; import { PaymentLink } from './models/PaymentLink'; import { StripePaymentModule } from '../StripePayment/StripePayment.module'; import { SaleInvoicesModule } from '../SaleInvoices/SaleInvoices.module'; import { GetInvoicePaymentLinkMetadata } from './GetInvoicePaymentLinkMetadata'; import { TenancyContext } from '../Tenancy/TenancyContext.service'; const models = [InjectSystemModel(PaymentLink)]; @Module({ imports: [ forwardRef(() => StripePaymentModule), forwardRef(() => SaleInvoicesModule), ], providers: [ ...models, TenancyContext, CreateInvoiceCheckoutSession, GetPaymentLinkInvoicePdf, PaymentLinksApplication, GetInvoicePaymentLinkMetadata, ], controllers: [PaymentLinksController], exports: [...models, PaymentLinksApplication], }) export class PaymentLinksModule {}