-- Migration: 085_personal_equipment_eigenschaften
-- Adds eigenschaften (characteristics) storage for persoenliche_ausruestung
-- and extends ausruestung_anfrage_positionen for status change requests.

-- 1. Characteristics table for personal equipment items
CREATE TABLE IF NOT EXISTS persoenliche_ausruestung_eigenschaften (
    id               SERIAL PRIMARY KEY,
    persoenlich_id   UUID NOT NULL REFERENCES persoenliche_ausruestung(id) ON DELETE CASCADE,
    eigenschaft_id   INT REFERENCES ausruestung_artikel_eigenschaften(id) ON DELETE SET NULL,
    name             TEXT NOT NULL,
    wert             TEXT NOT NULL,
    UNIQUE(persoenlich_id, eigenschaft_id)
);

CREATE INDEX IF NOT EXISTS idx_persoenliche_ausruestung_eigenschaften_persoenlich
    ON persoenliche_ausruestung_eigenschaften(persoenlich_id);

-- 2. Add status-change request columns to anfrage positions
ALTER TABLE ausruestung_anfrage_positionen
    ADD COLUMN IF NOT EXISTS persoenlich_id UUID REFERENCES persoenliche_ausruestung(id) ON DELETE SET NULL;

ALTER TABLE ausruestung_anfrage_positionen
    ADD COLUMN IF NOT EXISTS aktueller_zustand TEXT;

ALTER TABLE ausruestung_anfrage_positionen
    ADD COLUMN IF NOT EXISTS neuer_zustand TEXT CHECK (neuer_zustand IN ('gut','beschaedigt','abgaengig','verloren'));
