universo-platform-3d
31 строка · 1002.0 Байт
1import { LoggerModule } from './../util/logger/logger.module'2import { DynamicModule, Module, Provider } from '@nestjs/common'3import { Stripe } from 'stripe'4import { STRIPE_CLIENT } from './constants'5import { StripeController } from './stripe.controller'6import { StripeService } from './stripe.service'7import { User, UserSchema } from '../user/user.schema'8import { MongooseModule } from '@nestjs/mongoose'9@Module({})10export class StripeModule {11static forRoot(apiKey: string, config: Stripe.StripeConfig): DynamicModule {12const stripe = new Stripe(apiKey, config)13
14const stripeProvider: Provider = {15provide: STRIPE_CLIENT,16useValue: stripe17}18
19return {20module: StripeModule,21providers: [stripeProvider, User, StripeService],22controllers: [StripeController],23imports: [24LoggerModule,25MongooseModule.forFeature([{ name: User.name, schema: UserSchema }])26],27exports: [stripeProvider],28global: true29}30}31}
32