Merged
Conversation
e63be76 to
cade28f
Compare
2eb3b33 to
fec67e9
Compare
…sion management - Removed unused dependencies from package.json. - Added new configuration options for master user and password. - Enhanced EmailController to support email operations including listing, sending, and managing emails. - Expanded EmailUsecase to handle email retrieval, sending, and management through JMAP. - Introduced JmapService for session management and API requests. - Added JMAP types for structured data handling. - Updated tsconfig.json to set root directory.
- Introduced MailProvider interface for email operations including mailbox management and email handling. - Implemented JMAP email mapping functions for converting between JMAP and domain email structures. - Added comprehensive tests for JMAP email mapping functionalities to ensure correctness.
- Added JmapMailProvider class to handle email operations via JMAP, including fetching mailboxes, listing emails, retrieving email details, sending emails, saving drafts, moving, deleting, and marking emails. - Integrated caching for mailboxes and identities to optimize performance. - Updated JmapModule to include JmapMailProvider as a provider and export it for use in other modules.
- Updated email module to use EmailService instead of EmailUsecase for email operations. - Introduced email service with methods for managing mailboxes, listing, retrieving, sending emails, and handling drafts. - Added email types for better structure and type safety. - Created unit tests for EmailService to ensure functionality and error handling. - Removed the deprecated EmailUsecase file.
- Replaced EmailUsecase with EmailService for handling email operations. - Updated methods for fetching mailboxes, listing emails, retrieving email details, sending emails, saving drafts, and deleting emails. - Enhanced query parameters for listing emails and added support for updating email properties. - Removed deprecated methods and streamlined the controller for better maintainability.
- Moved JmapModule and related classes to the infrastructure directory for better organization. - Updated EmailModule to import JmapModule from the new location. - Refactored EmailService to remove the MAIL_PROVIDER injection and streamline email handling. - Added JMAP mapping utilities and provider for improved email operations. - Introduced unit tests for JMAP email mapping functionalities to ensure correctness.
fec67e9 to
575da06
Compare
575da06 to
4dd23ea
Compare
|
apsantiso
approved these changes
Mar 18, 2026
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.


MailProviderport interface and domain types (email.types.ts) so the email module has zero knowledge of JMAPJmapMailProvideradapter +jmap-mail.mapper.tsto translate between JMAP and domain types (consider domain types rough placeholders)