Skip to content

Commit b5ee4da

Browse files
committed
Add collections/groups and update LinkedIn import
Read queue: query DISTINCT collection and group values and include them in the response (collections, groups). Rename response keys for clarity (queued -> in_queue, most_recent -> example and return only the first example). Import LinkedIn CSV: normalize CSV-to-DB mapping (url -> linkedin, email_address -> email), update batch tuple order and INSERT column list to match the renamed columns. Delete rename.py: remove the /queue/alter/rename_column route (runtime column rename endpoint) for safety. These changes expose more queue metadata for the UI and standardize field names used by the LinkedIn importer.
1 parent 42edc2c commit b5ee4da

3 files changed

Lines changed: 25 additions & 73 deletions

File tree

app/api/queue/routes/get.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,22 @@ def read_queue() -> dict:
3333
rows = cursor.fetchall()
3434
most_recent = [dict(zip(columns, row)) for row in rows] if rows and columns else []
3535

36+
# 4. Get unique values from collection and group columns
37+
cursor.execute("SELECT DISTINCT collection FROM queue WHERE collection IS NOT NULL;")
38+
collections = [row[0] for row in cursor.fetchall()]
39+
cursor.execute('SELECT DISTINCT "group" FROM queue WHERE "group" IS NOT NULL;')
40+
groups = [row[0] for row in cursor.fetchall()]
41+
3642
conn.close()
3743

3844
return {
3945
"meta": make_meta("success", "Queue table info"),
4046
"data": {
41-
"queued": record_count,
42-
"most_recent": most_recent,
43-
# "schema": schema
47+
"in_queue": record_count,
48+
"collections": collections,
49+
"groups": groups,
50+
"example": most_recent[:1],
51+
# "queue_schema": schema
4452
}
4553
}
4654
except Exception as e:

app/api/queue/routes/import_linkedin.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -47,30 +47,30 @@ def import_linkedin_csv() -> dict:
4747
first_row = row.copy()
4848
print("DEBUG: First parsed row from CSV:", first_row)
4949
batch.append([
50-
row.get('First Name'),
51-
row.get('Last Name'),
52-
row.get('URL'),
53-
row.get('Email Address'),
54-
row.get('Company'),
55-
row.get('Position'),
56-
row.get('Connected On'),
57-
now,
58-
now,
59-
False,
60-
'prospects',
61-
'linkedin'
50+
row.get('First Name'), # first_name
51+
row.get('Last Name'), # last_name
52+
row.get('URL'), # linkedin
53+
row.get('Email Address'), # email
54+
row.get('Company'), # company
55+
row.get('Position'), # position
56+
row.get('Connected On'), # connected_on
57+
now, # created
58+
now, # updated
59+
False, # hidden
60+
'prospects', # collection
61+
'linkedin' # group
6262
])
6363
imported_count += 1
6464
if len(batch) >= batch_size:
6565
cursor.executemany(
66-
'''INSERT INTO queue (first_name, last_name, url, email_address, company, position, connected_on, created, updated, hidden, collection, "group")
66+
'''INSERT INTO queue (first_name, last_name, linkedin, email, company, position, connected_on, created, updated, hidden, collection, "group")
6767
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)''',
6868
batch
6969
)
7070
batch = []
7171
if batch:
7272
cursor.executemany(
73-
'''INSERT INTO queue (first_name, last_name, url, email_address, company, position, connected_on, created, updated, hidden, collection, "group")
73+
'''INSERT INTO queue (first_name, last_name, linkedin, email, company, position, connected_on, created, updated, hidden, collection, "group")
7474
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)''',
7575
batch
7676
)

app/api/queue/routes/rename.py

Lines changed: 0 additions & 56 deletions
This file was deleted.

0 commit comments

Comments
 (0)