From 3bcc08c080da967c40447639af5dc566eaf22425 Mon Sep 17 00:00:00 2001 From: pyr0ball Date: Sat, 21 Mar 2026 02:40:17 -0700 Subject: [PATCH] fix(settings): spec compliance gaps in My Profile tab - add POST /api/settings/resume/sync-identity endpoint (IdentitySyncPayload) - fix loadError destructuring to use storeToRefs for reactivity --- dev-api.py | 18 ++++++++++++++++++ web/src/views/settings/MyProfileView.vue | 3 ++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/dev-api.py b/dev-api.py index 71a3356..7ec4baa 100644 --- a/dev-api.py +++ b/dev-api.py @@ -974,6 +974,24 @@ class UserProfilePayload(BaseModel): lgbtq_focus: bool = False +class IdentitySyncPayload(BaseModel): + name: str = "" + email: str = "" + phone: str = "" + linkedin_url: str = "" + +@app.post("/api/settings/resume/sync-identity") +def sync_identity(payload: IdentitySyncPayload): + """Sync identity fields from profile store back to user.yaml.""" + data = load_user_profile(_user_yaml_path()) + data["name"] = payload.name + data["email"] = payload.email + data["phone"] = payload.phone + data["linkedin"] = payload.linkedin_url # yaml key is 'linkedin', not 'linkedin_url' + save_user_profile(_user_yaml_path(), data) + return {"ok": True} + + @app.put("/api/settings/profile") def save_profile(payload: UserProfilePayload): try: diff --git a/web/src/views/settings/MyProfileView.vue b/web/src/views/settings/MyProfileView.vue index 6339980..253209e 100644 --- a/web/src/views/settings/MyProfileView.vue +++ b/web/src/views/settings/MyProfileView.vue @@ -198,12 +198,13 @@