feat(calendar): add domain field and test-connection button to Exchange sources
- Prisma: domain String? added to CalendarSource model (db push applied) - DTOs: domain in CreateCalendarSourceDto, UpdateCalendarSourceDto, new TestCalendarSourceConfigDto - Service: domain in SOURCE_SAFE_SELECT, addSource, updateSource; new testConnectionFromConfig method - Controller: POST /calendar/sources/test-config (before :id routes to avoid collision) - ExchangeProvider: domain in all source interfaces; passed as 3rd arg to EWS WebCredentials - Frontend: domain in CalendarSource/CreateSourcePayload/UpdateSourcePayload; testSourceConfig API fn - Form: domain field (Exchange-only), "Test connection" button with idle/loading/success/error states - i18n: de+en keys for formFieldDomain, formFieldDomainHint, formTestConnection, formTesting, formTestSuccess, formTestFailed Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -40,6 +40,7 @@ model User {
|
||||
updatedAt DateTime @updatedAt
|
||||
lastLoginAt DateTime?
|
||||
avatarPath String?
|
||||
accentColor String?
|
||||
passwordResetTokens PasswordResetToken[]
|
||||
|
||||
@@index([tenantId])
|
||||
@@ -156,6 +157,7 @@ model CalendarSource {
|
||||
name String
|
||||
type String // 'caldav' | 'ics' | 'exchange'
|
||||
exchangeMode String? // 'ews' | 'graph' — only for exchange type
|
||||
domain String? // Exchange EWS only: Windows domain (e.g. COMPANY)
|
||||
url String
|
||||
username String?
|
||||
encryptedPassword String? // AES-256-GCM ciphertext (iv:authTag:ciphertext hex)
|
||||
|
||||
Reference in New Issue
Block a user