[31388f42] Implement Expert Response Generator with Gemini & CE integration
This commit is contained in:
@@ -27,12 +27,21 @@ def init_db():
|
||||
email TEXT,
|
||||
phone TEXT,
|
||||
raw_body TEXT,
|
||||
lead_metadata TEXT,
|
||||
enrichment_data TEXT,
|
||||
status TEXT DEFAULT 'new',
|
||||
response_draft TEXT,
|
||||
sent_at TIMESTAMP
|
||||
)
|
||||
''')
|
||||
|
||||
# Simple migration check: check if lead_metadata column exists
|
||||
try:
|
||||
c.execute('SELECT lead_metadata FROM leads LIMIT 1')
|
||||
except sqlite3.OperationalError:
|
||||
print("Migrating DB: Adding lead_metadata column...")
|
||||
c.execute('ALTER TABLE leads ADD COLUMN lead_metadata TEXT')
|
||||
|
||||
conn.commit()
|
||||
conn.close()
|
||||
|
||||
@@ -41,12 +50,20 @@ def insert_lead(lead_data):
|
||||
if not os.path.exists(DB_PATH):
|
||||
init_db()
|
||||
|
||||
# Extract metadata fields
|
||||
meta = {
|
||||
'area': lead_data.get('area'),
|
||||
'purpose': lead_data.get('purpose'),
|
||||
'zip': lead_data.get('zip'),
|
||||
'city': lead_data.get('city')
|
||||
}
|
||||
|
||||
conn = sqlite3.connect(DB_PATH)
|
||||
c = conn.cursor()
|
||||
try:
|
||||
c.execute('''
|
||||
INSERT INTO leads (source_id, received_at, company_name, contact_name, email, phone, raw_body, status)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
||||
INSERT INTO leads (source_id, received_at, company_name, contact_name, email, phone, raw_body, lead_metadata, status)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||
''', (
|
||||
lead_data.get('id'),
|
||||
datetime.now(),
|
||||
@@ -55,6 +72,7 @@ def insert_lead(lead_data):
|
||||
lead_data.get('email'),
|
||||
lead_data.get('phone'),
|
||||
lead_data.get('raw_body'),
|
||||
json.dumps(meta),
|
||||
'new'
|
||||
))
|
||||
conn.commit()
|
||||
@@ -64,6 +82,14 @@ def insert_lead(lead_data):
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
def update_lead_metadata(lead_id, meta_data):
|
||||
"""Helper to update metadata for existing leads (repair)"""
|
||||
conn = sqlite3.connect(DB_PATH)
|
||||
c = conn.cursor()
|
||||
c.execute('UPDATE leads SET lead_metadata = ? WHERE id = ?', (json.dumps(meta_data), lead_id))
|
||||
conn.commit()
|
||||
conn.close()
|
||||
|
||||
def get_leads():
|
||||
if not os.path.exists(DB_PATH):
|
||||
init_db()
|
||||
|
||||
Reference in New Issue
Block a user