ultisuite-client/lib/agenda/agenda-types.ts
R3D347HR4Y ad1370ea7e
Some checks are pending
E2E / Playwright e2e (push) Waiting to run
feat: enhance configuration and add new demo layouts
- Introduced turbopack alias for canvas in next.config.mjs.
- Updated package.json scripts for development and branding tasks.
- Added new dependencies for Tiptap extensions.
- Implemented new demo layouts for agenda, contacts, drive, and mail applications.
- Enhanced globals.css for improved theming and splash screen animations.
- Added OAuth callback handling for drive mounts.
- Updated layout components to integrate new demo shells and improve structure.
2026-06-12 19:10:24 +02:00

84 lines
1.8 KiB
TypeScript

export interface AgendaCalendar {
id: string
display_name: string
color: string
path: string
}
export interface AgendaEventAttendee {
email: string
name?: string
/** PARTSTAT : NEEDS-ACTION | ACCEPTED | DECLINED | TENTATIVE */
status?: string
role?: string
}
/** Événement tel que renvoyé par l'API (`/calendar/{id}/events`). */
export interface AgendaApiEvent {
uid: string
summary: string
description: string
location: string
/** ICS : `YYYYMMDD` (journée entière) ou `YYYYMMDDTHHMMSSZ` (UTC). */
start: string
end: string
all_day: boolean
path?: string
etag?: string
organizer?: string
attendees?: AgendaEventAttendee[]
meet_url?: string
color?: string
rrule?: string
exdates?: string[]
raw_ics?: string
}
export interface AgendaEventsResponse {
events: AgendaApiEvent[]
}
export interface AgendaCalendarsResponse {
calendars: AgendaCalendar[]
}
/** Occurrence affichable (événement simple ou instance d'une récurrence). */
export interface AgendaEvent {
/** Clé unique d'occurrence : `path@startMs`. */
key: string
calendarId: string
path: string
etag: string
uid: string
title: string
description: string
location: string
meetUrl: string
organizer: string
attendees: AgendaEventAttendee[]
start: Date
end: Date
allDay: boolean
/** Couleur résolue : événement sinon agenda. */
color: string
rrule: string
recurring: boolean
/** Données API du master, pour l'édition aller-retour. */
master: AgendaApiEvent
}
export interface AgendaEventDraft {
title: string
start: Date
end: Date
allDay: boolean
calendarId: string
description?: string
location?: string
attendees?: AgendaEventAttendee[]
rrule?: string
color?: string
/** Visio demandée à la création (UltiMeet génère le lien à l'enregistrement). */
includeVideo?: boolean
}