[M4] Modèle UnifiedContact + stockage SQLite #225

Closed
opened 2026-04-06 08:54:56 +00:00 by charles · 0 comments
Owner

Contexte

Modèle de données et persistance pour les contacts unifiés — un contact logique peut avoir plusieurs identités Matrix via différents bridges.

Critères d'acceptation

  • Struct UnifiedContact { id: Uuid, display_name, avatar, identities: Vec<BridgedIdentity>, preferred_channel, auto_detected }
  • Struct BridgedIdentity { user_id, bridge_type, external_id, display_name, rooms }
  • Schéma SQLite dans ~/.local/share/fractal-plus/contacts.db : tables unified_contacts, bridged_identities, identity_rooms (voir specs §6.3 ST-M4-02)
  • CRUD complet via ContactRepository (create, read, update, delete, list)
  • Migration de schéma versionnée (via rusqlite_migration ou similaire)
  • Tests unitaires sur les opérations CRUD

Notes techniques

  • Crate : crates/fractal-bridge/
  • Voir specs §6.3 (ST-M4-01, ST-M4-02)
  • Dépend de #220 (détection BridgeType)
## Contexte Modèle de données et persistance pour les contacts unifiés — un contact logique peut avoir plusieurs identités Matrix via différents bridges. ## Critères d'acceptation - [ ] Struct `UnifiedContact { id: Uuid, display_name, avatar, identities: Vec<BridgedIdentity>, preferred_channel, auto_detected }` - [ ] Struct `BridgedIdentity { user_id, bridge_type, external_id, display_name, rooms }` - [ ] Schéma SQLite dans `~/.local/share/fractal-plus/contacts.db` : tables `unified_contacts`, `bridged_identities`, `identity_rooms` (voir specs §6.3 ST-M4-02) - [ ] CRUD complet via `ContactRepository` (create, read, update, delete, list) - [ ] Migration de schéma versionnée (via `rusqlite_migration` ou similaire) - [ ] Tests unitaires sur les opérations CRUD ## Notes techniques - Crate : `crates/fractal-bridge/` - Voir specs §6.3 (ST-M4-01, ST-M4-02) - Dépend de #220 (détection BridgeType)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/my-fractal#225
No description provided.