Draft
Conversation
…tionService, IonosAccountQueryServiceTest implemented missing tests Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
…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>
261d3e5 to
d7fef5e
Compare
…ice errors Updated the error handling logic in ExternalProviderTab.vue to only check for 'SERVICE_ERROR' in the error data, since IONOS_API_ERROR is not used anymore. Should be removed in a0abffc Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
…lization in ExternalAccountsController Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
…tructure - Create src/components/provider/ directory for provider-related components - Move ProviderAppPassword.vue to provider directory using git mv - Update import in AccountSettings.vue to new path This establishes the organizational structure for provider-specific UI components. Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
…nResponse Enhance the error handling in the ExternalAccountsController by using the exception code as the HTTP status. Default to 400 if the code is invalid, ensuring more accurate responses for client requests. Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
…ditional logging Ensure that ServiceException is re-thrown without extra logging to maintain clean error handling. Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
…internal server URLs This change introduces a method to sanitize error messages by replacing internal server URLs with a placeholder. This enhances security by preventing sensitive information from being exposed in error responses while preserving necessary debugging information. Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
… providers for admin This change introduces a new API endpoint for admins to fetch all enabled providers, allowing for better management of mailboxes across different providers. The endpoint is designed to return a JSON response with the relevant provider information. The implementation includes error handling to ensure that any issues during the retrieval process are logged and a user-friendly error message is returned. Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
…and admin endpoint
- Add getMailboxes() method to IMailAccountProvider interface
- Implement getMailboxes() in IonosProvider and IonosProviderFacade
- Create MailboxInfo DTO for enriched mailbox data
- Add IonosAccountQueryService for querying mailbox information
- Add indexMailboxes controller endpoint to expose mailboxes via API
- Add route for GET /api/admin/providers/{providerId}/mailboxes
- Include comprehensive unit tests for all components
The endpoint enriches mailbox data with user existence status and mail app
account details, facilitating better administration and overview capabilities.
Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
…ing IONOS accounts This change enhances the email account deletion process by requiring the user to provide the email address associated with the account. It verifies that the provided email matches the account being deleted, preventing accidental deletions. If the email does not match, a warning is logged, and a ServiceException is thrown. This improves safety and user experience during account management. Should be made in 917d38b Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
…oxes
- Add destroyMailbox() controller method in ExternalAccountsController
- Implement email verification for mailbox deletion safety
- Delete both provider mailbox and associated local mail app account
- Add route for DELETE /api/admin/providers/{providerId}/mailboxes/{userId}
- Include comprehensive unit tests for deletion scenarios
The endpoint requires email verification to prevent accidental deletions and
handles cleanup of both the provider-side mailbox and local mail app account.
Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
…ration - Create MailboxAdminService for API integration - Create MailboxAdministration main component with list view - Create MailboxListItem for individual mailbox rows with delete action - Create MailboxDeletionModal for delete confirmation - Implement loading, error, and empty states - Add user avatar and details display Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de> Signed-off-by: Tatjana Kaschperko Lindt <kaschperko-lindt@strato.de>
… section - 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. Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de> Co-authored-by: bromiesTM <78687674+bromiesTM@users.noreply.github.com> Co-authored-by: Tatjana Kaschperko Lindt <kaschperko-lindt@strato.de> Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
Signed-off-by: Kai Henseler <kai.henseler@strato.de>
Signed-off-by: Kai Henseler <kai.henseler@strato.de>
…ut consistency npm run stylelint:fix Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
…erServiceException Updated error handling in ExternalAccountsController to check for method existence before accessing additional data from ProviderServiceException. This enhances robustness and prevents potential runtime errors. Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
…andling Refactor the ExternalAccountsController to introduce a cleanRequestParams method for removing framework-specific keys from request parameters. This improves code readability and maintainability by centralizing the parameter cleaning logic. Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
…validation responses Refactor the error handling in ExternalAccountsController to utilize a new method for creating validation error responses. This improves code readability and maintains consistency in response formatting across different validation scenarios. Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
…r admin This commit introduces an endpoint to update mailbox details, allowing changes to the localpart and display name. It includes validation for input data and ensures that the new email address is not already in use by another user. The update functionality is integrated into the existing admin interface, enhancing the mailbox management capabilities. Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
…ively in conflict resolution Replace strict === comparison with strcasecmp() in IonosAccountConflictResolver so that foo@bar.lol and FOO@BAR.LOL resolve to the same account, consistent with all other email comparisons in the codebase. Add a unit test covering the case where the IONOS API returns an email in different casing than the requested address. Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
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.
Ref: NCW-134