-- Migration 058: dynamic issue statuses and priorities

CREATE TABLE IF NOT EXISTS issue_statuses (
  id                     SERIAL PRIMARY KEY,
  schluessel             VARCHAR(50) UNIQUE NOT NULL,
  bezeichnung            VARCHAR(100) NOT NULL,
  farbe                  VARCHAR(50) NOT NULL DEFAULT 'default',
  ist_abschluss          BOOLEAN NOT NULL DEFAULT false,
  ist_initial            BOOLEAN NOT NULL DEFAULT false,
  benoetigt_typ_freigabe BOOLEAN NOT NULL DEFAULT false,
  sort_order             INT NOT NULL DEFAULT 0,
  aktiv                  BOOLEAN NOT NULL DEFAULT true
);

INSERT INTO issue_statuses (schluessel, bezeichnung, farbe, ist_abschluss, ist_initial, benoetigt_typ_freigabe, sort_order)
VALUES
  ('offen',          'Offen',          'info',    false, true,  false, 0),
  ('in_bearbeitung', 'In Bearbeitung', 'warning', false, false, false, 1),
  ('erledigt',       'Erledigt',       'success', true,  false, false, 2),
  ('abgelehnt',      'Abgelehnt',      'error',   true,  false, true,  3)
ON CONFLICT (schluessel) DO NOTHING;

CREATE TABLE IF NOT EXISTS issue_prioritaeten (
  id          SERIAL PRIMARY KEY,
  schluessel  VARCHAR(50) UNIQUE NOT NULL,
  bezeichnung VARCHAR(100) NOT NULL,
  farbe       VARCHAR(50) NOT NULL DEFAULT '#9e9e9e',
  sort_order  INT NOT NULL DEFAULT 0,
  aktiv       BOOLEAN NOT NULL DEFAULT true
);

INSERT INTO issue_prioritaeten (schluessel, bezeichnung, farbe, sort_order)
VALUES
  ('hoch',    'Hoch',    '#d32f2f', 0),
  ('mittel',  'Mittel',  '#ed6c02', 1),
  ('niedrig', 'Niedrig', '#9e9e9e', 2)
ON CONFLICT (schluessel) DO NOTHING;
