[feat] remove example user

This commit is contained in:
Azamat 2026-04-02 21:26:23 +03:00
parent 776b513858
commit 539f019f39
6 changed files with 4 additions and 62 deletions

View file

@ -11,24 +11,19 @@ from adapter.config.model import AppConfig
from adapter.docker.runtime import DockerSandboxRuntime
from adapter.observability.factory import build_observability
from adapter.observability.runtime import ObservabilityRuntime
from domain.user import User
from repository.sandbox_lock import ProcessLocalSandboxLifecycleLocker
from repository.sandbox_session import InMemorySandboxSessionRepository
from repository.user import InMemoryUserRepository
from usecase.interface import Clock
from usecase.sandbox import CleanupExpiredSandboxes, CreateSandbox
from usecase.user import GetUser
@dataclass(frozen=True, slots=True)
class AppRepositories:
user: InMemoryUserRepository
sandbox_session: InMemorySandboxSessionRepository
@dataclass(frozen=True, slots=True)
class AppUsecases:
get_user: GetUser
create_sandbox: CreateSandbox
cleanup_expired_sandboxes: CleanupExpiredSandboxes
@ -82,23 +77,12 @@ def build_container(
clock = SystemClock()
docker_client = docker.DockerClient(base_url=app_config.docker.base_url)
user_repository = InMemoryUserRepository(
observability.tracer, [User(id='123', email='aza@gglamer.ru', name='gglamer')]
)
sandbox_repository = InMemorySandboxSessionRepository()
sandbox_locker = ProcessLocalSandboxLifecycleLocker()
sandbox_runtime = DockerSandboxRuntime(app_config.sandbox, docker_client)
repositories = AppRepositories(
user=user_repository,
sandbox_session=sandbox_repository,
)
repositories = AppRepositories(sandbox_session=sandbox_repository)
usecases = AppUsecases(
get_user=GetUser(
repository=user_repository,
logger=observability.logger,
tracer=observability.tracer,
),
create_sandbox=CreateSandbox(
repository=sandbox_repository,
locker=sandbox_locker,

View file

@ -2,7 +2,6 @@ from fastapi import Depends, Request
from adapter.di.container import AppContainer
from usecase.sandbox import CreateSandbox
from usecase.user import GetUser
APP_CONTAINER_STATE = 'container'
APP_CONFIG_STATE = 'config'
@ -15,10 +14,6 @@ def get_container(request: Request) -> AppContainer:
return container
def get_get_user(container: AppContainer = Depends(get_container)) -> GetUser:
return container.usecases.get_user
def get_create_sandbox(
container: AppContainer = Depends(get_container),
) -> CreateSandbox:

View file

@ -4,19 +4,16 @@ from adapter.di.container import AppContainer
from adapter.http.fastapi.dependencies import (
get_container,
get_create_sandbox,
get_get_user,
)
from adapter.http.fastapi.schemas import (
CreateSandboxRequest,
ErrorResponse,
HealthResponse,
SandboxSessionResponse,
UserResponse,
)
from domain.error import SandboxError, SandboxStartError, UserNotFoundError
from domain.error import SandboxError, SandboxStartError
from domain.sandbox import SandboxSession
from usecase.sandbox import CreateSandbox, CreateSandboxCommand
from usecase.user import GetUser, GetUserQuery
router = APIRouter()
@ -34,24 +31,6 @@ def health(container: AppContainer = Depends(get_container)) -> HealthResponse:
)
@router.get(
'/users/{user_id}',
response_model=UserResponse,
responses={status.HTTP_404_NOT_FOUND: {'model': ErrorResponse}},
status_code=status.HTTP_200_OK,
)
def get_user(user_id: str, usecase: GetUser = Depends(get_get_user)) -> UserResponse:
try:
user = usecase.execute(GetUserQuery(user_id=user_id))
except UserNotFoundError as exc:
raise HTTPException(
status_code=status.HTTP_404_NOT_FOUND,
detail=str(exc),
) from exc
return UserResponse(id=user.id, email=user.email, name=user.name)
@router.post(
'/create',
response_model=SandboxSessionResponse,

View file

@ -23,11 +23,5 @@ class SandboxSessionResponse(BaseModel):
expires_at: datetime
class UserResponse(BaseModel):
id: str
email: str
name: str
class ErrorResponse(BaseModel):
detail: str

View file

@ -142,7 +142,7 @@
### M11. Удаление не-MVP user surface из приложения
- Субагент: `feature-developer`
- Статус: pending
- Статус: completed
- Зависимости: `M08`
- Commit required: no
- Scope: убрать из runtime app неотносящиеся к MVP user endpoint и seed user wiring

View file

@ -25,10 +25,8 @@ from adapter.observability.runtime import ObservabilityRuntime
from domain.error import SandboxError, SandboxStartError
from domain.sandbox import SandboxSession, SandboxStatus
from repository.sandbox_session import InMemorySandboxSessionRepository
from repository.user import InMemoryUserRepository
from usecase.interface import Attrs
from usecase.sandbox import CleanupExpiredSandboxes, CreateSandbox, CreateSandboxCommand
from usecase.user import GetUser
class FakeLogger:
@ -130,16 +128,8 @@ def build_container(
metrics=NoopMetrics(),
tracer=NoopTracer(),
)
repositories = AppRepositories(
user=InMemoryUserRepository(NoopTracer()),
sandbox_session=InMemorySandboxSessionRepository(),
)
repositories = AppRepositories(sandbox_session=InMemorySandboxSessionRepository())
usecases = AppUsecases(
get_user=GetUser(
repository=repositories.user,
logger=logger,
tracer=NoopTracer(),
),
create_sandbox=create_sandbox_usecase,
cleanup_expired_sandboxes=cleanup_usecase,
)