import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, ManyToOne, JoinColumn } from 'typeorm';
import { Perfil } from './perfil.entity';

@Entity('usuarios')
export class Usuario {
  @PrimaryGeneratedColumn('uuid')
  id: string;

  @Column({ length: 200 })
  nome: string;

  @Column({ unique: true, length: 255 })
  email: string;

  @Column({ length: 255 })
  senha_hash: string;

  @Column()
  perfil_id: string;

  @ManyToOne(() => Perfil, p => p.usuarios)
  @JoinColumn({ name: 'perfil_id' })
  perfil: Perfil;

  @Column({ default: true })
  ativo: boolean;

  @Column({ nullable: true })
  ultimo_acesso: Date;

  @CreateDateColumn()
  created_at: Date;

  @UpdateDateColumn()
  updated_at: Date;
}
