mirror of
https://github.com/R0m1k3/noteflow.git
synced 2026-10-19 05:09:54 +02:00
Feature: Ajout de rendez-vous Google Calendar
Ajout d'un modal complet pour créer des événements directement dans Google Calendar avec toutes les fonctionnalités : Backend (routes/calendar.routes.js) : - Changement du scope de 'calendar.readonly' à 'calendar' pour permettre l'écriture - Nouvelle route POST /api/calendar/events pour créer des événements - Support complet des fonctionnalités Google Calendar : * Titre, description, dates de début/fin * Lieu * Participants (attendees) avec notifications automatiques * Rappels personnalisables (popup) * Récurrence (quotidienne, hebdomadaire, mensuelle, annuelle) * Visibilité (public, privé, par défaut) * Couleurs d'événement (11 couleurs disponibles) * Fuseau horaire Europe/Paris - Synchronisation automatique après création pour mise à jour locale Frontend : - Service CalendarService.ts : nouvelle méthode createEvent() - Bouton "Ajouter" dans la box Rendez-vous - Modal complet avec formulaire de création d'événement - Tous les champs Google Calendar disponibles : * Titre et description * Date/heure de début et fin (datetime-local) * Lieu * Participants (emails séparés par virgules) * Rappels (10min, 30min, 1h, 1 jour) * Récurrence (quotidienne, hebdomadaire, mensuelle, annuelle) * Visibilité (public/privé) * Couleur (11 options) - Validation des champs obligatoires - Messages de succès/erreur - Rechargement automatique de la liste après création
This commit is contained in:
3 files changed
+320
-13
No files matched your search
@@ -91,6 +91,25 @@ class CalendarService {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Créer un événement dans Google Calendar
|
||||
*/
|
||||
async createEvent(eventData: {
|
||||
title: string;
|
||||
description?: string;
|
||||
startDateTime: string;
|
||||
endDateTime: string;
|
||||
location?: string;
|
||||
attendees?: string[];
|
||||
reminders?: Array<{ method: string; minutes: number }>;
|
||||
recurrence?: string[];
|
||||
visibility?: string;
|
||||
colorId?: string;
|
||||
}): Promise<{ eventId: string; htmlLink: string }> {
|
||||
const response = await axios.post(`${this.baseURL}/events`, eventData, this.getAuthHeader());
|
||||
return response.data;
|
||||
}
|
||||
}
|
||||
|
||||
export default new CalendarService();
|
||||
Reference in new issue
Block a user