import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm';

export enum AnnouncementSections {
  home = 'home',
  shop = 'shop',
  service = 'service',
  oilGovernment = 'oil_government',
  rahvar = 'rahvar',
}

@Entity('announcements')
export class AnnouncementEntity extends BaseEntity {
  @PrimaryGeneratedColumn({ type: 'int', name: 'id' })
  id: number;

  @Column('text', { name: 'content' })
  content: string;

  @Column('enum', {
    name: 'section',
    nullable: true,
    enum: AnnouncementSections,
  })
  section: AnnouncementSections | null;

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

  @Column('datetime', { name: 'startDate', nullable: true })
  startDate: Date | null;

  @Column('datetime', { name: 'endDate', nullable: true })
  endDate: Date | null;

  @Column('int', { name: 'displayOrder', default: () => "'1'" })
  displayOrder: number;

  @Column('tinyint', { name: 'isPublished', width: 1, default: () => "'1'" })
  isPublished: boolean;

  @Column('datetime', { name: 'createdAt' })
  createdAt: Date;

  @Column('datetime', { name: 'updatedAt', nullable: true })
  updatedAt: Date | null;
}
