import './config'; import { ServerFeature } from '../../core/config'; import { FeatureModule } from '../../core/features'; import { Plugin } from '../registry'; import { SubscriptionResolver, UserSubscriptionResolver } from './resolver'; import { ScheduleManager } from './schedule'; import { SubscriptionService } from './service'; import { StripeProvider } from './stripe'; import { StripeWebhook } from './webhook'; @Plugin({ name: 'payment', imports: [FeatureModule], providers: [ ScheduleManager, StripeProvider, SubscriptionService, SubscriptionResolver, UserSubscriptionResolver, ], controllers: [StripeWebhook], requires: [ 'plugins.payment.stripe.keys.APIKey', 'plugins.payment.stripe.keys.webhookKey', ], contributesTo: ServerFeature.Payment, if: config => config.flavor.graphql, }) export class PaymentModule {}