-- Migration 021: Add motorisiert flag to ausruestung_kategorien
-- Motorized equipment (motorisiert = TRUE)  → managed by fahrmeister
-- Non-motorized equipment (motorisiert = FALSE) → managed by zeugmeister

ALTER TABLE ausruestung_kategorien
    ADD COLUMN IF NOT EXISTS motorisiert BOOLEAN NOT NULL DEFAULT FALSE;

-- DROP + CREATE is required because CREATE OR REPLACE VIEW cannot change the
-- column list of an existing view (PostgreSQL error 42P16).
DROP VIEW IF EXISTS ausruestung_mit_pruefstatus;

CREATE VIEW ausruestung_mit_pruefstatus AS
SELECT
    a.*,
    k.name        AS kategorie_name,
    k.kurzname    AS kategorie_kurzname,
    k.motorisiert AS kategorie_motorisiert,
    f.bezeichnung AS fahrzeug_bezeichnung,
    f.kurzname    AS fahrzeug_kurzname,
    CASE
        WHEN a.naechste_pruefung_am IS NOT NULL
        THEN a.naechste_pruefung_am::date - CURRENT_DATE
        ELSE NULL
    END AS pruefung_tage_bis_faelligkeit
FROM ausruestung a
JOIN ausruestung_kategorien k ON k.id = a.kategorie_id
LEFT JOIN fahrzeuge f ON f.id = a.fahrzeug_id AND f.deleted_at IS NULL
WHERE a.deleted_at IS NULL;
