import { Module } from "@nestjs/common"
import { RoleService } from "./role.service"
import { RoleController } from "./role.controller"
import { RoleRepository } from "./repositories/role.repository"
import { TypeOrmModule } from "@nestjs/typeorm"
import { Role } from "./entities/role.entity"
import { ApiLog } from "../api-log/entities/api-log.entity"
import { RolePermissionsModule } from "../role-permissions/role-permissions.module"
import { EmployeeRepository } from "../employees/repositories/employee.repository"
import { Employee } from "../employees/entities/employee.entity"
import { CompanySubscriptionRepository } from "../company/repositories/company-subscription.repository"
import { CompanySubscription } from "../company/entities/company-subscription.entity"

@Module({
  imports: [
    TypeOrmModule.forFeature([Role, ApiLog, Employee, CompanySubscription]),
    RolePermissionsModule,
  ],
  controllers: [RoleController],
  providers: [
    RoleService,
    RoleRepository,
    EmployeeRepository,
    CompanySubscriptionRepository,
  ],
  exports: [TypeOrmModule, RoleService, RoleRepository],
})
export class RoleModule {}
