Expose bridge sync errors in SCIM API

Add a dedicated SCIMBridge syncError field to the Connect GraphQL API
and populate it from the core bridge model.

Update the connector cards to read bridge state and syncError directly
from the bridge object instead of inferring failures from event
history.

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: Bryan FRIMIN <bryan@frimin.fr>
This commit is contained in:
Cursor Agent
2026-05-28 00:28:16 +00:00
committed by Bryan Frimin
parent 83ce4286f8
commit 6f4ac54a27
4 changed files with 8 additions and 20 deletions

View File

@@ -39,18 +39,11 @@ import { useOrganizationId } from "#/hooks/useOrganizationId";
const googleWorkspaceConnectorFragment = graphql`
fragment GoogleWorkspaceConnectorFragment on SCIMConfiguration {
id
eventsLatest: events(first: 1) {
edges {
node {
id
errorMessage
}
}
}
bridge {
id
type
state
syncError
excludedUserNames
connector {
id
@@ -96,7 +89,7 @@ export function GoogleWorkspaceConnector(props: {
const organizationId = useOrganizationId();
const { __, dateTimeFormat } = useTranslate();
const bridgeState = bridge?.state ?? null;
const latestBridgeError = data?.eventsLatest?.edges?.[0]?.node?.errorMessage ?? null;
const latestBridgeError = bridge?.syncError ?? null;
const isBridgeFailed = bridgeState === "FAILED";
const isBridgePending = bridgeState === "PENDING";
const bridgeStatusBadgeVariant = isBridgeFailed

View File

@@ -39,18 +39,11 @@ import { useOrganizationId } from "#/hooks/useOrganizationId";
const microsoft365ConnectorFragment = graphql`
fragment Microsoft365ConnectorFragment on SCIMConfiguration {
id
eventsLatest: events(first: 1) {
edges {
node {
id
errorMessage
}
}
}
bridge {
id
type
state
syncError
excludedUserNames
connector {
id
@@ -96,7 +89,7 @@ export function Microsoft365Connector(props: {
const organizationId = useOrganizationId();
const { __, dateTimeFormat } = useTranslate();
const bridgeState = bridge?.state ?? null;
const latestBridgeError = data?.eventsLatest?.edges?.[0]?.node?.errorMessage ?? null;
const latestBridgeError = bridge?.syncError ?? null;
const isBridgeFailed = bridgeState === "FAILED";
const isBridgePending = bridgeState === "PENDING";
const bridgeStatusBadgeVariant = isBridgeFailed