-- ============================================================
-- 041_ai_enrichment_proposals.sql
-- System akceptacji propozycji wzbogacenia danych przez AI
-- ============================================================

-- Tabela propozycji wzbogacenia AI
CREATE TABLE IF NOT EXISTS ai_enrichment_proposals (
    id SERIAL PRIMARY KEY,
    company_id INTEGER NOT NULL REFERENCES companies(id) ON DELETE CASCADE,

    -- Status workflow
    status VARCHAR(20) NOT NULL DEFAULT 'pending',

    -- Typ propozycji
    proposal_type VARCHAR(50) NOT NULL DEFAULT 'website_extraction',

    -- Źródło danych (URL strony, API, itp.)
    data_source VARCHAR(500),

    -- Proponowane dane jako JSON
    proposed_data JSONB NOT NULL,

    -- Komentarz AI wyjaśniający propozycję
    ai_explanation TEXT,

    -- Wskaźnik pewności AI (0.00 - 1.00)
    confidence_score NUMERIC(3, 2),

    -- Timestamps
    created_at TIMESTAMP NOT NULL DEFAULT NOW(),
    reviewed_at TIMESTAMP,
    applied_at TIMESTAMP,
    expires_at TIMESTAMP,

    -- Kto przeglądał
    reviewed_by_id INTEGER REFERENCES users(id),

    -- Komentarz przy akceptacji/odrzuceniu
    review_comment TEXT,

    -- Które pola zostały zaakceptowane (częściowa akceptacja)
    approved_fields JSONB
);

-- Indeksy
CREATE INDEX IF NOT EXISTS idx_ai_proposals_company ON ai_enrichment_proposals(company_id);
CREATE INDEX IF NOT EXISTS idx_ai_proposals_status ON ai_enrichment_proposals(status);
CREATE INDEX IF NOT EXISTS idx_ai_proposals_created ON ai_enrichment_proposals(created_at DESC);

-- Komentarze
COMMENT ON TABLE ai_enrichment_proposals IS 'Propozycje wzbogacenia danych przez AI wymagające akceptacji';
COMMENT ON COLUMN ai_enrichment_proposals.status IS 'Status: pending, approved, rejected, expired';
COMMENT ON COLUMN ai_enrichment_proposals.proposed_data IS 'JSON z proponowanymi danymi (services, keywords, summary, etc.)';
COMMENT ON COLUMN ai_enrichment_proposals.approved_fields IS 'Lista zaakceptowanych pól przy częściowej akceptacji';

-- Grant permissions
GRANT ALL ON TABLE ai_enrichment_proposals TO nordabiz_app;
GRANT USAGE, SELECT ON SEQUENCE ai_enrichment_proposals_id_seq TO nordabiz_app;
