-- TC kimlik no şifreli sakla
ALTER TABLE users ADD COLUMN IF NOT EXISTS tc_kimlik_enc BYTEA;
ALTER TABLE users ADD COLUMN IF NOT EXISTS tc_kimlik_hash TEXT; -- SHA-256, tekrar kayıt kontrolü

-- verification_requests: eski path kolonları yerine şifreli blob path'leri + view token
ALTER TABLE verification_requests ADD COLUMN IF NOT EXISTS enc_key_id TEXT; -- hangi key versiyonu ile şifrelendi
ALTER TABLE verification_requests ADD COLUMN IF NOT EXISTS rejection_count INT NOT NULL DEFAULT 0;

-- Tek seferlik view token'ları (fotoğraf erişimi için)
CREATE TABLE IF NOT EXISTS kyc_view_tokens (
    token       TEXT PRIMARY KEY,
    request_id  BIGINT NOT NULL REFERENCES verification_requests(id) ON DELETE CASCADE,
    created_by  BIGINT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
    expires_at  TIMESTAMPTZ NOT NULL,
    used_at     TIMESTAMPTZ
);

CREATE INDEX IF NOT EXISTS idx_kyc_view_tokens_expires ON kyc_view_tokens(expires_at);
