import {
  Entity,
  PrimaryColumn,
  Column
} from 'typeorm';

@Entity('room_members')
export class RoomMemberEntity {
  @PrimaryColumn('text')
  roomId!: string;

  @PrimaryColumn('text')
  memberKey!: string;

  @Column('text')
  id!: string;

  @Column('text', { nullable: true })
  oderId!: string | null;

  @Column('text')
  username!: string;

  @Column('text')
  displayName!: string;

  @Column('text', { nullable: true })
  description!: string | null;

  @Column('integer', { nullable: true })
  profileUpdatedAt!: number | null;

  @Column('text', { nullable: true })
  avatarUrl!: string | null;

  @Column('text', { nullable: true })
  avatarHash!: string | null;

  @Column('text', { nullable: true })
  avatarMime!: string | null;

  @Column('integer', { nullable: true })
  avatarUpdatedAt!: number | null;

  @Column('text')
  role!: 'host' | 'admin' | 'moderator' | 'member';

  @Column('integer')
  joinedAt!: number;

  @Column('integer')
  lastSeenAt!: number;
}
