import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Member } from './entities/Member';
import { MemberLevel } from './entities/MemberLevel';
import { MemberAddress } from './entities/MemberAddress';
import { MemberSign } from './entities/MemberSign';
import { MemberCashOut } from './entities/MemberCashOut';
import { MemberLabel } from './entities/MemberLabel';
import { MemberAccount } from './entities/MemberAccount';
import { MemberPoints } from './entities/MemberPoints';
import { MemberBalance } from './entities/MemberBalance';
import { MemberConfig } from './entities/MemberConfig';
import { CoreMemberService } from './services/core/CoreMemberService';
import { MemberService as MemberApiService } from './services/api/MemberService';
import { MemberService as MemberAdminService } from './services/admin/MemberService';
import { MemberController as MemberApiController } from './controllers/api/MemberController';
import { MemberController as MemberAdminController } from './controllers/adminapi/MemberController';

@Module({
  imports: [
    TypeOrmModule.forFeature([
      Member,
      MemberLevel,
      MemberAddress,
      MemberSign,
      MemberCashOut,
      MemberLabel,
      MemberAccount,
      MemberPoints,
      MemberBalance,
      MemberConfig,
    ]),
  ],
  providers: [CoreMemberService, MemberApiService, MemberAdminService],
  controllers: [MemberApiController, MemberAdminController],
  exports: [CoreMemberService, MemberApiService, MemberAdminService],
})
export class MemberModule {} 