From 5f7edf13f561bf85c0a54adf40209b7935a927fd Mon Sep 17 00:00:00 2001 From: dimedtec Date: Mon, 31 Aug 2026 16:56:52 +0200 Subject: [PATCH] TODO aktualisiert: MAPI-Stand, offene Punkte (Gmail, macOS) --- TODO.md | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/TODO.md b/TODO.md index ebda010..ac2a421 100644 --- a/TODO.md +++ b/TODO.md @@ -1,17 +1,27 @@ # TODO -- **Mehrere Office365/Outlook-Accounts gleichzeitig.** - Aktuell: `Contacts:Office365` in appsettings ist ein einzelnes Objekt, `Office365ContactProvider` - ist ein Singleton mit einem MSAL-Token-Cache. - Geplant: `Contacts:Office365Accounts` als Liste (`Name`, `TenantId`, `ClientId` je Eintrag), - `Office365ContactProvider` bekommt einen Konstruktor-Parameter fuer den Account und einen - eigenen Token-Cache-Pfad pro Account (sonst ueberschreiben sich die Logins). Ein Provider - pro konfiguriertem Account wird in `ContactSyncService` registriert, `ContactInfo.Id` bekommt - ein Account-Praefix, damit Kontakte aus verschiedenen Accounts nicht kollidieren. +## Erledigt -- **outlook.com / persoenliche Microsoft-Accounts (MSA).** - Technisch identisch zu Office365 ueber Microsoft Graph, nur `TenantId: "consumers"` statt der - Organisations-Tenant-ID. Kein separater Provider noetig - einfach ein weiterer Eintrag in der - oben geplanten Account-Liste mit `TenantId = "consumers"`. +- ~~Mehrere Office365/Outlook-Accounts gleichzeitig~~ - `Contacts:Office365Accounts` ist eine + Liste, jeder Account hat eigenen Token-Cache/AuthenticationRecord (Keyed DI Services). +- ~~outlook.com / persoenliche Microsoft-Accounts~~ - laeuft aktuell ueber den lokalen + MAPI-Provider (deckt alle im lokalen Outlook eingerichteten Konten automatisch ab, siehe unten). + Der Graph/OAuth-Weg (`TenantId: "consumers"`) ist ebenfalls fertig im Code, aber deaktiviert. +## Aktueller Kontakt-Provider-Stand + +- **`OutlookMapi` (aktiv):** liest lokal per COM/MAPI aus dem installierten klassischen Outlook, + deckt automatisch ALLE dort eingerichteten Konten ab (aktuell: `info@dimedtec.de` + + `jan.wurl@outlook.com`). Kein Azure/OAuth noetig. Nachteil: langsamer als Graph bei sehr + grossen Kontaktlisten (COM-Marshaling pro Kontakt), und ggf. Outlook-Sicherheitsdialog. +- **`Office365Accounts:work` (Graph, vorruebergehend deaktiviert):** MAPI deckt denselben Account + bereits ab. Bei Bedarf einfach `Enabled: true` setzen in `appsettings.Local.json`. +- **`Office365Accounts:outlook` (Graph, deaktiviert):** Alternative zu MAPI fuer outlook.com, + falls MAPI mal nicht verfuegbar ist (z. B. anderer Rechner ohne installiertes Outlook). Braucht + noch die Azure-App-Registration-Anpassung (Kontotyp "auch persoenliche Microsoft-Konten"). + +## Offen + +- **Google Contacts (Gmail).** Code ist fertig (`GoogleContactProvider`), braucht noch OAuth-Client + (Desktop-App) aus der Google Cloud Console (People API aktivieren, Client-ID/Secret). - **macOS-Client** (urspruenglich offene Frage, noch nicht angegangen).