import { Module } from "@nestjs/common";
import { UsersFacade } from "./application/users.facade";
import { UserAuthRepository } from "./infra/user-auth.repository";
import { UserProfileService } from "./infra/user-profile.service";
import { UsersController } from "./users.controller";
import { WhmcsModule } from "@bff/integrations/whmcs/whmcs.module";
import { SalesforceModule } from "@bff/integrations/salesforce/salesforce.module";
import { MappingsModule } from "@bff/modules/id-mappings/mappings.module";
import { PrismaModule } from "@bff/infra/database/prisma.module";

@Module({
  imports: [PrismaModule, WhmcsModule, SalesforceModule, MappingsModule],
  controllers: [UsersController],
  providers: [UsersFacade, UserAuthRepository, UserProfileService],
  exports: [UsersFacade, UserAuthRepository, UserProfileService],
})
export class UsersModule {}
