import { defaultDateGeneratorHelper } from "src/common/helpers/default-date-genarate";
import { Permission } from "src/gestion-utilisateurs/permission/entities/permission.entity";
import { Utilisateur } from "src/gestion-utilisateurs/utilisateurs/entities/utilisateur.entity";
import { Column, Entity, Index, ManyToMany, ManyToOne, OneToMany, PrimaryGeneratedColumn } from "typeorm";

@Entity('t_profils')
export class Profil extends defaultDateGeneratorHelper {
    @PrimaryGeneratedColumn()
    id: number;

    @Index()
    @Column({name: 'r_code', type:'character varying', length: 20, nullable: true, unique: true})
    code: string;

    @Index()
    @Column({name: 'r_nom', type:'character varying', length: 35, unique: true, nullable: true})
    nom: string;

    @Column({name: 'r_description', type: 'text', nullable: true})
    description: string;

    @ManyToMany(()=>Permission,permission=>permission.profils)
    permissions: Permission[];

    @OneToMany(type=> Utilisateur, (utilisateur) => utilisateur.profil)
    utilisateur: Utilisateur[];
}
