feat(webui): configure participant roster visibility

This commit is contained in:
2026-07-20 18:47:46 +02:00
parent 6141f39bf8
commit 705ac823ce
5 changed files with 78 additions and 2 deletions
+20
View File
@@ -1,6 +1,7 @@
import { apiFetch, type ApiSettings } from "@govoplan/core-webui";
export type SchedulingStatus = "draft" | "collecting" | "closed" | "decided" | "handed_off" | "cancelled" | "archived";
export type SchedulingParticipantVisibility = "aggregates_only" | "names_and_statuses";
export type SchedulingCandidateSlot = {
id: string;
@@ -35,6 +36,20 @@ export type SchedulingParticipant = {
metadata?: Record<string, unknown>;
};
export type SchedulingParticipantAggregate = {
total: number;
status_counts: Record<string, number>;
};
export type SchedulingParticipantVisibilityDecision = {
requested_visibility: SchedulingParticipantVisibility;
effective_visibility: SchedulingParticipantVisibility;
policy_applied: boolean;
reason?: string | null;
source_path: Record<string, unknown>[];
details: Record<string, unknown>;
};
export type SchedulingRequest = {
id: string;
tenant_id: string;
@@ -50,6 +65,10 @@ export type SchedulingRequest = {
allow_external_participants: boolean;
allow_participant_updates: boolean;
result_visibility: string;
participant_visibility: SchedulingParticipantVisibility;
effective_participant_visibility: SchedulingParticipantVisibility;
participant_aggregate: SchedulingParticipantAggregate;
participant_visibility_decision: SchedulingParticipantVisibilityDecision;
calendar_integration_enabled: boolean;
calendar_id?: string | null;
calendar_freebusy_enabled: boolean;
@@ -97,6 +116,7 @@ export type SchedulingRequestCreatePayload = {
allow_external_participants?: boolean;
allow_participant_updates?: boolean;
result_visibility?: "organizer" | "after_response" | "after_close" | "public";
participant_visibility?: SchedulingParticipantVisibility;
calendar?: {
enabled?: boolean;
calendar_id?: string | null;