From 72d539f777bdb78b48cf16f38b1cf9095084b80a Mon Sep 17 00:00:00 2001 From: SwiftyOS Date: Tue, 17 Sep 2024 15:30:07 +0200 Subject: [PATCH] add root routes --- .../autogpt_server/server/routes/root.py | 41 +++++++++++-------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/rnd/autogpt_server/autogpt_server/server/routes/root.py b/rnd/autogpt_server/autogpt_server/server/routes/root.py index 55bf7471e7..6cd6b0eda9 100644 --- a/rnd/autogpt_server/autogpt_server/server/routes/root.py +++ b/rnd/autogpt_server/autogpt_server/server/routes/root.py @@ -1,25 +1,34 @@ -from fastapi import APIRouter +import typing +import fastapi + +import autogpt_libs.auth.middleware +import autogpt_server.data.credit +import autogpt_server.data.user +import autogpt_server.server.utils + + +router = fastapi.APIRouter() + +_user_credit_model = autogpt_server.data.credit.get_user_credit_model() -router = APIRouter() @router.get("/") async def root(): return {"message": "Welcome to the Autogpt Server API"} + @router.post("/auth/user") -async def get_or_create_user_route(): - # Stub implementation - return {"message": "User created or retrieved successfully"} +async def get_or_create_user_route( + user_data: dict = fastapi.Depends(autogpt_libs.auth.middleware.auth_middleware), +): + user = await autogpt_server.data.user.get_or_create_user(user_data) + return user.model_dump() + @router.get("/credits") -async def get_user_credits(): - # Stub implementation - return {"credits": 100} # Replace with actual credit retrieval logic - -@router.post("/settings") -async def update_configuration(updated_settings: dict): - # Stub implementation - return { - "message": "Settings updated successfully", - "updated_fields": {"config": [], "secrets": []} - } # Replace with actual configuration update logic +async def get_user_credits( + user_id: typing.Annotated[ + str, fastapi.Depends(autogpt_server.server.utils.get_user_id) + ] +): + return {"credits": await _user_credit_model.get_or_refill_credit(user_id)} \ No newline at end of file