import { Module } from "@nestjs/common";
import { RewardService } from "./reward.service";
import { RewardController } from "./reward.controller";
import { Users, UsersSchema } from "src/schema/users.schema";
import { Wallet, WalletSchema } from "src/schema/wallet.schema";
import {
  RewardTransaction,
  RewardTransactionSchema,
} from "src/schema/reward-transaction.schema";
import {
  UserSubscription,
  UserSubscriptionSchema,
} from "src/schema/user-subscription.schema";
import {
  SubscriptionPlan,
  SubscriptionPlanSchema,
} from "src/schema/subscription.schema";
import { Invoice, InvoiceSchema } from "src/schema/invoice.schema";
import { MongooseModule } from "@nestjs/mongoose";
import { JwtUtilsService } from "src/common/service/jwt-util.service";
import { ResponseService } from "src/common/service/response.service";

@Module({
  imports: [
    MongooseModule.forFeature([
      { name: Users.name, schema: UsersSchema },
      { name: Wallet.name, schema: WalletSchema },
      { name: RewardTransaction.name, schema: RewardTransactionSchema },
      { name: UserSubscription.name, schema: UserSubscriptionSchema },
      { name: SubscriptionPlan.name, schema: SubscriptionPlanSchema },
      { name: Invoice.name, schema: InvoiceSchema },
    ]),
  ],
  controllers: [RewardController],
  providers: [RewardService, ResponseService, JwtUtilsService],
})
export class RewardModule {}
