import requests import json from datetime import datetime def get_urls(base_url, auth: str) -> list: url = f"{base_url}/getUserAccounts/streams" payload = {} headers = {"Authorization": f"Basic {auth}"} response = requests.request("GET", url, headers=headers, data=payload) return json.loads(response.text) def get_user_accounts(base_url, auth: str) -> list: url = f"{base_url}/getUserAccounts" payload = {} headers = {"Authorization": f"Basic {auth}"} response = requests.request("GET", url, headers=headers, data=payload) res_json = json.loads(response.text) for account in res_json: account["expiaryDate_rendered"] = datetime.utcfromtimestamp( account["expiaryDate"] ).strftime("%d/%m/%Y") return res_json def delete_user_account(base_url: str, auth: str, stream:str, username:str) -> bool: """_summary_ Args: base_url (str): _description_ auth (str): _description_ stream (str): _description_ username (str): _description_ Returns: bool: _description_ """ url = f"{base_url}/deleteAccount" payload = {"stream": stream, "user": username} headers = {"Authorization": f"Basic {auth}"} response = requests.request("POST", url, headers=headers, data=payload) if "Deleted" in response.text: return True else: return False def add_user_account(base_url: str, auth: str, username:str, password:str, stream:str,) -> bool: """_summary_ Args: base_url (str): _description_ auth (str): _description_ stream (str): _description_ username (str): _description_ Returns: bool: _description_ """ url = f"{base_url}/addAccount" payload = {"username": username, "password": password, "stream": stream} headers = {"Authorization": f"Basic {auth}"} response = requests.request("POST", url, headers=headers, data=payload) if "Added successfully" in response.text: return True else: return False