import {
    Entity,
    Index,
    ManyToOne,
    PrimaryGeneratedColumn,
    Column,
    CreateDateColumn,
  } from 'typeorm';
  import { User } from './user.entity';
  import { Role } from './role.entity';

  @Entity({ name: 'user_roles' })
  @Index(['userId', 'roleId'], { unique: true })
  export class UserRole {
    @PrimaryGeneratedColumn('uuid')
    id!: string;

    @Column({ type: 'varchar', name: 'user_id' })
    userId!: string;

    @Column({ type: 'varchar', name: 'role_id' })
    roleId!: string;

    @ManyToOne(() => User, (u) => u.userRoles, { onDelete: 'CASCADE' })
    user!: User;

    @ManyToOne(() => Role, (r) => r.userRoles, { onDelete: 'CASCADE' })
    role!: Role;

    @CreateDateColumn()
    createdAt!: Date;
  }
  