diff --git a/fix-google-settings.js b/fix-google-settings.js new file mode 100644 index 0000000..b75d5e1 --- /dev/null +++ b/fix-google-settings.js @@ -0,0 +1,44 @@ +// Script pour corriger les paramĂštres Google Calendar +const { getAll, runQuery } = require('./config/database'); + +async function fixGoogleSettings() { + console.log('🔍 VĂ©rification des paramĂštres Google Calendar...\n'); + + // Lire tous les paramĂštres Google + const googleSettings = await getAll("SELECT key, value FROM settings WHERE key LIKE 'google%'"); + + console.log('📋 ParamĂštres actuels :'); + googleSettings.forEach(setting => { + let displayValue = setting.value; + // Masquer les secrets + if (setting.key.includes('secret') || setting.key.includes('key')) { + displayValue = setting.value ? '***MASQUÉ***' : 'NULL'; + } + console.log(` ${setting.key}: ${displayValue}`); + }); + + // VĂ©rifier le type d'authentification + const authType = googleSettings.find(s => s.key === 'google_auth_type'); + console.log(`\n🔐 Type d'authentification actuel: ${authType?.value || 'NON DÉFINI'}`); + + // Forcer OAuth2 + console.log('\n✏ Changement du type d\'authentification vers OAuth2...'); + await runQuery( + "INSERT OR REPLACE INTO settings (key, value) VALUES ('google_auth_type', 'oauth2')", + [] + ); + + console.log('✅ Type d\'authentification changĂ© vers OAuth2'); + + // VĂ©rifier Ă  nouveau + const newAuthType = await getAll("SELECT value FROM settings WHERE key = 'google_auth_type'"); + console.log(`\n✅ Nouveau type: ${newAuthType[0]?.value}`); + + console.log('\n🎉 TerminĂ© ! RedĂ©marrez votre application et rĂ©essayez.'); + process.exit(0); +} + +fixGoogleSettings().catch(err => { + console.error('❌ Erreur:', err); + process.exit(1); +}); diff --git a/routes/calendar.routes.js b/routes/calendar.routes.js index d3e5478..5cecd0d 100644 --- a/routes/calendar.routes.js +++ b/routes/calendar.routes.js @@ -113,6 +113,21 @@ async function getCalendarClient(userId = null) { } } +/** + * GET /api/calendar/force-oauth2 (TEMPORAIRE - DEBUG) + * Forcer le type d'authentification Ă  OAuth2 + */ +router.get('/force-oauth2', requireAdmin, async (req, res) => { + try { + await runQuery("INSERT OR REPLACE INTO settings (key, value) VALUES ('google_auth_type', 'oauth2')", []); + const check = await getOne("SELECT value FROM settings WHERE key = 'google_auth_type'"); + res.json({ success: true, auth_type: check?.value }); + } catch (error) { + logger.error('Erreur:', error); + res.status(500).json({ error: error.message }); + } +}); + /** * GET /api/calendar/auth-url * GĂ©nĂ©rer l'URL d'authentification OAuth