feat: permission registration function
All checks were successful
ci / lint_and_test (push) Successful in 8s

This commit is contained in:
Chris Milne 2026-06-17 16:09:24 +01:00
parent 74061d02e0
commit f5395f453d

View file

@ -5,10 +5,12 @@ Exports:
"""
import threading
import httpx
from typing import Callable, Optional
from src.schemas import ResourceName
from src.config import settings
from src.auth.config import auth_settings
def create_timer(func: Callable, interval: int, stop_event: threading.Event):
@ -30,3 +32,25 @@ def generate_resource_name(
)
return rn
async def register_permissions():
headers = {
"X-API-Key": auth_settings.HUB_ACCESS_KEY,
}
body = {"rn": {"service": settings.SERVICE_NAME}, "permissions": []}
# Append permissions to body["permissions"] with format {"resource": resource, "action": action}
async with httpx.AsyncClient() as client:
resp = await client.post(
url=f"{settings.HUB_ADDRESS}/api/v1/service/permissions",
headers=headers,
json=body,
)
if resp.status_code != 200:
print(f"Error registering permissions: {resp.status_code}")
print("Permissions registered with hub")