Add state to MCP profile and refactor contract filter

Add the profile state attribute (ACTIVE/INACTIVE) to the MCP
Profile schema so listUsers and getUser tools expose it, and
add a state filter to listUsers.

Rename excludeContractEnded to contractEnded across the entire
stack (MCP, GraphQL, CLI, frontend). The new boolean is two-way:
true returns only users with ended contracts, false returns only
users with active or no contract, and null returns all.

Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
Émile Ré
2026-04-24 11:45:52 +04:00
parent b7a28573f7
commit 272f63828f
16 changed files with 43 additions and 23 deletions

View File

@@ -180,6 +180,13 @@ components:
- AUDITOR
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.MembershipRole
ProfileState:
type: string
enum:
- ACTIVE
- INACTIVE
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.ProfileState
Profile:
type: object
required:
@@ -189,6 +196,7 @@ components:
- email_address
- additional_email_addresses
- kind
- state
- created_at
- updated_at
properties:
@@ -214,6 +222,9 @@ components:
- string
- "null"
description: Profile kind
state:
$ref: "#/components/schemas/ProfileState"
description: Profile state (ACTIVE or INACTIVE)
position:
type:
- string
@@ -260,9 +271,12 @@ components:
filter:
type: object
properties:
exclude_contract_ended:
contract_ended:
type: boolean
description: Exclude users with ended contracts
description: Filter by contract status. True returns only users with ended contracts, false returns only users with active or no contract.
state:
$ref: "#/components/schemas/ProfileState"
description: Filter by profile state (ACTIVE or INACTIVE)
ListUsersOutput:
type: object