mirror of
https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api.git
synced 2025-03-27 00:42:03 +00:00
fix: create user, add test token
This commit is contained in:
parent
fbc0ae61fb
commit
4eb2678c14
1 changed files with 22 additions and 5 deletions
|
@ -2,12 +2,14 @@ from typing import Optional
|
|||
|
||||
import requests
|
||||
|
||||
from selfprivacy_api.utils import get_domain
|
||||
from selfprivacy_api.models.user import UserDataUser
|
||||
from selfprivacy_api.repositories.users.abstract_user_repository import (
|
||||
AbstractUserRepository,
|
||||
)
|
||||
|
||||
KANIDM_URL = "http://localhost:9001"
|
||||
TEST_TOKEN = """eyJhbGciOiJFUzI1NiIsImtpZCI6IjVkNDUyNzdmZWUxY2UzZmNkMTViZDhkZjE3NTdlMjRkIn0.eyJhY2NvdW50X2lkIjoiYmZlN2MxNmEtNTY1NC00YzAxLWFkMjMtOWU2YjY4OTAxNDEwIiwidG9rZW5faWQiOiJmZTU5NzAxZS1iYzIyLTQwMzctYTEzNy1jZTIxYzBlNDhlZjciLCJsYWJlbCI6InRva2VuMiIsImV4cGlyeSI6bnVsbCwiaXNzdWVkX2F0IjoxNzMxMjgxMzM1LCJwdXJwb3NlIjoicmVhZHdyaXRlIn0.0fj0NAsUtBJWi1KVNKA4qi8EOHUUvaWNzeHbR82zbUVvWynnqm5ndLhFPG0v462qJXFTayonI9YJnkCaAE7a5w"""
|
||||
|
||||
|
||||
class KanidmQueryError(Exception):
|
||||
|
@ -16,13 +18,17 @@ class KanidmQueryError(Exception):
|
|||
|
||||
class KanidmUserRepository(AbstractUserRepository):
|
||||
@staticmethod
|
||||
def _send_query(endpoint: str, method: str = "GET", **kwargs):
|
||||
def _send_query(endpoint: str, method: str = "GET", data=None):
|
||||
request_method = getattr(requests, method.lower(), None)
|
||||
|
||||
try:
|
||||
response = request_method(
|
||||
f"{KANIDM_URL}/api/v1/{endpoint}",
|
||||
params=kwargs,
|
||||
f"{KANIDM_URL}/v1/{endpoint}",
|
||||
json=data,
|
||||
headers={
|
||||
"Authorization": f"Bearer {TEST_TOKEN}",
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
timeout=0.8, # TODO: change timeout
|
||||
)
|
||||
|
||||
|
@ -38,15 +44,26 @@ class KanidmUserRepository(AbstractUserRepository):
|
|||
|
||||
@staticmethod
|
||||
def create_user(username: str, password: str):
|
||||
data = {
|
||||
"attrs": {
|
||||
"name": [username],
|
||||
"displayname": [username],
|
||||
"mail": [f"{username}@{get_domain()}"],
|
||||
"class": ["user"],
|
||||
}
|
||||
}
|
||||
|
||||
return KanidmUserRepository._send_query(
|
||||
endpoint="person", method="POST", name=username, displayname=username
|
||||
endpoint="person",
|
||||
method="POST",
|
||||
data=data,
|
||||
)
|
||||
|
||||
def get_users(
|
||||
exclude_primary: bool = False,
|
||||
exclude_root: bool = False,
|
||||
) -> list[UserDataUser]:
|
||||
return KanidmUserRepository._send_query()
|
||||
return KanidmUserRepository._send_query(endpoint="person", method="GET")
|
||||
|
||||
def delete_user(username: str) -> None:
|
||||
"""Deletes an existing user"""
|
||||
|
|
Loading…
Add table
Reference in a new issue