import requests from requests.auth import HTTPBasicAuth from django.conf import settings from .models import GotifyUser def create_user(username: str, password: str) -> dict: """Creates a user on the Gotify instance. :param username: The name of the user to be created. :param password: The password of the user to be created. """ data = { 'admin': False, 'name': username, 'pass': password } response = requests.post( url=f"http://{settings.GOTIFY_CONFIG['HOST']}/user", auth=HTTPBasicAuth( settings.GOTIFY_CONFIG['USERNAME'], settings.GOTIFY_CONFIG['PASSWORD'], ), json=data ) if response is not None: response.raise_for_status() return response.json() def create_application(username: str, password: str) -> dict: """Creates an application on the Gotify instance. :param username: The user for whom an application will be created. :param password: The user's password. """ data = { 'defaultPriority': 6, 'description': 'A remote patient health monitoring system.', 'name': 'Medwings' } response = requests.post( url=f"http://{settings.GOTIFY_CONFIG['HOST']}/application", auth=HTTPBasicAuth(username, password), json=data ) if response is not None: response.raise_for_status() return response.json()