Commit Graph

  • 993d9cfea0 refactor(api): inject IEmailSyncService into SyncController; change OAuth2 authorize route to username param; add Swagger UI metadata and description links master TekH 2026-08-17 16:05:43 +02:00
  • 8925428e46 feat(infrastructure): implement IEmailSyncService on EmailSyncWorker with rate-limited ForceTriggerSync via IMemoryCache; register as singleton in DI TekH 2026-08-17 16:05:30 +02:00
  • c189a2d6ef refactor(application): change GetOAuth2AuthorizationUrlQuery to look up account by Username instead of Id TekH 2026-08-17 16:05:16 +02:00
  • 408ad14c9f feat(application): add IEmailSyncService interface and ForcedSyncIntervalSeconds option to EmailAccountsOptions TekH 2026-08-17 16:05:02 +02:00
  • 08547a8768 docs: add full OAuth2 setup guide for Google and Microsoft to README; exclude Google OAuth2 token JSON from version control TekH 2026-08-17 15:06:51 +02:00
  • 5746d36665 feat(api): add OAuth2Controller (Google authorize/callback), SyncController (on-demand trigger); register IHttpContextAccessor TekH 2026-08-17 15:06:38 +02:00
  • a9046e957b feat(infrastructure): add TriggerSync to EmailSyncWorker for on-demand immediate sync; fix cancellation propagation after delay TekH 2026-08-17 15:06:24 +02:00
  • 3ddd5e83a2 feat(infrastructure): register Google OAuth2 services and dispatcher; add Microsoft.Extensions.Http package reference TekH 2026-08-17 15:06:11 +02:00
  • 6ff01b364c refactor(infrastructure): add provider guard and tenant ID validation to MicrosoftOAuth2TokenService; improve XML docs TekH 2026-08-17 15:05:57 +02:00
  • bb9ff9c9ed feat(infrastructure): add GoogleOAuth2TokenService, GoogleOAuth2AuthorizationService and OAuth2TokenServiceDispatcher TekH 2026-08-17 15:05:43 +02:00
  • ba8f701223 feat(application): add OAuth2RefreshToken/OAuth2Provider to DTOs; guard refresh token from being overwritten on seed; add OAuth2MappingProfile TekH 2026-08-17 15:05:28 +02:00
  • 6d6e876d94 feat(application): add OAuth2 authorization flow commands and queries (GetGoogleAuthorizationUrl, CompleteGoogleAuthorization) TekH 2026-08-17 15:05:12 +02:00
  • 502ae5e07b feat(application): add IOAuth2AuthorizationService interface and UpdateAccountOAuth2RefreshTokenCommand handler TekH 2026-08-17 15:04:57 +02:00
  • c90040db67 feat(domain): add OAuth2Provider enum and OAuth2RefreshToken/OAuth2Provider fields to EmailAccount TekH 2026-08-17 15:04:41 +02:00
  • f0c698856d refactor(infrastructure): dispatch EmailSyncWorker by IncomingProtocol, add POP3 sync path, use await using for scopes TekH 2026-08-17 10:48:56 +02:00
  • 158b562007 feat(domain/application): add IncomingProtocol field to EmailAccount entity and account DTOs TekH 2026-08-17 10:48:45 +02:00
  • a0f1fcddac feat(domain): add IncomingProtocol enum (None, Imap, Pop3, ImapOAuth2, Pop3OAuth2) TekH 2026-08-17 10:48:33 +02:00
  • f7d5abb132 feat(api): add IMAP send, POP3 receive, OAuth2 send/receive endpoints to EmailController TekH 2026-08-17 10:16:04 +02:00
  • 7782e86db3 feat(infrastructure): inject IServiceScopeFactory into consumer pool for scoped IMAP access and register new services (OAuth2, POP3) TekH 2026-08-17 10:15:52 +02:00
  • 1d7f269fe1 feat(infrastructure): add OAuth2 auth support and SendAndAppend capability to LimilabsEmailService and LimilabsImapEmailService TekH 2026-08-17 10:15:38 +02:00
  • a13380016d feat(infrastructure): implement MicrosoftOAuth2TokenService and LimilabsPop3EmailService TekH 2026-08-17 10:15:26 +02:00
  • 822c7b1352 feat(application): register AutoMapper mappings for new commands and add SendAndAppend to IImapEmailService TekH 2026-08-17 10:15:13 +02:00
  • f7e95eb7f7 feat(application): add PublishEmailViaImap/OAuth2 commands and ReadEmailViaPop3/OAuth2 queries with handlers TekH 2026-08-17 10:14:59 +02:00
  • a57429718d feat(application): extend DTOs with POP3/OAuth2 fields and add IMAP append flags to SendingEmailEvent TekH 2026-08-17 10:14:44 +02:00
  • ef8df96e65 feat(application): add IOAuth2TokenService and IPop3EmailService interfaces TekH 2026-08-17 10:14:31 +02:00
  • 194ae11a40 feat(domain): add POP3 and OAuth2 credential fields to EmailAccount entity TekH 2026-08-17 10:14:18 +02:00
  • 6c698c95be Refactor ReadEmailQuery to return structured response TekH 2026-08-17 01:13:14 +02:00
  • d01a0ceaa6 Refactor IMAP sync caching and improve thread safety TekH 2026-08-14 08:40:56 +02:00
  • fd234618f7 chore: add legacy system analysis files for reference TekH 2026-08-13 16:49:22 +02:00
  • f99bd8c399 fix(infrastructure): change IImapEmailService registration from Singleton to Scoped to support scoped DbContext dependency TekH 2026-08-13 16:49:10 +02:00
  • c0bd391297 refactor(infrastructure): resolve IImapEmailService per-iteration from scoped DI in EmailSyncWorker; add structured logging and per-account error handling TekH 2026-08-13 16:48:59 +02:00
  • cda70c8ced feat(infrastructure): replace DateFilter-based sync with IMemoryCache last-sync tracking in LimilabsImapEmailService; add CacheExtensions helper; return EmailSyncResult with processed/failed counts TekH 2026-08-13 16:48:47 +02:00
  • 578ecc7ba1 refactor(infrastructure): rename CreateAsync bulk overload to CreateRangeAsync and use AsNoTracking in ReceivedEmailRepository TekH 2026-08-13 16:48:34 +02:00
  • 6abe0e18f6 feat(application): add EmailSyncResult DTO, Folder/AccountId to ReceivedEmailDto, rename CreateRangeAsync in IRepository, update IImapEmailService signature, add AutoMapper profiles for ReceivedEmail and EmailAttachment TekH 2026-08-13 16:48:22 +02:00
  • c9b7d99ecc feat(domain): add Folder property and change To/Cc to List<string> in ReceivedEmail TekH 2026-08-13 16:48:06 +02:00
  • 4964fa4344 Refactor IMAP service for repository integration TekH 2026-08-13 14:18:43 +02:00
  • 7207c5b4d9 Refactor email repository and query handling TekH 2026-08-13 13:28:19 +02:00
  • 7f04c4b09f Rename IMailRepository and add FindAsync method TekH 2026-08-13 13:18:37 +02:00
  • 43d7c393bb Refactor Repository to use protected DbSet field TekH 2026-08-13 13:17:43 +02:00
  • e73bead2f2 Refactor email fetching to use IMailRepository TekH 2026-08-13 13:11:18 +02:00
  • 606ff94a77 Rename FetchEmailsQuery to ReadEmailQuery TekH 2026-08-13 12:09:44 +02:00
  • 1c9af0e560 Remove caching from LimilabsImapEmailService TekH 2026-08-13 12:07:20 +02:00
  • 86a07e5017 feat(api): handle BadRequestException as HTTP 400 and add EmailAccountController TekH 2026-08-13 11:58:25 +02:00
  • 25d0c009ee refactor(infrastructure): migrate EmailSyncWorker to DB-backed account source with upsert seed TekH 2026-08-13 11:58:12 +02:00
  • 14180860d3 refactor(application): replace ISender dispatch with direct IRepository usage in email handlers TekH 2026-08-13 11:57:57 +02:00
  • 50eaefb868 refactor(application): replace GetSenderQuery with GetEmailAccountQuery and add EmailAccountModificationCommand TekH 2026-08-13 11:57:39 +02:00
  • 84da5cb646 feat(application): add EmailAccount DTOs and Modification value object TekH 2026-08-13 11:57:25 +02:00
  • 25b55ef651 feat(domain): add BadRequestException for invalid request errors TekH 2026-08-13 11:57:12 +02:00
  • 8b4d1e48f5 Add EmailAccountSyncWorker and configure EmailAccount entity TekH 2026-08-13 09:37:39 +02:00
  • 893addb45d Add AutoMapper profile for entity self-mappings TekH 2026-08-13 09:37:14 +02:00
  • 00ae8e1ba0 Add bulk create and upsert methods to repository TekH 2026-08-13 09:36:48 +02:00
  • 5c37b2ef92 Add EF Core In-Memory DB and repository pattern support TekH 2026-08-12 16:18:35 +02:00
  • be28a61d9c Add email domain entities and .NET Framework support TekH 2026-08-12 16:08:29 +02:00
  • b2857c558f Refactor: Replace EmailAccountDto with EmailAccount TekH 2026-08-12 15:26:15 +02:00
  • 91581649ba Refactor namespaces and remove Abstraction project TekH 2026-08-12 15:13:15 +02:00
  • 4dd0974c6f Add multi-targeting support for .NET frameworks TekH 2026-08-12 14:40:47 +02:00
  • 5e0de6d52a Refactor email services and update password handling TekH 2026-08-12 14:24:17 +02:00
  • 176e6dd6c5 Refactor: Replace EmailAttachmentContext with DTO TekH 2026-08-12 14:17:24 +02:00
  • 48796d9917 Refactor email filtering logic in LimilabsImapEmailService TekH 2026-08-12 13:41:35 +02:00
  • f6ada2ad9e Refactor LimilabsImapEmailService for clarity and efficiency TekH 2026-08-12 13:01:49 +02:00
  • 7b5596f3e5 Refactor email fetching methods in Limilabs service TekH 2026-08-12 12:45:52 +02:00
  • 5d3997b7e1 Remove MarkAsSeen endpoint from EmailController TekH 2026-08-12 12:43:31 +02:00
  • cb3b2e09ab Refactor email fetching logic in EmailController TekH 2026-08-12 12:42:15 +02:00
  • 118612206e Refactor IMAP initialization with OpenAsync helper TekH 2026-08-12 12:33:52 +02:00
  • a446162afa Add EmailSyncWorker and enhance IMAP service with caching TekH 2026-08-12 11:48:29 +02:00
  • f521683608 /s TekH 2026-08-12 10:04:48 +02:00
  • f3761e96d9 refactor(imap): remove connection pool, revert to per-call Imap, add batch flags fetch TekH 2026-08-11 15:52:17 +02:00
  • e840d026aa feat(imap): add markAsSeen option to fetch queries and interface TekH 2026-08-11 15:51:57 +02:00
  • 962cb52e0b Enhance EmailController with new endpoint and improvements TekH 2026-08-11 10:03:22 +02:00
  • 1162a07454 Add FetchEmailByUid endpoint and improve middleware TekH 2026-08-11 09:48:22 +02:00
  • 59e8780345 Add FetchEmailUidsQuery and its handler for IMAP UIDs TekH 2026-08-11 09:46:26 +02:00
  • 5ff38391d0 Add FetchEmailByUidQuery with handler and validation TekH 2026-08-11 09:45:21 +02:00
  • 1fb7dcf98a Add methods for fetching email UIDs and emails by UID TekH 2026-08-11 09:42:04 +02:00
  • ee279c407b Remove HasAttachments filter; enhance FetchEmails response TekH 2026-08-10 14:22:45 +02:00
  • 74ec00ddd3 Refactor attachment handling in email fetching TekH 2026-08-10 12:05:27 +02:00
  • 763ba67d34 Add support for optional email attachments fetching TekH 2026-08-10 11:54:35 +02:00
  • 8e2e9af451 Refactor email search with new filter models TekH 2026-08-07 14:52:28 +02:00
  • 53ba40b316 Refactor IMAP email fetching to use SearchFilter TekH 2026-08-07 13:25:13 +02:00
  • 52a416f6d9 Refactor FetchEmailsQuery and improve UID handling TekH 2026-08-07 12:51:32 +02:00
  • 79db1c3a69 Refactor email query and controller endpoints TekH 2026-08-07 12:43:41 +02:00
  • 18c5dca9f4 Rename EmailsController to EmailController TekH 2026-08-07 11:50:48 +02:00
  • c47d78112c Add IMAP support for email fetching and marking as seen TekH 2026-08-07 11:48:12 +02:00
  • 20de7da93d Rename SendEmailCommand to PublishEmailCommand TekH 2026-08-06 12:07:39 +02:00
  • 2e69fac250 Add support for email attachments in SendEmailCommand TekH 2026-08-05 17:14:44 +02:00
  • 890c32f1c8 Add support for email attachments in messaging service TekH 2026-08-05 16:00:55 +02:00
  • fa9b4973b9 Introduce RabbitMQ consumer pool for parallel processing TekH 2026-08-05 15:34:33 +02:00
  • bd31bfe528 Add Serilog configuration to appsettings.Development.json TekH 2026-08-05 15:33:56 +02:00
  • dbf78653b4 Refactor project structure and improve security TekH 2026-08-05 15:33:38 +02:00
  • 28f7a3607a Update EmailContext mapping to ignore Sender property TekH 2026-08-05 14:34:20 +02:00
  • 42b30d4ac4 Refactor SendEmailAsync to use EmailContext object TekH 2026-08-05 14:14:27 +02:00
  • 3cd8841e80 Refactor Email to EmailContext across codebase TekH 2026-08-05 14:06:41 +02:00
  • c6e67c0f99 Refactor email handling for improved structure TekH 2026-08-05 13:59:54 +02:00
  • 66afdefbd8 refactor: rename OutgoingEmail files to SendingEmail TekH 2026-08-05 13:29:53 +02:00
  • 58ad50b96b Refactor: Rename OutgoingEmail to SendingEmail TekH 2026-08-05 13:26:21 +02:00
  • e550db8789 Update project references with PrivateAssets TekH 2026-08-05 13:23:18 +02:00
  • 601fd9be5f Refactor: Consolidate Publisher.Abstraction into Abstraction TekH 2026-08-05 13:16:03 +02:00
  • 0d9d15032f Refactor email handling for multiple recipients TekH 2026-08-05 13:11:19 +02:00
  • e47333cd1d Support multiple email recipients in email-sending flow TekH 2026-08-05 13:02:57 +02:00
  • 740bb8c313 Refactor email account handling for dynamic resolution TekH 2026-08-05 12:32:08 +02:00
  • 7fa3c4888a Refactor repository namespaces for better organization TekH 2026-08-05 11:06:42 +02:00