feat(scheduling): expose invitation delivery capability

This commit is contained in:
2026-07-22 04:01:56 +02:00
parent 95c9f654e1
commit ed39f83688
4 changed files with 128 additions and 1 deletions

View File

@@ -320,6 +320,7 @@ class SchedulingRequestResponse(BaseModel):
anonymous_password_protection_enabled: bool
public_participation_policy_enforcement_available: bool | None = None
public_participation_policy_enforcement_reason: str | None = None
participant_invitation_delivery_available: bool | None = None
effective_participant_visibility: SchedulingParticipantVisibility
participant_aggregate: SchedulingParticipantAggregateResponse
participant_visibility_decision: SchedulingParticipantVisibilityDecisionResponse

View File

@@ -3859,6 +3859,11 @@ def scheduling_request_response(
"details": {},
}
public_policy_available = _poll_participation_provider() is not None
participant_invitation_delivery_available = (
notification_dispatch_provider(get_registry()) is not None
if full_roster
else None
)
return {
"id": request.id,
"tenant_id": request.tenant_id if full_roster else None,
@@ -3890,6 +3895,9 @@ def scheduling_request_response(
if public_policy_available or not full_roster
else PUBLIC_PARTICIPATION_POLICY_UNAVAILABLE_REASON
),
"participant_invitation_delivery_available": (
participant_invitation_delivery_available
),
"effective_participant_visibility": visibility_decision["effective_visibility"],
"participant_aggregate": _participant_aggregate(active_participants),
"participant_visibility_decision": visibility_decision,