import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { User } from './user.entity';

@Injectable()
export class UsersService {
  constructor(
    @InjectRepository(User)
    private usersRepo: Repository<User>,
  ) { }

  findByEmail(email: string) {
    return this.usersRepo.findOne({ where: { email } });
  }

  create(user: Partial<User>) {
    const newUser = this.usersRepo.create(user);
    return this.usersRepo.save(newUser);
  }
  async findByResetToken(token: string) {
    if (!token) return null;
    return this.usersRepo.findOne({ where: { resetToken: token } });
  }

  async save(user: User) {
    return this.usersRepo.save(user);
  }

  async findById(id: number) {
    return this.usersRepo.findOne({ where: { id } });
  }
}
