-- Create leads table
CREATE TABLE leads (
    tenant_id UUID,
    lead_id UUID DEFAULT gen_random_uuid(),
    user_id UUID,
    lead_name VARCHAR(100) NOT NULL,
    lead_email VARCHAR(100) NOT NULL,
    lead_phone VARCHAR(20),
    lead_status VARCHAR(50) NOT NULL,
    lead_quality VARCHAR(50),
    deal_size DECIMAL(10, 2),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (tenant_id, lead_id),
    FOREIGN KEY (tenant_id, user_id) REFERENCES tenant_users(tenant_id, user_id)
);
-- Create lead_notes table
CREATE TABLE lead_notes (
    tenant_id UUID,
    note_id UUID DEFAULT gen_random_uuid(),
    lead_id UUID,
    user_id UUID,
    note_content TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (tenant_id, note_id),
    FOREIGN KEY (tenant_id, lead_id) REFERENCES leads(tenant_id, lead_id),
    FOREIGN KEY (tenant_id, user_id) REFERENCES tenant_users(tenant_id, user_id)
);
-- Create lead_conversations table with AI-generated summaries and vector embeddings
CREATE TABLE lead_conversations (
    tenant_id UUID,
    conversation_id UUID DEFAULT gen_random_uuid(),
    lead_id UUID,
    user_id UUID,
    conversation_content TEXT NOT NULL,
    vector_embedding VECTOR(768), -- Adjust the dimensions as needed
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (tenant_id, conversation_id),
    FOREIGN KEY (tenant_id, lead_id) REFERENCES leads(tenant_id, lead_id),
    FOREIGN KEY (tenant_id, user_id) REFERENCES tenant_users(tenant_id, user_id)
);
-- Create lead_status_history table
CREATE TABLE lead_status_history (
    tenant_id UUID,
    history_id UUID DEFAULT gen_random_uuid(),
    lead_id UUID,
    old_status VARCHAR(50) NOT NULL,
    new_status VARCHAR(50) NOT NULL,
    changed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    changed_by UUID,
    PRIMARY KEY (tenant_id, history_id),
    FOREIGN KEY (tenant_id, lead_id) REFERENCES leads(tenant_id, lead_id),
    FOREIGN KEY (tenant_id, changed_by) REFERENCES tenant_users(tenant_id, user_id)
);
-- Create global_companies table
CREATE TABLE global_companies (
    company_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    company_name VARCHAR(100) NOT NULL,
    industry VARCHAR(100),
    country VARCHAR(50),
    revenue DECIMAL(15, 2),
    employees INTEGER,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);