993d9cfea0
refactor(api): inject IEmailSyncService into SyncController; change OAuth2 authorize route to username param; add Swagger UI metadata and description links
master
TekH2026-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
TekH2026-08-17 16:05:30 +02:00
c189a2d6ef
refactor(application): change GetOAuth2AuthorizationUrlQuery to look up account by Username instead of Id
TekH2026-08-17 16:05:16 +02:00
408ad14c9f
feat(application): add IEmailSyncService interface and ForcedSyncIntervalSeconds option to EmailAccountsOptions
TekH2026-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
TekH2026-08-17 15:06:51 +02:00
a9046e957b
feat(infrastructure): add TriggerSync to EmailSyncWorker for on-demand immediate sync; fix cancellation propagation after delay
TekH2026-08-17 15:06:24 +02:00
3ddd5e83a2
feat(infrastructure): register Google OAuth2 services and dispatcher; add Microsoft.Extensions.Http package reference
TekH2026-08-17 15:06:11 +02:00
6ff01b364c
refactor(infrastructure): add provider guard and tenant ID validation to MicrosoftOAuth2TokenService; improve XML docs
TekH2026-08-17 15:05:57 +02:00
bb9ff9c9ed
feat(infrastructure): add GoogleOAuth2TokenService, GoogleOAuth2AuthorizationService and OAuth2TokenServiceDispatcher
TekH2026-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
TekH2026-08-17 15:05:28 +02:00
c90040db67
feat(domain): add OAuth2Provider enum and OAuth2RefreshToken/OAuth2Provider fields to EmailAccount
TekH2026-08-17 15:04:41 +02:00
f0c698856d
refactor(infrastructure): dispatch EmailSyncWorker by IncomingProtocol, add POP3 sync path, use await using for scopes
TekH2026-08-17 10:48:56 +02:00
158b562007
feat(domain/application): add IncomingProtocol field to EmailAccount entity and account DTOs
TekH2026-08-17 10:48:45 +02:00
7782e86db3
feat(infrastructure): inject IServiceScopeFactory into consumer pool for scoped IMAP access and register new services (OAuth2, POP3)
TekH2026-08-17 10:15:52 +02:00
1d7f269fe1
feat(infrastructure): add OAuth2 auth support and SendAndAppend capability to LimilabsEmailService and LimilabsImapEmailService
TekH2026-08-17 10:15:38 +02:00
a13380016d
feat(infrastructure): implement MicrosoftOAuth2TokenService and LimilabsPop3EmailService
TekH2026-08-17 10:15:26 +02:00
822c7b1352
feat(application): register AutoMapper mappings for new commands and add SendAndAppend to IImapEmailService
TekH2026-08-17 10:15:13 +02:00
f7e95eb7f7
feat(application): add PublishEmailViaImap/OAuth2 commands and ReadEmailViaPop3/OAuth2 queries with handlers
TekH2026-08-17 10:14:59 +02:00
a57429718d
feat(application): extend DTOs with POP3/OAuth2 fields and add IMAP append flags to SendingEmailEvent
TekH2026-08-17 10:14:44 +02:00
ef8df96e65
feat(application): add IOAuth2TokenService and IPop3EmailService interfaces
TekH2026-08-17 10:14:31 +02:00
194ae11a40
feat(domain): add POP3 and OAuth2 credential fields to EmailAccount entity
TekH2026-08-17 10:14:18 +02:00
6c698c95be
Refactor ReadEmailQuery to return structured response
TekH2026-08-17 01:13:14 +02:00
fd234618f7
chore: add legacy system analysis files for reference
TekH2026-08-13 16:49:22 +02:00
f99bd8c399
fix(infrastructure): change IImapEmailService registration from Singleton to Scoped to support scoped DbContext dependency
TekH2026-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
TekH2026-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
TekH2026-08-13 16:48:47 +02:00
578ecc7ba1
refactor(infrastructure): rename CreateAsync bulk overload to CreateRangeAsync and use AsNoTracking in ReceivedEmailRepository
TekH2026-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
TekH2026-08-13 16:48:22 +02:00
c9b7d99ecc
feat(domain): add Folder property and change To/Cc to List<string> in ReceivedEmail
TekH2026-08-13 16:48:06 +02:00
4964fa4344
Refactor IMAP service for repository integration
TekH2026-08-13 14:18:43 +02:00
7207c5b4d9
Refactor email repository and query handling
TekH2026-08-13 13:28:19 +02:00
7f04c4b09f
Rename IMailRepository and add FindAsync method
TekH2026-08-13 13:18:37 +02:00
43d7c393bb
Refactor Repository to use protected DbSet field
TekH2026-08-13 13:17:43 +02:00
e73bead2f2
Refactor email fetching to use IMailRepository
TekH2026-08-13 13:11:18 +02:00
606ff94a77
Rename FetchEmailsQuery to ReadEmailQuery
TekH2026-08-13 12:09:44 +02:00
1c9af0e560
Remove caching from LimilabsImapEmailService
TekH2026-08-13 12:07:20 +02:00
86a07e5017
feat(api): handle BadRequestException as HTTP 400 and add EmailAccountController
TekH2026-08-13 11:58:25 +02:00
25d0c009ee
refactor(infrastructure): migrate EmailSyncWorker to DB-backed account source with upsert seed
TekH2026-08-13 11:58:12 +02:00
14180860d3
refactor(application): replace ISender dispatch with direct IRepository usage in email handlers
TekH2026-08-13 11:57:57 +02:00
50eaefb868
refactor(application): replace GetSenderQuery with GetEmailAccountQuery and add EmailAccountModificationCommand
TekH2026-08-13 11:57:39 +02:00
84da5cb646
feat(application): add EmailAccount DTOs and Modification value object
TekH2026-08-13 11:57:25 +02:00