import { Module } from '@nestjs/common';
import { PrismaModule } from '@core/database/prisma/prisma.module';
import { PlatformMasterController } from './platform-master.controller';
import { MasterDataController } from './master-data.controller';
import { CurrencyService } from './services/currency.service';
import { CountryService } from './services/country.service';
import { GeoRegionService } from './services/geo-region.service';
import { UnitOfMeasureService } from './services/unit-of-measure.service';
import { DictionaryService } from './services/dictionary.service';
import { CustomerService } from './services/customer.service';
import { SupplierService } from './services/supplier.service';
import { PartnerService } from './services/partner.service';
import { LocationService } from './services/location.service';

/**
 * 平台公共主数据模块（L1）
 *
 * L1b 字典 / 参考数据：Currency / Country / GeoRegion / UnitOfMeasure / Dictionary
 * L1a 主数据：Customer / Supplier / Partner / Location
 * L1c 通用对象：Attachment（schema 已建，CRUD endpoint 后续补）
 *
 * API 路径：`/api/platform-master/*`
 *
 * 详见 docs/modules/platform-master/01-prd.md
 */
@Module({
  imports: [PrismaModule],
  controllers: [PlatformMasterController, MasterDataController],
  providers: [
    CurrencyService,
    CountryService,
    GeoRegionService,
    UnitOfMeasureService,
    DictionaryService,
    CustomerService,
    SupplierService,
    PartnerService,
    LocationService,
  ],
  exports: [
    CurrencyService,
    CountryService,
    GeoRegionService,
    UnitOfMeasureService,
    DictionaryService,
    CustomerService,
    SupplierService,
    PartnerService,
    LocationService,
  ],
})
export class PlatformMasterModule {}
