44e4e4eb42
introduce admin area first poc for connecting the authentik api Co-authored-by: Philipp Rothmann <philipprothmann@posteo.de> Reviewed-on: #2
56 lines
1.5 KiB
Python
56 lines
1.5 KiB
Python
from logging import error
|
|
import requests
|
|
|
|
from config import *
|
|
from .error_handler import KratosError
|
|
|
|
class KratosApi:
|
|
@staticmethod
|
|
def __handleError(res):
|
|
if res.status_code >= 400:
|
|
message = res.json()["error"]["message"]
|
|
raise KratosError(message, res.status_code)
|
|
|
|
@staticmethod
|
|
def get(url):
|
|
try:
|
|
res = requests.get("{}{}".format(KRATOS_ADMIN_URL, url))
|
|
KratosApi.__handleError(res)
|
|
return res
|
|
except KratosError as err:
|
|
raise err
|
|
except:
|
|
raise KratosError()
|
|
|
|
@staticmethod
|
|
def post(url, data):
|
|
try:
|
|
res = requests.post("{}{}".format(KRATOS_ADMIN_URL, url), json=data)
|
|
KratosApi.__handleError(res)
|
|
return res
|
|
except KratosError as err:
|
|
raise err
|
|
except:
|
|
raise KratosError()
|
|
|
|
@staticmethod
|
|
def put(url, data):
|
|
try:
|
|
res = requests.put("{}{}".format(KRATOS_ADMIN_URL, url), json=data)
|
|
KratosApi.__handleError(res)
|
|
return res
|
|
except KratosError as err:
|
|
raise err
|
|
except:
|
|
raise KratosError()
|
|
|
|
@staticmethod
|
|
def delete(url):
|
|
try:
|
|
res = requests.delete("{}{}".format(KRATOS_ADMIN_URL, url))
|
|
KratosApi.__handleError(res)
|
|
return res
|
|
except KratosError as err:
|
|
raise err
|
|
except:
|
|
raise KratosError()
|