BEGIN;

SET LOCAL search_path TO raf_gezgini, public;

CREATE TABLE IF NOT EXISTS fiyat_dogrulamalari (
    id uuid PRIMARY KEY,
    fiyat_gozlemi_id uuid NOT NULL,
    kullanici_id uuid NOT NULL,
    dogrulama_turu varchar(10) NOT NULL,
    olusturulma_tarihi timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP,
    CONSTRAINT fk_fiyat_dogrulamalari_gozlem
        FOREIGN KEY (fiyat_gozlemi_id) REFERENCES fiyat_gozlemleri(id) ON DELETE CASCADE,
    CONSTRAINT fk_fiyat_dogrulamalari_kullanici
        FOREIGN KEY (kullanici_id) REFERENCES kullanicilar(id) ON DELETE RESTRICT,
    CONSTRAINT ck_fiyat_dogrulamalari_tur
        CHECK (dogrulama_turu IN ('dogru', 'yanlis')),
    CONSTRAINT uq_fiyat_dogrulamalari_kullanici
        UNIQUE (fiyat_gozlemi_id, kullanici_id)
);

CREATE INDEX IF NOT EXISTS ix_fiyat_dogrulamalari_gozlem_tur
    ON fiyat_dogrulamalari (fiyat_gozlemi_id, dogrulama_turu);

CREATE INDEX IF NOT EXISTS ix_fiyat_dogrulamalari_kullanici_tarih
    ON fiyat_dogrulamalari (kullanici_id, olusturulma_tarihi DESC);

COMMIT;
