From 887dafa83d747fc5640d061adc244d78d93c720d Mon Sep 17 00:00:00 2001 From: rot1024 Date: Thu, 16 Nov 2023 15:09:59 +0900 Subject: [PATCH] fix(server): repo filter remains between different contexts --- server/internal/app/usecase.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/server/internal/app/usecase.go b/server/internal/app/usecase.go index d4183525a4..c5fce3f8f9 100644 --- a/server/internal/app/usecase.go +++ b/server/internal/app/usecase.go @@ -14,11 +14,17 @@ import ( func UsecaseMiddleware(r *repo.Container, g *gateway.Container, ar *accountrepo.Container, ag *accountgateway.Container, config interactor.ContainerConfig) echo.MiddlewareFunc { return ContextMiddleware(func(ctx context.Context) context.Context { + repos := r + if op := adapter.Operator(ctx); op != nil { + + ws := repo.WorkspaceFilterFromOperator(op) + sc := repo.SceneFilterFromOperator(op) + // apply filters to repos - r = r.Filtered( - repo.WorkspaceFilterFromOperator(op), - repo.SceneFilterFromOperator(op), + repos = repos.Filtered( + ws, + sc, ) } @@ -30,7 +36,7 @@ func UsecaseMiddleware(r *repo.Container, g *gateway.Container, ar *accountrepo. ar2 = ar } - uc := interactor.NewContainer(r, g, ar2, ag, config) + uc := interactor.NewContainer(repos, g, ar2, ag, config) ctx = adapter.AttachUsecases(ctx, &uc) return ctx })