_tmp_sd7_bootstrap_continue.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/usr/bin/env python3
  2. """Reset UAT admin passwords, then continue existing WP-SD7 drafts. Do not commit."""
  3. from __future__ import annotations
  4. import os
  5. import sys
  6. from pathlib import Path
  7. os.environ.setdefault("AIDOP_API_BASE", "http://127.0.0.1:5005")
  8. HERE = Path(__file__).resolve().parent
  9. sys.path.insert(0, str(HERE))
  10. from run_wp_sd7_api_loop import TENANTS, login, request, unwrap # noqa: E402
  11. from _tmp_sd7_continue_drafts import main as continue_main # noqa: E402
  12. SUPER_CIPHER = os.environ.get("AIDOP_SUPER_CIPHER", "").strip()
  13. if not SUPER_CIPHER:
  14. raise SystemExit("AIDOP_SUPER_CIPHER required")
  15. def reset_password(super_token: str, user_id: str) -> str:
  16. status, body = request("POST", "/api/sysUser/resetPwd", {"id": int(user_id)}, super_token)
  17. pwd = unwrap(body)
  18. if status != 200 or not isinstance(pwd, str) or not pwd:
  19. raise SystemExit(f"resetPwd failed for {user_id}: HTTP {status}")
  20. return pwd
  21. def main() -> None:
  22. super_token = login("superAdmin.NET", "1300000000001", SUPER_CIPHER, already_encrypted=True)
  23. passwords = {}
  24. for code, meta in TENANTS.items():
  25. passwords[code] = reset_password(super_token, meta["user_id"])
  26. print("reset_ok", code, meta["account"])
  27. for code in TENANTS:
  28. os.environ["AIDOP_UAT_PASSWORD"] = passwords[code]
  29. os.environ["AIDOP_UAT_TENANT"] = code
  30. continue_main()
  31. if __name__ == "__main__":
  32. main()