Files
genome2025/backend/src/user/user.service.ts
2025-12-09 17:02:27 +09:00

99 lines
2.6 KiB
TypeScript

import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { UserModel } from './entities/user.entity';
import { Repository } from 'typeorm';
/**
* 사용자 정보 서비스
* 프로필 조회/수정 등 사용자 정보 관련 비즈니스 로직
*
* TODO: 나중에 프로필 기능 필요시 아래 주석 해제
*/
@Injectable()
export class UserService {
constructor(
@InjectRepository(UserModel)
private readonly userRepository: Repository<UserModel>,
) {}
// /**
// * 사용자 ID로 조회
// */
// async findByUserId(userId: string): Promise<UserModel | null> {
// return this.userRepository.findOne({
// where: { userId, delDt: IsNull() },
// });
// }
// /**
// * 사용자 번호로 조회
// */
// async findByUserNo(userNo: number): Promise<UserModel | null> {
// return this.userRepository.findOne({
// where: { pkUserNo: userNo, delDt: IsNull() },
// });
// }
// /**
// * 내 프로필 조회
// */
// async getProfile(userNo: number): Promise<{
// userNo: number;
// userId: string;
// userName: string;
// userPhone: string;
// userEmail: string;
// userRole: string;
// }> {
// const user = await this.userRepository.findOne({
// where: { pkUserNo: userNo, delDt: IsNull() },
// });
// if (!user) {
// throw new NotFoundException('사용자를 찾을 수 없습니다');
// }
// return {
// userNo: user.pkUserNo,
// userId: user.userId,
// userName: user.userName,
// userPhone: user.userPhone,
// userEmail: user.userEmail,
// userRole: user.userRole,
// };
// }
// /**
// * 프로필 수정
// */
// async updateProfile(
// userNo: number,
// data: { userName?: string; userPhone?: string },
// ): Promise<{ message: string }> {
// const user = await this.userRepository.findOne({
// where: { pkUserNo: userNo, delDt: IsNull() },
// });
// if (!user) {
// throw new NotFoundException('사용자를 찾을 수 없습니다');
// }
// if (data.userName) user.userName = data.userName;
// if (data.userPhone) user.userPhone = data.userPhone;
// await this.userRepository.save(user);
// return { message: '프로필이 수정되었습니다' };
// }
// /**
// * 전체 사용자 목록 조회 (관리자용)
// */
// async findAll(): Promise<UserModel[]> {
// return this.userRepository.find({
// where: { delDt: IsNull() },
// order: { regDt: 'DESC' },
// });
// }
}