vaultwarden: skip reinvite when status set
This commit is contained in:
parent
51a733096f
commit
e8fab60d89
@ -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
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user