vaultwarden: skip reinvite when status set

This commit is contained in:
Brad Stein 2026-01-03 18:21:04 -03:00
parent 51a733096f
commit e8fab60d89

View File

@ -125,15 +125,25 @@ def main() -> int:
skipped += 1 skipped += 1
continue continue
current_status = _extract_attr(user.get("attributes"), VAULTWARDEN_STATUS_ATTR) # Fetch the full user payload so we can reliably read attributes (and skip re-invites).
email = _vaultwarden_email_for_user(user) user_id = (user.get("id") if isinstance(user.get("id"), str) else "") or ""
user_id = user_id.strip()
full_user = user
if user_id:
try:
full_user = admin_client().get_user(user_id)
except Exception:
full_user = user
current_status = _extract_attr(full_user.get("attributes"), VAULTWARDEN_STATUS_ATTR)
email = _vaultwarden_email_for_user(full_user)
if not email: if not email:
print(f"skip {username}: missing email", file=sys.stderr) print(f"skip {username}: missing email", file=sys.stderr)
skipped += 1 skipped += 1
continue continue
try: try:
_set_user_attribute_if_missing(username, user, VAULTWARDEN_EMAIL_ATTR, email) _set_user_attribute_if_missing(username, full_user, VAULTWARDEN_EMAIL_ATTR, email)
except Exception: except Exception:
pass pass