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

@Entity('servers')
export class ServerEntity {
  @PrimaryColumn('text')
  id!: string;

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

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

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

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

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

  @Column('integer', { default: 0 })
  isPrivate!: number;

  @Column('integer', { default: 0 })
  maxUsers!: number;

  @Column('integer', { default: 0 })
  currentUsers!: number;

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

  @Column('integer', { default: 0 })
  iconUpdatedAt!: number;

  @Column('integer', { default: 0 })
  slowModeInterval!: number;

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

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