Skip to content

Move Studio team member filtering out of host layer #546

@louis4li

Description

@louis4li

Problem

StudioTeamEndpoints.HandleListMembersAsync currently validates the team, pages through members, filters by TeamId in memory, and synthesizes pagination in the Host/API layer. This puts business query orchestration in the host and does not push team_id filtering into the projection store.

Why it matters

Host endpoints should compose HTTP concerns only. Team-member listing is an application/query-port concern and should be backed by projection-store filtering.

Acceptance criteria

  • Application/query port exposes a typed contract for listing members by team.
  • Projection query port pushes scope_id/team_id filters into the document store.
  • Host endpoint delegates to the application/query contract without in-memory pagination/filter orchestration.
  • Tests cover filtering and pagination at the query-port/application boundary.

Source

Follow-up from StudioMember async bind PR review; out of scope for the binding-run PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions