remove default creation when auth enabled

This commit is contained in:
Aarushi
2024-08-05 16:19:59 +01:00
parent d171c9683b
commit f40f2465af
3 changed files with 21 additions and 14 deletions

View File

@@ -23,16 +23,18 @@ async def get_user_by_id(user_id: str) -> Optional[User]:
return User.model_validate(user) if user else None
async def create_default_user() -> User:
user = await prisma.user.find_unique(
where={"id": "3e53486c-cf57-477e-ba2a-cb02dc828e1a"}
)
if not user:
user = await prisma.user.create(
data={
"id": "3e53486c-cf57-477e-ba2a-cb02dc828e1a",
"email": "default@example.com",
"name": "Default User",
}
async def create_default_user(enable_auth: str) -> Optional[User]:
if not enable_auth.lower() == "true":
user = await prisma.user.find_unique(
where={"id": "3e53486c-cf57-477e-ba2a-cb02dc828e1a"}
)
return User.model_validate(user)
if not user:
user = await prisma.user.create(
data={
"id": "3e53486c-cf57-477e-ba2a-cb02dc828e1a",
"email": "default@example.com",
"name": "Default User",
}
)
return User.model_validate(user)
return None

View File

@@ -1,5 +1,4 @@
import asyncio
import uuid
from collections import defaultdict
from contextlib import asynccontextmanager
from typing import Annotated, Any, Dict
@@ -41,6 +40,8 @@ from autogpt_server.util.lock import KeyedMutex
from autogpt_server.util.service import AppService, expose, get_service_client
from autogpt_server.util.settings import Settings
settings = Settings()
def get_user_id(payload: dict = Depends(auth_middleware)) -> str:
if not payload:
@@ -69,7 +70,7 @@ class AgentServer(AppService):
await db.connect()
await block.initialize_blocks()
await graph_db.import_packaged_templates()
await user_db.create_default_user()
await user_db.create_default_user(settings.config.enable_auth)
asyncio.create_task(self.event_broadcaster())
yield
await db.disconnect()

View File

@@ -57,6 +57,10 @@ class Config(UpdateTrackingModel["Config"], BaseSettings):
default="localhost",
description="The default hostname of the Pyro server.",
)
enable_auth: str = Field(
default="false",
description="If authentication is enabled or not",
)
# Add more configuration fields as needed
model_config = SettingsConfigDict(