import {
  Entity, PrimaryGeneratedColumn, Column,
  ManyToOne, JoinColumn, CreateDateColumn,
} from 'typeorm';
import { ChatRoom } from './chat-room.entity';
import { User } from '../../user/entities/user.entity';

@Entity('chat_room_members')
export class ChatRoomMember {
  @PrimaryGeneratedColumn()
  id!: number;

  @Column()
  room_id!: number;

  @Column()
  user_id!: number;

  @Column({ type: 'datetime', nullable: true })
  last_read!: Date;

  @CreateDateColumn()
  joined_at!: Date;

  @ManyToOne(() => ChatRoom, r => r.members)
  @JoinColumn({ name: 'room_id' })
  room!: ChatRoom;

  @ManyToOne(() => User)
  @JoinColumn({ name: 'user_id' })
  user!: User;
}