diff --git a/src/dlw/marvin_ops.py b/src/dlw/marvin_ops.py index 2c9f1d3..7bb41af 100644 --- a/src/dlw/marvin_ops.py +++ b/src/dlw/marvin_ops.py @@ -1,28 +1,15 @@ import requests +import os class MarvinClient: - def __init__(self, api_key, asteroid_name): - self.api_key = api_key - self.asteroid = asteroid_name + def __init__(self): + self.api_key = os.getenv('MARVIN_API_KEY') + self.asteroid = os.getenv('UBERSPACE_ASTEROID') self.base_url = "https://api.uberspace.de/api/v1/external" - self.headers = {"Authorization": f"Api-Key {api_key}"} + self.headers = {"Authorization": f"Api-Key {self.api_key}"} - def setup_webapp_backend(self, port): - """Registriert das Flask-Interface in der Marvin API.""" - url = f"{self.base_url}/asteroids/{self.asteroid}/webbackends/" - data = { - "asteroid": self.asteroid, - "domain": None, - "path": "/admin", # Optionaler Pfad für das Interface - "destination": "PORT", - "port": port - } - res = requests.post(url, headers=self.headers, json=data) - return res.status_code in [201, 200] - - def add_domain(self, domain_name): - """Fügt eine neue Web-Domain hinzu.""" - url = f"{self.base_url}/asteroids/{self.asteroid}/webdomains/" - data = {"name": domain_name, "asteroid": self.asteroid} - res = requests.post(url, headers=self.headers, json=data) - return res.json() \ No newline at end of file + def get_status(self): + """Beispiel: Abfrage des Asteroid-Status.""" + url = f"{self.base_url}/asteroids/{self.asteroid}" + res = requests.get(url, headers=self.headers) + return res.json() if res.status_code == 200 else None \ No newline at end of file