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

@@ -65,7 +65,7 @@ function PeopleMultiSelectWithQuery<T extends FieldValues = FieldValues>(
) {
const { __ } = useTranslate();
const { name, organizationId, control, selectedPeople = [], placeholder } = props;
const people = usePeople(organizationId, { excludeContractEnded: true });
const people = usePeople(organizationId, { contractEnded: false });
const [isOpen, setIsOpen] = useState(false);
const allPeople = [...people];

View File

@@ -61,7 +61,7 @@ function PeopleSelectWithQuery<TFieldValues extends FieldValues = FieldValues>(
) {
const { __ } = useTranslate();
const { name, organizationId, control } = props;
const people = usePeople(organizationId, { excludeContractEnded: true });
const people = usePeople(organizationId, { contractEnded: false });
return (
<Controller

View File

@@ -31,7 +31,7 @@ export function PeopleCell(props: Props) {
query={peopleQuery}
variables={{
organizationId: props.organizationId,
filter: { excludeContractEnded: true },
filter: { contractEnded: false },
}}
items={data =>
data.organization?.profiles?.edges.map(edge => edge.node) ?? []}