sync social_profiles fix

This commit is contained in:
2026-08-05 15:44:37 +02:00
parent 54a0624c17
commit 8a653ca395
4 changed files with 36 additions and 6 deletions
+5 -5
View File
@@ -31,7 +31,7 @@ templates = Jinja2Templates(directory="api/templates")
def _row_to_contact_out(row: dict) -> dict:
row = dict(row)
for field in ["emails", "phones", "addresses", "urls", "categories"]:
for field in ["emails", "phones", "addresses", "urls", "social_profiles", "categories"]:
raw = row.get(field)
row[field] = json.loads(raw) if raw else []
if not row.get("full_name"):
@@ -76,7 +76,7 @@ def list_contacts(
cur.execute(
f"""SELECT id, account, uid, full_name, given_name, family_name, organization,
job_title, birthday, notes, emails, phones, addresses, urls, categories, updated_at
job_title, birthday, notes, emails, phones, addresses, urls, social_profiles, categories, updated_at
FROM contacts {where_clause}{search_clause}
ORDER BY full_name
LIMIT %s OFFSET %s""",
@@ -98,7 +98,7 @@ def get_contact(contact_id: int, current_user: str = Depends(get_current_user)):
with conn.cursor() as cur:
cur.execute(
f"""SELECT id, account, uid, full_name, given_name, family_name, organization,
job_title, birthday, notes, emails, phones, addresses, urls, categories, updated_at
job_title, birthday, notes, emails, phones, addresses, urls, social_profiles, categories, updated_at
FROM contacts {where_clause} {id_clause}""",
params + [contact_id],
)
@@ -121,7 +121,7 @@ def birthdays_today(current_user: str = Depends(get_current_user)):
with conn.cursor() as cur:
cur.execute(
f"""SELECT id, account, uid, full_name, given_name, family_name, organization,
job_title, birthday, notes, emails, phones, addresses, urls, categories, updated_at
job_title, birthday, notes, emails, phones, addresses, urls, social_profiles, categories, updated_at
FROM contacts {where_clause} {month_day_clause}
ORDER BY full_name""",
params + [today.month, today.day],
@@ -293,7 +293,7 @@ def web_contact(
with conn.cursor() as cur:
cur.execute(
f"""SELECT id, account, uid, full_name, given_name, family_name, organization,
job_title, birthday, notes, emails, phones, addresses, urls, categories, updated_at
job_title, birthday, notes, emails, phones, addresses, urls, social_profiles, categories, updated_at
FROM contacts {where_clause} {id_clause}""",
params + [contact_id],
)
+1
View File
@@ -19,6 +19,7 @@ class ContactOut(BaseModel):
phones: list
addresses: list
urls: list
social_profiles: list
categories: list
updated_at: str
+14
View File
@@ -277,6 +277,20 @@
</div>
{% endif %}
{% if contact.social_profiles %}
<div class="section">
<div class="section-title">Soziale Profile</div>
<div class="section-list">
{% for sp in contact.social_profiles %}
<div class="section-item">
<span class="section-item-label">{{ sp.type }}{% if sp.username %} ({{ sp.username }}){% endif %}</span>
<span class="section-item-value"><a href="{{ sp.url }}" target="_blank">{{ sp.url }}</a></span>
</div>
{% endfor %}
</div>
</div>
{% endif %}
{% if contact.categories %}
<div class="section">
<div class="section-title">Kategorien</div>