import { Module } from '@nestjs/common';
import { EmailModule } from './email/email.module';
import { VerificationModule } from './verification/verification.module';
import { FilterEngineModule } from './filter/filter-engine.module';

/**
 * SharedModule
 *
 * @description
 * 범용적이고 재사용 가능한 기능들을 담는 통합 모듈입니다.
 * 특정 도메인에 종속되지 않으며, 여러 피처 모듈에서 광범위하게 사용됩니다.
 *
 * 포함된 모듈:
 * - EmailModule: 이메일 발송 서비스
 * - VerificationModule: 인증번호 생성 및 검증 서비스
 * - FilterEngineModule: 동적 필터링, 정렬, 페이지네이션 엔진
 *
 * @export
 * @class SharedModule
 */
@Module({
	imports: [
		EmailModule,
		VerificationModule,
		FilterEngineModule,
	],
	exports: [
		EmailModule,
		VerificationModule,
		FilterEngineModule,
	],
})
export class SharedModule {}
