Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Thunderbird/feature/account/profile/api/   (Thunderbird Email Client Version 5.6©)  Datei vom 22.9.2026 mit Größe 1 kB image not shown  

Quelle  README.md  Sprache: unbekannt

 
Spracherkennung für: .md vermutete Sprache: SPS {SPS[60] CS[40] Delphi[40]} [Methode: maximale Elemente, drei Dimensionen]

# Account Profile API (feature/account/profile/api)

Types and contracts for account display/profile information, separated from the core `feature/account/api` module.
This module focuses on UI-facing profile data keyed by `AccountId` and an abstraction to read/update it.

## What this module provides

- `AccountProfile`: Display/profile data for UI (e.g., display name, color, avatar) keyed by `AccountId`.
- `AccountProfileRepository`: Abstraction to observe and update profiles.

It depends on `feature/account/api` for identity types such as `AccountId`.

## Usage

Add the dependency and use the repository to observe and update a profile.

```kotlin
// Dependency (Gradle Kotlin DSL)
// implementation(projects.feature.account.profile.api)

// Observe a profile
val profiles: Flow<AccountProfile?> = repo.getById(accountId)

// Update a profile
val updated = AccountProfile(
    id = accountId,
    name = "Alice",
    color = 0xFFAA66,
    avatar = AccountProfile.Avatar.Monogram("A") // or other supported avatar types
)

repo.update(updated)
```

Note: The exact set of avatar representations may evolve. Use the sealed/avatar types exposed by this module.

## Design guidelines

- Profile data is purely presentational and keyed by `AccountId`.
- Do not persist data for `UnifiedAccountId` (from `feature/account/api`). Compute unified profiles/labels in UI.
- Keep profile concerns separate from feature-specific capabilities (mail, calendar, sync, etc.).

## Related modules

- `feature/account/api`: Core account identity types (`AccountId`, `AccountIdFactory`, `UnifiedAccountId`).


[Dauer der Verarbeitung: 0.3 Sekunden, vorverarbeitet 2026-10-24]