import { TimeWindow } from './time-window';
import { TaskType } from './task-type';
import { TaskStatus } from './task-status';

export interface Task {
  /**
   * PK der Aufgabe / Info
   */
  id: number;
  /**
   * Aktueller Status der Aufgabe / Info
   */
  status: TaskStatus;
  /**
   * Titel der Aufgabe / Info
   */
  title: string;
  /**
   * Beschreibung der Aufgabe / Info
   */
  body?: string;

  /**
   * Typ (Info, Aufgabe, Vorabinfo)
   */
  type: TaskType;

  /**
   * Kategorie / Bereich
   */
  category?: string;

  /**
   * Startzeitpunkt der Aufgabe / Info
   */
  date: Date;

  /**
   * Aufgabe ganztätig (ja / nein)
   */
  isAllDay?: boolean;

  /**
   * Aufgabe mehrtägig (ja / nein)
   */
  isMultiDay?: boolean;

  /**
   * Zeitraum der Aufgabe
   */
  timeWindow?: TimeWindow;

  /**
   * Bestätigung mit Bild erforderlich
   */
  requiresImageOnConfirmation?: boolean;

  /**
   * Liegen Artikel (Artikelliste) vor
   */
  hasArticles?: boolean;

  /**
   * Liegen Dateianhänge vor
   */
  hasAttachments?: boolean;

  /**
   * Liegen Teaser Bilder vor
   */
  hasTeaserImages?: boolean;

  /**
   * Teaser Bild
   */
  teaserImage?: File;
}
