Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

49 řádky
1.6 KiB

před 2 roky
  1. import requests
  2. from urllib.parse import urljoin
  3. class Auth:
  4. def __init__(self, url_prefix):
  5. self.url_prefix = urljoin(url_prefix, "auth/")
  6. def login(self, user_id: str, password: str, terminal: str) -> (int, str):
  7. json = {"user_id": user_id, "password": password, "terminal": terminal}
  8. url = urljoin(self.url_prefix, "login")
  9. r = requests.post(url, json=json)
  10. return r.status_code, r.json().get("token")
  11. def register(
  12. self,
  13. user_id: str,
  14. password: str
  15. ) -> int:
  16. json = {
  17. "user_id": user_id,
  18. "password": password
  19. }
  20. url = urljoin(self.url_prefix, "register")
  21. r = requests.post(url, json=json)
  22. return r.status_code
  23. def password(self, user_id: str, old_password: str, new_password: str) -> int:
  24. json = {
  25. "user_id": user_id,
  26. "oldPassword": old_password,
  27. "newPassword": new_password,
  28. }
  29. url = urljoin(self.url_prefix, "password")
  30. r = requests.post(url, json=json)
  31. return r.status_code
  32. def logout(self, user_id: str, token: str) -> int:
  33. json = {"user_id": user_id}
  34. headers = {"token": token}
  35. url = urljoin(self.url_prefix, "logout")
  36. r = requests.post(url, headers=headers, json=json)
  37. return r.status_code
  38. def unregister(self, user_id: str, password: str) -> int:
  39. json = {"user_id": user_id, "password": password}
  40. url = urljoin(self.url_prefix, "unregister")
  41. r = requests.post(url, json=json)
  42. return r.status_code