Skip to content

Comments

Add admin UI for IONOS mailbox management#31

Draft
Copilot wants to merge 5 commits intoionos-devfrom
copilot/add-mailbox-overview-feature
Draft

Add admin UI for IONOS mailbox management#31
Copilot wants to merge 5 commits intoionos-devfrom
copilot/add-mailbox-overview-feature

Conversation

Copy link

Copilot AI commented Feb 6, 2026

Implements mailbox administration interface in admin settings for managing IONOS email accounts. Admins can list all mailboxes, edit email localparts, and delete accounts.

Backend

API Controller (MailboxAdminController)

  • GET /api/admin/mailboxes - Lists all IONOS mailboxes with linked user info
  • PATCH /api/admin/mailboxes/{userId} - Updates email localpart with duplicate detection
  • DELETE /api/admin/mailboxes/{userId} - Deletes mailbox via IONOS provider

Service Layer (MailboxAdminService)

  • Iterates all Nextcloud users to find IONOS mailboxes
  • Validates localpart format: /^[a-zA-Z0-9._-]+$/
  • Case-insensitive duplicate email detection
  • Delegates to existing IonosProviderFacade (no provider changes required)

Access restricted via @AuthorizedAdminSetting annotation.

Frontend

MailboxManagement.vue

  • Table view with columns: email address, user (avatar + display name + username)
  • Inline edit modal for localpart changes
  • Delete confirmation modal with data loss warning
  • Error handling for validation failures and network issues

MailboxListItem.vue

  • Row component with action menu (edit/delete)
  • Uses Nextcloud's NcAvatar, NcActions, NcModal components

Integrated into AdminSettings.vue as "E-Mail Verwaltung" section.

Example Usage

Edit flow validation:

// Valid localpart change
PATCH /api/admin/mailboxes/user123
{ "newLocalpart": "john.doe" }
 200 { "success": true, "email": "john.doe@domain.com" }

// Duplicate detection
PATCH /api/admin/mailboxes/user456
{ "newLocalpart": "john.doe" }
 400 { "success": false, "error": "Email is already taken. Please use some other username." }

Admin documentation added to doc/admin.md.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/ArthurHoaro/favicon/zipball/2f2af255e4a2ea0abff2a1b34b51cf4e57e6a230
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WmiSGC /usr/bin/composer install (http block)
  • https://api.github.com/repos/amphp/amp/zipball/ded3d9be08f526089eb7ee8d9f16a9768f9dec2d
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WmiSGC /usr/bin/composer install (http block)
  • https://api.github.com/repos/amphp/byte-stream/zipball/4f0e968ba3798a423730f567b1b50d3441c16ddc
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WmiSGC /usr/bin/composer install (http block)
  • https://api.github.com/repos/amphp/parser/zipball/3cf1f8b32a0171d4b1bed93d25617637a77cded7
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WmiSGC /usr/bin/composer install (http block)
  • https://api.github.com/repos/amphp/process/zipball/55b837d4f1857b9bd7efb7bb859ae6b0e804f13f
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WmiSGC /usr/bin/composer install (http block)
  • https://api.github.com/repos/amphp/serialization/zipball/693e77b2fb0b266c3c7d622317f881de44ae94a1
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WmiSGC /usr/bin/composer install (http block)
  • https://api.github.com/repos/amphp/sync/zipball/85ab06764f4f36d63b1356b466df6111cf4b89cf
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WmiSGC /usr/bin/composer install (http block)
  • https://api.github.com/repos/bamarni/composer-bin-plugin/zipball/92fd7b1e6e9cdae19b0d57369d8ad31a37b6a880
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WmiSGC /usr/bin/composer install (http block)

If you need me to access, download, or install something from one of these locations, you can either:


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 4 commits February 6, 2026 08:29
Co-authored-by: printminion-co <145785698+printminion-co@users.noreply.github.com>
Co-authored-by: printminion-co <145785698+printminion-co@users.noreply.github.com>
Co-authored-by: printminion-co <145785698+printminion-co@users.noreply.github.com>
Co-authored-by: printminion-co <145785698+printminion-co@users.noreply.github.com>
Copilot AI changed the title [WIP] Implement mailbox overview feature in administration settings Add admin UI for IONOS mailbox management Feb 6, 2026
Copilot AI requested a review from printminion-co February 6, 2026 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants