import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm';
import { ApiProperty } from '@nestjs/swagger';
import { HostType } from '../../../common/enum/HostType.enum';

@Entity('subscribers')
export class Subscriber {
  @ApiProperty()
  @PrimaryGeneratedColumn()
  id: number;

  @ApiProperty({
    example: 'user@example.com',
    description: 'Subscriber email address',
  })
  @Column({ unique: true, type: 'varchar' })
  email: string;

  @ApiProperty({
    example: true,
    description: 'Whether the subscription is active',
  })
  @Column({ name: 'is_active', default: true })
  isActive: boolean;

  @ApiProperty({
    example: 'DFUK',
    description: 'Host type',
  })
  @Column({
    name: 'host_type',
    type: 'enum',
    enum: HostType,
    default: HostType.DFUK,
  })
  host: HostType;
}
