@masterteam/system-settings 0.0.12 → 0.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@masterteam/system-settings",
3
- "version": "0.0.12",
3
+ "version": "0.0.14",
4
4
  "publishConfig": {
5
5
  "directory": "../../../dist/masterteam/system-settings",
6
6
  "linkDirectory": false,
@@ -19,8 +19,9 @@
19
19
  "rxjs": "^7.8.2",
20
20
  "tailwindcss": "^4.2.2",
21
21
  "tailwindcss-primeui": "^0.6.1",
22
- "@masterteam/components": "^0.0.256",
23
- "@masterteam/icons": "^0.0.17"
22
+ "@masterteam/forms": "^0.0.141",
23
+ "@masterteam/icons": "^0.0.17",
24
+ "@masterteam/components": "^0.0.274"
24
25
  },
25
26
  "sideEffects": false,
26
27
  "exports": {
@@ -1,9 +1,10 @@
1
1
  import * as _angular_forms from '@angular/forms';
2
2
  import { FormGroup, FormControl } from '@angular/forms';
3
3
  import * as _angular_core from '@angular/core';
4
- import { OnInit } from '@angular/core';
4
+ import { OnInit, InjectionToken, EnvironmentProviders } from '@angular/core';
5
5
  import { DatePicker } from 'primeng/datepicker';
6
6
  import { ModalService } from '@masterteam/components/modal';
7
+ import { Routes } from '@angular/router';
7
8
 
8
9
  type SystemSettingPrimitive = string | number | boolean | null;
9
10
  type SystemSettingObject = Record<string, unknown>;
@@ -69,13 +70,6 @@ interface CurrencySettingValue extends SystemSettingObject {
69
70
  interface WeekendSettingValue extends SystemSettingObject {
70
71
  days: number[];
71
72
  }
72
- interface SmtpSettingValue extends SystemSettingObject {
73
- mail: string;
74
- name: string;
75
- password: string;
76
- host: string;
77
- port: number | null;
78
- }
79
73
  /** The landing view the app-client explore page opens with. */
80
74
  type ExploreDefaultView = 'cards' | 'timeline';
81
75
  /**
@@ -87,6 +81,12 @@ type ExploreDefaultView = 'cards' | 'timeline';
87
81
  */
88
82
  interface GeneralConfigurationSettingValue extends SystemSettingObject {
89
83
  defaultExploreView: ExploreDefaultView;
84
+ /**
85
+ * Whether the topbar design switcher (Classic / experimental Masterteam DS)
86
+ * is offered to users. Off by default — the DS identity is still a beta, so
87
+ * a tenant stays on the classic look until an admin opts it in.
88
+ */
89
+ showDesignSwitcher: boolean;
90
90
  }
91
91
  /** The settings record General Configuration fields live in. */
92
92
  declare const GENERAL_CONFIGURATION_SETTING_KEY = "Identity";
@@ -140,13 +140,13 @@ interface SystemSettingsSnapshot {
140
140
  timezone: TimezoneSettingValue;
141
141
  currency: CurrencySettingValue;
142
142
  weekend: WeekendSettingValue;
143
- smtp: SmtpSettingValue;
144
143
  timeSheetPolicy: TimeSheetPolicySettingValue;
145
144
  globalWorkingHours: GlobalWorkingHoursSettingValue;
146
145
  }
147
146
  type SystemSettingsForm = FormGroup<{
148
147
  generalConfiguration: FormGroup<{
149
148
  defaultExploreView: FormControl<ExploreDefaultView>;
149
+ showDesignSwitcher: FormControl<boolean>;
150
150
  }>;
151
151
  timezone: FormGroup<{
152
152
  regionId: FormControl<string | null>;
@@ -160,13 +160,6 @@ type SystemSettingsForm = FormGroup<{
160
160
  weekend: FormGroup<{
161
161
  days: FormControl<number[]>;
162
162
  }>;
163
- smtp: FormGroup<{
164
- mail: FormControl<string>;
165
- name: FormControl<string>;
166
- password: FormControl<string>;
167
- host: FormControl<string>;
168
- port: FormControl<string>;
169
- }>;
170
163
  timeSheetPolicy: FormGroup<{
171
164
  frequency: FormControl<TimeSheetFrequency | null>;
172
165
  maxDailyHours: FormControl<number | null>;
@@ -310,6 +303,7 @@ declare class SystemSettings implements OnInit {
310
303
  readonly formValue: _angular_core.Signal<Partial<{
311
304
  generalConfiguration: Partial<{
312
305
  defaultExploreView: ExploreDefaultView;
306
+ showDesignSwitcher: boolean;
313
307
  }>;
314
308
  timezone: Partial<{
315
309
  regionId: string | null;
@@ -323,13 +317,6 @@ declare class SystemSettings implements OnInit {
323
317
  weekend: Partial<{
324
318
  days: number[];
325
319
  }>;
326
- smtp: Partial<{
327
- mail: string;
328
- name: string;
329
- password: string;
330
- host: string;
331
- port: string;
332
- }>;
333
320
  timeSheetPolicy: Partial<{
334
321
  frequency: TimeSheetFrequency | null;
335
322
  maxDailyHours: number | null;
@@ -348,6 +335,7 @@ declare class SystemSettings implements OnInit {
348
335
  }> | {
349
336
  generalConfiguration: {
350
337
  defaultExploreView: ExploreDefaultView;
338
+ showDesignSwitcher: boolean;
351
339
  };
352
340
  timezone: {
353
341
  regionId: string | null;
@@ -361,13 +349,6 @@ declare class SystemSettings implements OnInit {
361
349
  weekend: {
362
350
  days: number[];
363
351
  };
364
- smtp: {
365
- mail: string;
366
- name: string;
367
- password: string;
368
- host: string;
369
- port: string;
370
- };
371
352
  timeSheetPolicy: {
372
353
  frequency: TimeSheetFrequency | null;
373
354
  maxDailyHours: number | null;
@@ -394,7 +375,6 @@ declare class SystemSettings implements OnInit {
394
375
  readonly timezoneSetting: _angular_core.Signal<SystemSetting | null>;
395
376
  readonly currencySetting: _angular_core.Signal<SystemSetting | null>;
396
377
  readonly weekendSetting: _angular_core.Signal<SystemSetting | null>;
397
- readonly smtpSetting: _angular_core.Signal<SystemSetting | null>;
398
378
  readonly timeSheetPolicySetting: _angular_core.Signal<SystemSetting | null>;
399
379
  readonly globalWorkingHoursSetting: _angular_core.Signal<SystemSetting | null>;
400
380
  readonly resolvedFormatSchema: _angular_core.Signal<SystemSettingsFormatSchema>;
@@ -441,7 +421,6 @@ declare class SystemSettings implements OnInit {
441
421
  private getIdentityRecord;
442
422
  private buildGeneralConfigurationValue;
443
423
  private buildWeekendValue;
444
- private buildSmtpValue;
445
424
  private buildTimeSheetPolicyValue;
446
425
  private buildGlobalWorkingHoursValue;
447
426
  private findSettingByKey;
@@ -450,7 +429,6 @@ declare class SystemSettings implements OnInit {
450
429
  private extractTimezoneValue;
451
430
  private extractCurrencyValue;
452
431
  private extractWeekendValue;
453
- private extractSmtpValue;
454
432
  private extractTimeSheetPolicyValue;
455
433
  private extractGlobalWorkingHoursValue;
456
434
  private normalizeHolidayItem;
@@ -460,13 +438,11 @@ declare class SystemSettings implements OnInit {
460
438
  private normalizeTimezoneSnapshot;
461
439
  private normalizeCurrencySnapshot;
462
440
  private normalizeWeekendSnapshot;
463
- private normalizeSmtpSnapshot;
464
441
  private normalizeTimeSheetPolicySnapshot;
465
442
  private normalizeGlobalWorkingHoursSnapshot;
466
443
  private createFallbackSetting;
467
444
  private getDefaultTimezoneValue;
468
445
  private getDefaultCurrencyValue;
469
- private getDefaultSmtpValue;
470
446
  private getDefaultTimeSheetPolicyValue;
471
447
  private getDefaultGlobalWorkingHoursValue;
472
448
  private resolveCurrencyCode;
@@ -508,5 +484,358 @@ declare class SystemSettingsHolidayEditor {
508
484
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SystemSettingsHolidayEditor, "mt-system-settings-holiday-editor", never, { "holiday": { "alias": "holiday"; "required": false; "isSignal": true; }; "isEditMode": { "alias": "isEditMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
509
485
  }
510
486
 
511
- export { DEFAULT_DATE_FORMAT_OPTIONS, DEFAULT_GENERAL_CONFIGURATION, DEFAULT_TIME_FORMAT_OPTIONS, DOTNET_DAY_DEFINITIONS, EXPLORE_DEFAULT_VIEW_OPTIONS, FIXED_CURRENCIES, GENERAL_CONFIGURATION_SETTING_KEY, RATE_SOURCE_OPTIONS, SCHEDULE_ITEM_TYPE_OPTIONS, SystemSettings, SystemSettingsHolidayEditor, TIMESHEET_FREQUENCY_OPTIONS, WEEKEND_DAY_DEFINITIONS };
512
- export type { ApiResponse, CurrencyCatalogItem, CurrencySettingValue, CurrencyUnitLabel, ExploreDefaultView, FormatSchemaOption, GeneralConfigurationSettingValue, GlobalWorkingHoursSettingValue, HolidayItem, HolidayTableRow, HolidaysSettingValue, IconSelectOption, ScheduleItemTypeOption, SelectOption, SmtpSettingValue, SystemSetting, SystemSettingObject, SystemSettingPrimitive, SystemSettingValue, SystemSettingsForm, SystemSettingsFormatSchema, SystemSettingsSnapshot, TimeSheetFrequency, TimeSheetPolicySettingValue, TimezoneRegionOption, TimezoneSettingValue, UpdateSystemSettingItem, WeekendDayOption, WeekendSettingValue };
487
+ declare const EMAIL_DELIVERY_PERMISSIONS: {
488
+ readonly controlPanel: "CONTROL_PANEL";
489
+ };
490
+ type EmailDeliveryPermission = (typeof EMAIL_DELIVERY_PERMISSIONS)[keyof typeof EMAIL_DELIVERY_PERMISSIONS];
491
+ interface EmailDeliveryOptions {
492
+ apiBasePath: string;
493
+ notificationApiBasePath: string;
494
+ permissionKeys: readonly string[];
495
+ }
496
+ interface EmailProviderAuthenticationModeDescriptor {
497
+ key: string;
498
+ displayName: string;
499
+ requiredPermissionKeys: string[];
500
+ requiresInteractiveAuthorization: boolean;
501
+ requiresAdministratorConsent: boolean;
502
+ }
503
+ interface EmailProviderFieldDescriptor {
504
+ key: string;
505
+ displayName: string;
506
+ dataType: string;
507
+ maximumLength: number;
508
+ required: boolean;
509
+ isSecret: boolean;
510
+ authenticationModes: string[];
511
+ storageClass: string;
512
+ allowedValues: string[] | null;
513
+ editableAfterAuthorization: boolean;
514
+ changeRevokesAuthorization: boolean;
515
+ defaultValue: string | null;
516
+ }
517
+ interface EmailProviderActionDescriptor {
518
+ key: string;
519
+ displayName: string;
520
+ authenticationModes: string[];
521
+ authorizationModels: string[] | null;
522
+ isInteractive: boolean;
523
+ isExecutable: boolean;
524
+ }
525
+ interface EmailProviderDescriptor {
526
+ key: string;
527
+ displayName: string;
528
+ category: string;
529
+ authenticationModes: EmailProviderAuthenticationModeDescriptor[];
530
+ fields: EmailProviderFieldDescriptor[];
531
+ capabilities: string;
532
+ warnings: string[];
533
+ contractVersion: number;
534
+ actions: EmailProviderActionDescriptor[] | null;
535
+ }
536
+ interface EmailErrorCatalogEntry {
537
+ code: string;
538
+ category: string;
539
+ httpStatus: number;
540
+ retryable: boolean;
541
+ readinessImpact: string;
542
+ frontendAction: string;
543
+ auditClassification: string;
544
+ }
545
+ interface EmailDeliveryProblem {
546
+ code: string;
547
+ category: string;
548
+ retryable: boolean;
549
+ action: string;
550
+ readinessImpact: string;
551
+ correlationId: string;
552
+ retryAfterSeconds: number | null;
553
+ }
554
+ interface EmailDeliveryStatus {
555
+ enabled: boolean;
556
+ configurationMode: string;
557
+ managementEnabled: boolean;
558
+ purpose: string;
559
+ isReady: boolean;
560
+ code: string;
561
+ contractVersion: number;
562
+ }
563
+ interface EmailConnectionSummary {
564
+ id: string;
565
+ name: string;
566
+ providerKey: string;
567
+ authenticationMode: string;
568
+ senderAddress: string;
569
+ state: string;
570
+ bindings: string[];
571
+ lastValidationCode: string | null;
572
+ lastValidatedAtUtc: string | null;
573
+ concurrencyToken: string;
574
+ }
575
+ interface EmailConnectionRecord {
576
+ id: string;
577
+ scope: {
578
+ value: string;
579
+ };
580
+ name: string;
581
+ providerKey: string;
582
+ authenticationMode: string;
583
+ senderAddress: string;
584
+ senderDisplayName: string | null;
585
+ publicConfiguration: Record<string, string>;
586
+ state: string;
587
+ lastValidationCode: string | null;
588
+ lastValidatedAtUtc: string | null;
589
+ lastSuccessfulSendAtUtc: string | null;
590
+ concurrencyToken: string;
591
+ version: number;
592
+ lastSuccessfulTestAtUtc: string | null;
593
+ lastSuccessfulTestFingerprint: string | null;
594
+ }
595
+ interface EmailCredentialStatus {
596
+ key: string;
597
+ configured: boolean;
598
+ storageKind: string;
599
+ lastRotatedAtUtc: string | null;
600
+ fingerprint: string | null;
601
+ }
602
+ interface EmailConnectionDetails {
603
+ connection: EmailConnectionRecord;
604
+ bindings: string[];
605
+ credentials: EmailCredentialStatus[];
606
+ authorizationState: string | null;
607
+ verifiedProviderUserId: string | null;
608
+ verifiedAuthorizedMailbox: string | null;
609
+ }
610
+ type EmailCredentialOperation = 'omitted' | 'replace' | 'clear';
611
+ type EmailCredentialStorageKind = 'protected-value' | 'external-reference';
612
+ interface EmailCredentialMutation {
613
+ key: string;
614
+ operation: EmailCredentialOperation;
615
+ storageKind: EmailCredentialStorageKind;
616
+ value: string | null;
617
+ externalReference: string | null;
618
+ }
619
+ interface EmailConnectionCreateRequest {
620
+ name: string;
621
+ providerKey: string;
622
+ authenticationMode: string;
623
+ senderAddress: string;
624
+ senderDisplayName: string | null;
625
+ publicConfiguration: Record<string, string>;
626
+ credentials: EmailCredentialMutation[];
627
+ }
628
+ interface EmailConnectionUpdateRequest extends EmailConnectionCreateRequest {
629
+ concurrencyToken: string;
630
+ }
631
+ interface EmailConnectionValidationResult {
632
+ isValid: boolean;
633
+ code: string;
634
+ requiresReauthorization: boolean;
635
+ diagnostics: EmailSafeDiagnostic[] | null;
636
+ }
637
+ interface EmailSafeDiagnostic {
638
+ code: string;
639
+ safeValue: string | null;
640
+ }
641
+ interface EmailConnectionTestRequest {
642
+ testRequestId: string;
643
+ recipients: string[];
644
+ subject: string;
645
+ body: string;
646
+ isHtml: boolean;
647
+ }
648
+ interface EmailSendResult {
649
+ outcome: string;
650
+ providerKey: string;
651
+ code: string;
652
+ canRetrySafely: boolean;
653
+ retryAfter: string | null;
654
+ providerRequestId: string | null;
655
+ providerMessageId: string | null;
656
+ diagnostics: EmailSafeDiagnostic[] | null;
657
+ readinessUpdated: boolean | null;
658
+ readinessCode: string | null;
659
+ }
660
+ interface EmailConnectionTestResult {
661
+ testRequestId: string;
662
+ connectionId: string;
663
+ requestState: string;
664
+ result: EmailSendResult | null;
665
+ }
666
+ interface EmailAuthorizationStartResult {
667
+ authorizationUrl: string;
668
+ expiresAtUtc: string;
669
+ code: string;
670
+ }
671
+ interface EmailDeliveryAttempt {
672
+ id: string;
673
+ operationKey: string;
674
+ correlationId: string;
675
+ scope: {
676
+ value: string;
677
+ };
678
+ purpose: {
679
+ value: string;
680
+ };
681
+ templateId: number;
682
+ recipientFingerprint: string;
683
+ status: string;
684
+ attemptCount: number;
685
+ outcome: string | null;
686
+ resultCode: string | null;
687
+ providerRequestId: string | null;
688
+ canRetrySafely: boolean | null;
689
+ providerRetryAfterUtc: string | null;
690
+ providerInvocationStarted: boolean;
691
+ nextAttemptAtUtc: string | null;
692
+ leaseId: string | null;
693
+ leaseExpiresAtUtc: string | null;
694
+ createdAtUtc: string;
695
+ updatedAtUtc: string;
696
+ concurrencyToken: string;
697
+ invocationSequence: number;
698
+ providerResultCapturedAtUtc: string | null;
699
+ resultReconciliationUntilUtc: string | null;
700
+ outcomeInferred: boolean;
701
+ replayGeneration: number;
702
+ operationKind: string;
703
+ hostWorkReference: {
704
+ hostKey: string;
705
+ workId: string;
706
+ sourceId: string | null;
707
+ } | null;
708
+ rescheduleSequence: number;
709
+ testRequestId: string | null;
710
+ providerKey: string | null;
711
+ providerMessageId: string | null;
712
+ diagnostics: EmailSafeDiagnostic[] | null;
713
+ providerRetryAfterSeconds: number | null;
714
+ hasQuarantinedResultEvidence: boolean;
715
+ quarantinedResultItemId: string | null;
716
+ resultQuarantinedAtUtc: string | null;
717
+ resultQuarantineErrorCode: string | null;
718
+ acknowledgedResultItemId: string | null;
719
+ resultAcknowledgedAtUtc: string | null;
720
+ }
721
+ interface EmailAttemptPage {
722
+ items: EmailDeliveryAttempt[];
723
+ nextCursor: string | null;
724
+ }
725
+ interface EmailAttemptReplayRequest {
726
+ concurrencyToken: string;
727
+ exceptionalOverride: boolean;
728
+ reason: string | null;
729
+ }
730
+ interface EmailAttemptReplayResult {
731
+ attempt: EmailDeliveryAttempt;
732
+ workSchedulingState: string;
733
+ auditState: string;
734
+ workCommandId: string;
735
+ auditCommandId: string;
736
+ }
737
+ interface EmailFinalizationQuarantineItem {
738
+ itemId: string;
739
+ attemptId: string | null;
740
+ leaseId: string | null;
741
+ invocationSequence: number | null;
742
+ capturedAtUtc: string;
743
+ quarantinedAtUtc: string;
744
+ schemaVersion: number | null;
745
+ errorCode: string;
746
+ recoveryClassification: string;
747
+ scope: string | null;
748
+ purpose: string | null;
749
+ cursor: string | null;
750
+ evidenceOccurrenceId: string | null;
751
+ }
752
+ interface EmailFinalizationQuarantinePage {
753
+ items: EmailFinalizationQuarantineItem[];
754
+ hasMore: boolean;
755
+ nextCursor: string | null;
756
+ }
757
+ interface EmailHostEvidenceItem {
758
+ itemId: string;
759
+ evidenceKind: string;
760
+ errorCode: string;
761
+ detectedAtUtc: string;
762
+ attemptId: string | null;
763
+ scope: string | null;
764
+ purpose: string | null;
765
+ canRepair: boolean;
766
+ canExport: boolean;
767
+ leaseId: string | null;
768
+ invocationSequence: number | null;
769
+ resolutionState: string;
770
+ reconciliationAttempts: number;
771
+ lastReconciliationAtUtc: string | null;
772
+ cursor: string | null;
773
+ ownershipState: string | null;
774
+ storedScope: string | null;
775
+ storedPurpose: string | null;
776
+ storedLeaseId: string | null;
777
+ storedInvocationSequence: number | null;
778
+ storedStatus: string | null;
779
+ storedQuarantinedItemId: string | null;
780
+ evidenceOccurrenceId: string | null;
781
+ decisionToken: string | null;
782
+ }
783
+ interface EmailHostEvidencePage {
784
+ items: EmailHostEvidenceItem[];
785
+ hasMore: boolean;
786
+ nextCursor: string | null;
787
+ scanBudgetExhausted: boolean;
788
+ }
789
+ interface EmailEvidenceDecisionRequest {
790
+ reason: string;
791
+ decisionToken: string;
792
+ }
793
+ interface EmailEvidenceRebuildResult {
794
+ scanBudget: number;
795
+ pendingBefore: number;
796
+ pendingAfter: number;
797
+ corruptBefore: number;
798
+ corruptAfter: number;
799
+ completedAtUtc: string;
800
+ }
801
+ interface EmailEvidenceDownload {
802
+ blob: Blob;
803
+ fileName: string;
804
+ contentType: string;
805
+ }
806
+ interface EmailUserTestDispatchResult {
807
+ testRequestId: string;
808
+ results: EmailSendResult[];
809
+ completions: Array<{
810
+ status: string;
811
+ owningWorkShouldRetry: boolean;
812
+ retryAfter: string | null;
813
+ code: string;
814
+ }> | null;
815
+ auditState: string;
816
+ auditCode: string | null;
817
+ requestState: string;
818
+ expectedRecipientCount: number | null;
819
+ allAccepted: boolean;
820
+ }
821
+ interface AppResponse<T> {
822
+ endpoint: string;
823
+ status: number;
824
+ code: number;
825
+ locale: string;
826
+ message: string | null;
827
+ errors: unknown | null;
828
+ data: T;
829
+ cacheSession: string | null;
830
+ correlationId: string | null;
831
+ }
832
+ declare const EMAIL_DELIVERY_ATTEMPT_STATUSES: readonly ["Reserved", "ProviderInvocationStarted", "ProviderInvocationDefinitivelyNotAccepted", "ProviderResultReconciliation", "ProviderResultPending", "Blocked", "RetryScheduled", "Accepted", "OutcomeUnknown", "FailedPermanent", "DeadLettered"];
833
+
834
+ declare const DEFAULT_EMAIL_DELIVERY_OPTIONS: EmailDeliveryOptions;
835
+ declare const EMAIL_DELIVERY_OPTIONS: InjectionToken<EmailDeliveryOptions>;
836
+ declare function provideEmailDelivery(options?: Partial<EmailDeliveryOptions>): EnvironmentProviders;
837
+
838
+ declare const EMAIL_DELIVERY_ROUTES: Routes;
839
+
840
+ export { DEFAULT_DATE_FORMAT_OPTIONS, DEFAULT_EMAIL_DELIVERY_OPTIONS, DEFAULT_GENERAL_CONFIGURATION, DEFAULT_TIME_FORMAT_OPTIONS, DOTNET_DAY_DEFINITIONS, EMAIL_DELIVERY_ATTEMPT_STATUSES, EMAIL_DELIVERY_OPTIONS, EMAIL_DELIVERY_PERMISSIONS, EMAIL_DELIVERY_ROUTES, EXPLORE_DEFAULT_VIEW_OPTIONS, FIXED_CURRENCIES, GENERAL_CONFIGURATION_SETTING_KEY, RATE_SOURCE_OPTIONS, SCHEDULE_ITEM_TYPE_OPTIONS, SystemSettings, SystemSettingsHolidayEditor, TIMESHEET_FREQUENCY_OPTIONS, WEEKEND_DAY_DEFINITIONS, provideEmailDelivery };
841
+ export type { ApiResponse, AppResponse, CurrencyCatalogItem, CurrencySettingValue, CurrencyUnitLabel, EmailAttemptPage, EmailAttemptReplayRequest, EmailAttemptReplayResult, EmailAuthorizationStartResult, EmailConnectionCreateRequest, EmailConnectionDetails, EmailConnectionRecord, EmailConnectionSummary, EmailConnectionTestRequest, EmailConnectionTestResult, EmailConnectionUpdateRequest, EmailConnectionValidationResult, EmailCredentialMutation, EmailCredentialOperation, EmailCredentialStatus, EmailCredentialStorageKind, EmailDeliveryAttempt, EmailDeliveryOptions, EmailDeliveryPermission, EmailDeliveryProblem, EmailDeliveryStatus, EmailErrorCatalogEntry, EmailEvidenceDecisionRequest, EmailEvidenceDownload, EmailEvidenceRebuildResult, EmailFinalizationQuarantineItem, EmailFinalizationQuarantinePage, EmailHostEvidenceItem, EmailHostEvidencePage, EmailProviderActionDescriptor, EmailProviderAuthenticationModeDescriptor, EmailProviderDescriptor, EmailProviderFieldDescriptor, EmailSafeDiagnostic, EmailSendResult, EmailUserTestDispatchResult, ExploreDefaultView, FormatSchemaOption, GeneralConfigurationSettingValue, GlobalWorkingHoursSettingValue, HolidayItem, HolidayTableRow, HolidaysSettingValue, IconSelectOption, ScheduleItemTypeOption, SelectOption, SystemSetting, SystemSettingObject, SystemSettingPrimitive, SystemSettingValue, SystemSettingsForm, SystemSettingsFormatSchema, SystemSettingsSnapshot, TimeSheetFrequency, TimeSheetPolicySettingValue, TimezoneRegionOption, TimezoneSettingValue, UpdateSystemSettingItem, WeekendDayOption, WeekendSettingValue };