import { Injectable, NotFoundException } from '@nestjs/common';
import { CreateUserDto } from './dto/create-user.dto';

// 비즈니스 로직 계층 샘플 — 실제 구현 시 Repository 주입하여 데이터 접근
@Injectable()
export class UserService {
  // 임시 인메모리 저장소 — Repository 도입 시 교체
  private readonly users = new Map<number, { id: number; email: string; name: string }>();

  findOne(id: number) {
    const user = this.users.get(id);
    if (!user) {
      // 404 → 전역 필터에서 RES_001 로 변환됨
      throw new NotFoundException();
    }
    return user;
  }

  create(dto: CreateUserDto) {
    const id = this.users.size + 1;
    const user = { id, email: dto.email, name: dto.name };
    this.users.set(id, user);
    return user;
  }
}
