The MsGraph provider for the Cirreum foundation
$ dotnet add package Cirreum.Graph.ProviderMicrosoft Graph integration for user presence tracking in Cirreum applications
Cirreum.Graph.Provider provides seamless Microsoft Graph API integration for the Cirreum foundation framework, enabling real-time user presence monitoring and status synchronization.
Register the Microsoft Graph presence service in your Blazor WebAssembly application:
builder.Services
.AddCirreumFoundation()
.WithGraphUserPresence(refreshInterval: 30000); // 30 seconds
The service automatically:
| Microsoft Graph Status | Cirreum Status |
|---|---|
| Available, AvailableIdle | Available |
| Busy, BusyIdle | Busy |
| Away, BeRightBack | Away |
| DoNotDisturb | DoNotDisturb |
| Offline | Offline |
| PresenceUnknown | Unknown |
The library uses a provider pattern with IGraphServiceClientProvider to manage Graph client authentication and lifecycle. This ensures proper token acquisition and scope management for each operation while respecting service lifetimes.
Be conservative with new abstractions
The API surface must remain stable and meaningful.
Limit dependency expansion
Only add foundational, version-stable dependencies.
Favor additive, non-breaking changes
Breaking changes ripple through the entire ecosystem.
Include thorough unit tests
All primitives and patterns should be independently testable.
Document architectural decisions
Context and reasoning should be clear for future maintainers.
Follow .NET conventions
Use established patterns from Microsoft.Extensions.* libraries.
Cirreum.Graph.Provider follows Semantic Versioning:
Given its foundational role, major version bumps are rare and carefully considered.
This project is licensed under the MIT License - see the LICENSE file for details.
Cirreum Foundation Framework
Layered simplicity for modern .NET