import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { Usuario } from './entities/usuario.entity';
import { Perfil } from './entities/perfil.entity';

@Injectable()
export class UsersService {
  constructor(
    @InjectRepository(Usuario) private userRepo: Repository<Usuario>,
    @InjectRepository(Perfil) private perfilRepo: Repository<Perfil>,
  ) {}

  findAll() { return this.userRepo.find({ relations: ['perfil'], where: { ativo: true } }); }
  findOne(id: string) { return this.userRepo.findOne({ where: { id }, relations: ['perfil'] }); }
  create(data: Partial<Usuario>) { return this.userRepo.save(data); }
  async update(id: string, data: Partial<Usuario>) { await this.userRepo.update(id, data); return this.findOne(id); }
  async remove(id: string) { await this.userRepo.update(id, { ativo: false }); }
  findAllPerfis() { return this.perfilRepo.find(); }
}
