Reconcile verified account IDs and make language repairs observable
This commit is contained in:
@@ -880,28 +880,10 @@ async def jellyseerr_users_sync() -> Dict[str, Any]:
|
||||
if not jellyseerr_users:
|
||||
return {"status": "ok", "matched": 0, "skipped": 0, "total": 0}
|
||||
|
||||
candidate_to_id = build_jellyseerr_candidate_map(jellyseerr_users)
|
||||
from ..services.jellyfin_sync import sync_jellyfin_users
|
||||
imported = await sync_jellyfin_users()
|
||||
return {"status": "ok", "matched": len(jellyseerr_users), "skipped": 0, "imported": imported, "total": len(jellyseerr_users)}
|
||||
|
||||
updated = 0
|
||||
skipped = 0
|
||||
users = get_all_users()
|
||||
for user in users:
|
||||
if user.get("jellyseerr_user_id") is not None:
|
||||
skipped += 1
|
||||
continue
|
||||
username = user.get("username") or ""
|
||||
matched_id = match_jellyseerr_user_id(username, candidate_to_id)
|
||||
matched_seerr_user = find_matching_jellyseerr_user(username, jellyseerr_users)
|
||||
matched_email = extract_jellyseerr_user_email(matched_seerr_user)
|
||||
if matched_id is not None:
|
||||
set_user_jellyseerr_id(username, matched_id)
|
||||
if matched_email:
|
||||
set_user_email(username, matched_email)
|
||||
updated += 1
|
||||
else:
|
||||
skipped += 1
|
||||
|
||||
return {"status": "ok", "matched": updated, "skipped": skipped, "total": len(users)}
|
||||
|
||||
def _pick_jellyseerr_username(user: Dict[str, Any]) -> Optional[str]:
|
||||
for key in ("email", "username", "displayName", "name"):
|
||||
@@ -922,33 +904,9 @@ async def jellyseerr_users_resync() -> Dict[str, Any]:
|
||||
if not jellyseerr_users:
|
||||
return {"status": "ok", "imported": 0, "cleared": 0}
|
||||
|
||||
cleared = delete_non_admin_users()
|
||||
imported = 0
|
||||
for user in jellyseerr_users:
|
||||
user_id = user.get("id") or user.get("userId") or user.get("Id")
|
||||
try:
|
||||
user_id = int(user_id)
|
||||
except (TypeError, ValueError):
|
||||
continue
|
||||
username = _pick_jellyseerr_username(user)
|
||||
if not username:
|
||||
continue
|
||||
email = extract_jellyseerr_user_email(user)
|
||||
created = create_user_if_missing(
|
||||
username,
|
||||
"jellyseerr-user",
|
||||
role="user",
|
||||
email=email,
|
||||
auth_provider="jellyseerr",
|
||||
jellyseerr_user_id=user_id,
|
||||
)
|
||||
if created:
|
||||
imported += 1
|
||||
else:
|
||||
set_user_jellyseerr_id(username, user_id)
|
||||
if email:
|
||||
set_user_email(username, email)
|
||||
return {"status": "ok", "imported": imported, "cleared": cleared}
|
||||
from ..services.jellyfin_sync import sync_jellyfin_users
|
||||
imported = await sync_jellyfin_users()
|
||||
return {"status": "ok", "imported": imported, "cleared": 0}
|
||||
|
||||
@router.post("/requests/sync")
|
||||
async def requests_sync() -> Dict[str, Any]:
|
||||
|
||||
Reference in New Issue
Block a user