feat(jira): add editable jira_email field per user

Users can now set a separate Atlassian email for Jira authentication
in Settings → Profile → Jira Integration. Falls back to the Aegis
account email when not set, so existing setups are unaffected.

- Migration b043: adds jira_email column to users table
- User model/schema: expose jira_email read/write
- jira_service: _effective_jira_email() uses jira_email ?? email
- Frontend: replaces read-only email display with editable input
This commit is contained in:
kitos
2026-05-26 16:40:46 +02:00
parent e4342e1c3f
commit e08d8a9beb
7 changed files with 85 additions and 19 deletions
+4
View File
@@ -129,6 +129,9 @@ class UserPreferencesUpdate(BaseModel):
# Personal Jira API token (Atlassian token) — write-only, stored encrypted at rest.
# Set to empty string "" to clear the token.
jira_api_token: str | None = None
# Atlassian email for Jira auth — overrides account email.
# Set to empty string "" to clear (falls back to account email).
jira_email: str | None = None
class UserOut(BaseModel):
@@ -144,6 +147,7 @@ class UserOut(BaseModel):
last_login: datetime | None = None
notification_preferences: dict | None = None
jira_account_id: str | None = None
jira_email: str | None = None
# Never return the raw token — just indicate whether it is configured.
jira_token_set: bool = False