Files
dsc-api/src/modules/subscriptions/subscriptions.module.ts
T
2026-01-06 08:53:13 +03:30

45 lines
1.9 KiB
TypeScript
Executable File

import { BullModule } from "@nestjs/bullmq";
import { forwardRef, Module } from "@nestjs/common";
import { TypeOrmModule } from "@nestjs/typeorm";
import { SUBSCRIPTIONS } from "./constants";
import { SubscriptionPlan } from "./entities/subscription.entity";
import { UserSubscription } from "./entities/user-subscription.entity";
import { SubscriptionsService } from "./providers/subscriptions.service";
import { SubscriptionsPlanRepository } from "./repositories/subscriptions.repository";
import { UserSubscriptionsRepository } from "./repositories/user-subscriptions.repository";
import { SubscriptionsController } from "./subscriptions.controller";
import { DanakServicesModule } from "../danak-services/danak-services.module";
import { DmenuModule } from "../dmenu/dmenu.module";
import { InvoicesModule } from "../invoices/invoices.module";
import { UsersModule } from "../users/users.module";
import { WalletsModule } from "../wallets/wallets.module";
import { UserQuickAccess } from "./entities/user-quick-access.entity";
import { UserQuickAccessService } from "./providers/users-quick-access.service";
import { UserQuickAccessRepository } from "./repositories/users-quick-access.repository";
@Module({
imports: [
TypeOrmModule.forFeature([SubscriptionPlan, UserSubscription, UserQuickAccess]),
BullModule.registerQueue({
name: SUBSCRIPTIONS.PROVISIONING_QUEUE_NAME,
prefix: SUBSCRIPTIONS.PROVISIONING_QUEUE_PREFIX,
}),
forwardRef(() => InvoicesModule),
DanakServicesModule,
forwardRef(() => DmenuModule),
UsersModule,
WalletsModule,
],
providers: [
SubscriptionsService,
SubscriptionsPlanRepository,
UserSubscriptionsRepository,
UserQuickAccessRepository,
UserQuickAccessService,
],
controllers: [SubscriptionsController],
exports: [SubscriptionsService, SubscriptionsPlanRepository, UserSubscriptionsRepository],
})
export class SubscriptionsModule {}