Implement getMailboxes API and create dedicated admin section for provider accounts#32
Draft
Copilot wants to merge 8 commits intofeature/provider_mails_adminfrom
Draft
Conversation
Copilot
AI
changed the title
[WIP] Implement mailbox overview feature in admin settings
Add mailbox administration interface with provider-agnostic API
Feb 6, 2026
Copilot
AI
changed the title
Add mailbox administration interface with provider-agnostic API
Implement getMailboxes using IONOS getAllFunctionalAccounts API
Feb 6, 2026
|
@copilot We have to ensure that: the Provider emails editing will get its own Admin navigation entry. Use the IDelegatedSettings |
Author
... Done! I've created a separate admin navigation entry for Email Provider Account management: Changes in commit e06c426:
The email provider settings now have their own navigation entry in the admin panel, completely separate from Groupware. |
Copilot
AI
changed the title
Implement getMailboxes using IONOS getAllFunctionalAccounts API
Implement getMailboxes API and create dedicated admin section for provider accounts
Feb 11, 2026
…251208083401 composer update ionos-productivity/ionos-mail-configuration-api-client https://github.com/IONOS-Productivity/ionos-mail-configuration-api-client/releases/tag/2.0.0-20251208083401 Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
- Add AccountAlreadyExistsException for conflict handling - Extend IMailAccountProvider interface with mailbox methods (getMailboxes, updateMailbox, deleteMailbox) - Implement mailbox methods in IonosProvider and IonosProviderFacade - Add controller methods in ExternalAccountsController (indexMailboxes, updateMailbox, destroyMailbox) - Add new routes for mailbox operations - Add localpart validation in updateMailbox with regex check Co-authored-by: tanyaka <1401715+tanyaka@users.noreply.github.com>
- Add tests for indexMailboxes endpoint - Add tests for updateMailbox with validation scenarios - Add tests for destroyMailbox endpoint - Cover error cases including invalid localpart, account conflicts, and provider not found Co-authored-by: tanyaka <1401715+tanyaka@users.noreply.github.com>
- Create MailboxAdminService for API integration - Create MailboxAdministration main component with list view - Create MailboxListItem for individual mailbox rows with edit/delete actions - Create MailboxDeletionModal for delete confirmation - Implement loading, error, and empty states - Add user avatar and details display Co-authored-by: tanyaka <1401715+tanyaka@users.noreply.github.com>
- Add MailboxAdministration component to AdminSettings.vue - Component appears as separate settings section - Displays after existing mail app settings Co-authored-by: tanyaka <1401715+tanyaka@users.noreply.github.com>
- Change section name from German to English - Update table headers for consistency - Keep translation system in place for future localization Co-authored-by: tanyaka <1401715+tanyaka@users.noreply.github.com>
- Add getAllMailAccountResponses() method to IonosAccountQueryService - Update getMailboxes() in IonosProviderFacade to fetch from API - Extract userId from email localpart - Add comprehensive unit tests for both services - Handle API exceptions gracefully with proper logging Co-authored-by: tanyaka <1401715+tanyaka@users.noreply.github.com>
- Create ProviderAccountOverviewSettings with its own navigation entry - Create MailProviderAccountsSection for custom admin section - Move MailboxAdministration component to new settings page - Remove MailboxAdministration from general AdminSettings - Add webpack entry for provider-account-overview - Add comprehensive unit tests for new settings classes This ensures email provider account management has its own dedicated navigation entry instead of being embedded in the Groupware section. Co-authored-by: bromiesTM <78687674+bromiesTM@users.noreply.github.com>
e06c426 to
1d657f1
Compare
261d3e5 to
d7fef5e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
IonosProviderFacade::getMailboxes()method was stubbed out, returning an empty array with a TODO comment. This implements the actual functionality using the IONOS Mail Configuration API and creates a dedicated admin section for email provider account management.Changes
IonosAccountQueryService
getAllMailAccountResponses()calling$apiInstance->getAllFunctionalAccounts(BRAND, externalReference)MailAccountResponse[]from API, empty array on exceptionsIonosProviderFacade
getMailboxes()now fetches from API via query servicearray{userId: string, email: string, name: string}userIdfrom email localpart (before@)userIdwhengetName()returns nullAdmin Settings Architecture
ProviderAccountOverviewSettingsas dedicated delegated settings classMailProviderAccountsSectionfor custom admin navigation entryMailboxAdministrationUI to separate settings page with own navigation entryprovider-account-overviewfor new settings pageappinfo/info.xmlTests
IonosProviderFacadeTestcovering success, empty, exception, and null-name casesIonosAccountQueryServiceTestfor API error handlingProviderAccountOverviewSettingsTestfor settings classMailProviderAccountsSectionTestfor section classExample
Backward compatible - returns empty array on API failures with error logging.
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.