Skip to content
Snippets Groups Projects
command.model.ts 5.22 KiB
Newer Older
  • Learn to ignore specific revisions
  • /*
     * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
     * Ministerpräsidenten des Landes Schleswig-Holstein
     * Staatskanzlei
     * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
     *
     * Lizenziert unter der EUPL, Version 1.2 oder - sobald
     * diese von der Europäischen Kommission genehmigt wurden -
     * Folgeversionen der EUPL ("Lizenz");
     * Sie dürfen dieses Werk ausschließlich gemäß
     * dieser Lizenz nutzen.
     * Eine Kopie der Lizenz finden Sie hier:
     *
     * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
     *
     * Sofern nicht durch anwendbare Rechtsvorschriften
     * gefordert oder in schriftlicher Form vereinbart, wird
     * die unter der Lizenz verbreitete Software "so wie sie
     * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
     * ausdrücklich oder stillschweigend - verbreitet.
     * Die sprachspezifischen Genehmigungen und Beschränkungen
     * unter der Lizenz sind dem Lizenztext zu entnehmen.
     */
    
    import { ListResource } from '@alfa-client/tech-shared';
    
    export interface CreateCommand {
    
      order: CommandOrder | any;
      body?: any | CommandBody;
    
      relationId?: string;
    
      item: any;
    
    export interface Command extends CreateCommand {
    
      createdAt: Date;
      createdByName?: string;
      status: CommandStatus;
      finishedAt: Date;
      errorMessage: string;
    
    export interface CommandResource extends Command, Resource {}
    
    export interface CommandListResource extends ListResource {}
    
      FINISHED = 'FINISHED',
      PENDING = 'PENDING',
      REVOKED = 'REVOKED',
      ERROR = 'ERROR',
    
      ASSIGN_USER = 'ASSIGN_USER',
      CREATE_KOMMENTAR = 'CREATE_KOMMENTAR',
      EDIT_KOMMENTAR = 'EDIT_KOMMENTAR',
      CREATE_WIEDERVORLAGE = 'CREATE_WIEDERVORLAGE',
      EDIT_WIEDERVORLAGE = 'EDIT_WIEDERVORLAGE',
      FORWARD_FAILED = 'FORWARD_FAILED',
      REDIRECT_VORGANG = 'REDIRECT_VORGANG',
      FORWARD_SUCCESSFULL = 'FORWARD_SUCCESSFULL',
      PROCESS_VORGANG = 'PROCESS_VORGANG',
      SEND_POSTFACH_NACHRICHT = 'SEND_POSTFACH_NACHRICHT',
      RECEIVE_POSTFACH_NACHRICHT = 'RECEIVE_POSTFACH_NACHRICHT',
      RESEND_POSTFACH_NACHRICHT = 'RESEND_POSTFACH_MAIL',
      WIEDERVORLAGE_ERLEDIGEN = 'WIEDERVORLAGE_ERLEDIGEN',
      WIEDERVORLAGE_WIEDEREROEFFNEN = 'WIEDERVORLAGE_WIEDEREROEFFNEN',
      VORGANG_ANNEHMEN = 'VORGANG_ANNEHMEN',
      VORGANG_VERWERFEN = 'VORGANG_VERWERFEN',
      VORGANG_ZURUECKHOLEN = 'VORGANG_ZURUECKHOLEN',
      VORGANG_BEARBEITEN = 'VORGANG_BEARBEITEN',
      VORGANG_BESCHEIDEN = 'VORGANG_BESCHEIDEN',
      VORGANG_ZURUECKSTELLEN = 'VORGANG_ZURUECKSTELLEN',
      VORGANG_ABSCHLIESSEN = 'VORGANG_ABSCHLIESSEN',
      VORGANG_WIEDEREROEFFNEN = 'VORGANG_WIEDEREROEFFNEN',
      VORGANG_ZUM_LOESCHEN_MARKIEREN = 'VORGANG_ZUM_LOESCHEN_MARKIEREN',
      VORGANG_LOESCHEN = 'VORGANG_LOESCHEN',
      LOESCH_ANFORDERUNG_ZURUECKNEHMEN = 'LOESCH_ANFORDERUNG_ZURUECKNEHMEN',
      CREATE_BESCHEID = 'CREATE_BESCHEID',
      SET_AKTENZEICHEN = 'SET_AKTENZEICHEN',
    
      DELETE_BESCHEID = 'DELETE_BESCHEID',
    
    }
    
    export enum CommandOrderType {
    
      USER = 'User',
      FORWARDING = 'Forwarding',
      KOMMENTAR = 'Kommentar',
      POSTFACH_NACHRICHT = 'PostfachNachricht',
      VORGANG = 'Vorgang',
      WIEDERVORLAGE = 'Wiedervorlage',
      LOESCH_ANFORDERUNG = 'LoeschAnforderung',
      SET_AKTENZEICHEN = 'SetAktenzeichen',
    
    }
    
    export const ORDER_TYPE_BY_COMMAND_ORDER = {
    
      [CommandOrder.ASSIGN_USER]: CommandOrderType.USER,
      [CommandOrder.CREATE_KOMMENTAR]: CommandOrderType.KOMMENTAR,
      [CommandOrder.EDIT_KOMMENTAR]: CommandOrderType.KOMMENTAR,
      [CommandOrder.CREATE_WIEDERVORLAGE]: CommandOrderType.WIEDERVORLAGE,
      [CommandOrder.EDIT_WIEDERVORLAGE]: CommandOrderType.WIEDERVORLAGE,
      [CommandOrder.FORWARD_FAILED]: CommandOrderType.FORWARDING,
      [CommandOrder.REDIRECT_VORGANG]: CommandOrderType.FORWARDING,
      [CommandOrder.FORWARD_SUCCESSFULL]: CommandOrderType.FORWARDING,
      [CommandOrder.SEND_POSTFACH_NACHRICHT]: CommandOrderType.POSTFACH_NACHRICHT,
      [CommandOrder.RECEIVE_POSTFACH_NACHRICHT]: CommandOrderType.POSTFACH_NACHRICHT,
      [CommandOrder.RESEND_POSTFACH_NACHRICHT]: CommandOrderType.POSTFACH_NACHRICHT,
      [CommandOrder.WIEDERVORLAGE_ERLEDIGEN]: CommandOrderType.WIEDERVORLAGE,
      [CommandOrder.WIEDERVORLAGE_WIEDEREROEFFNEN]: CommandOrderType.WIEDERVORLAGE,
      [CommandOrder.VORGANG_ANNEHMEN]: CommandOrderType.VORGANG,
      [CommandOrder.VORGANG_VERWERFEN]: CommandOrderType.VORGANG,
      [CommandOrder.VORGANG_ZURUECKHOLEN]: CommandOrderType.VORGANG,
      [CommandOrder.VORGANG_BEARBEITEN]: CommandOrderType.VORGANG,
      [CommandOrder.VORGANG_BESCHEIDEN]: CommandOrderType.VORGANG,
      [CommandOrder.VORGANG_ZURUECKSTELLEN]: CommandOrderType.VORGANG,
      [CommandOrder.VORGANG_ABSCHLIESSEN]: CommandOrderType.VORGANG,
      [CommandOrder.VORGANG_WIEDEREROEFFNEN]: CommandOrderType.VORGANG,
      [CommandOrder.VORGANG_ZUM_LOESCHEN_MARKIEREN]: CommandOrderType.LOESCH_ANFORDERUNG,
      [CommandOrder.VORGANG_LOESCHEN]: CommandOrderType.LOESCH_ANFORDERUNG,
      [CommandOrder.LOESCH_ANFORDERUNG_ZURUECKNEHMEN]: CommandOrderType.LOESCH_ANFORDERUNG,
      [CommandOrder.SET_AKTENZEICHEN]: CommandOrderType.SET_AKTENZEICHEN,
    };
    
    
    export interface CreateCommandProps {
    
      resource: Resource;
      linkRel: string;
      command: CreateCommand;
    
      //Wenn man KEINE Snackbar haben möchte, muss die snackBarMessage auf einen leeren String ('' / EMPTY_STRING) gesetzt werden