@masterteam/system-settings 0.0.11 → 0.0.13

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.11",
3
+ "version": "0.0.13",
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.231",
23
- "@masterteam/icons": "^0.0.17"
22
+ "@masterteam/components": "^0.0.274",
23
+ "@masterteam/icons": "^0.0.17",
24
+ "@masterteam/forms": "^0.0.141"
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
  /**
@@ -140,7 +134,6 @@ interface SystemSettingsSnapshot {
140
134
  timezone: TimezoneSettingValue;
141
135
  currency: CurrencySettingValue;
142
136
  weekend: WeekendSettingValue;
143
- smtp: SmtpSettingValue;
144
137
  timeSheetPolicy: TimeSheetPolicySettingValue;
145
138
  globalWorkingHours: GlobalWorkingHoursSettingValue;
146
139
  }
@@ -160,13 +153,6 @@ type SystemSettingsForm = FormGroup<{
160
153
  weekend: FormGroup<{
161
154
  days: FormControl<number[]>;
162
155
  }>;
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
156
  timeSheetPolicy: FormGroup<{
171
157
  frequency: FormControl<TimeSheetFrequency | null>;
172
158
  maxDailyHours: FormControl<number | null>;
@@ -323,13 +309,6 @@ declare class SystemSettings implements OnInit {
323
309
  weekend: Partial<{
324
310
  days: number[];
325
311
  }>;
326
- smtp: Partial<{
327
- mail: string;
328
- name: string;
329
- password: string;
330
- host: string;
331
- port: string;
332
- }>;
333
312
  timeSheetPolicy: Partial<{
334
313
  frequency: TimeSheetFrequency | null;
335
314
  maxDailyHours: number | null;
@@ -361,13 +340,6 @@ declare class SystemSettings implements OnInit {
361
340
  weekend: {
362
341
  days: number[];
363
342
  };
364
- smtp: {
365
- mail: string;
366
- name: string;
367
- password: string;
368
- host: string;
369
- port: string;
370
- };
371
343
  timeSheetPolicy: {
372
344
  frequency: TimeSheetFrequency | null;
373
345
  maxDailyHours: number | null;
@@ -394,7 +366,6 @@ declare class SystemSettings implements OnInit {
394
366
  readonly timezoneSetting: _angular_core.Signal<SystemSetting | null>;
395
367
  readonly currencySetting: _angular_core.Signal<SystemSetting | null>;
396
368
  readonly weekendSetting: _angular_core.Signal<SystemSetting | null>;
397
- readonly smtpSetting: _angular_core.Signal<SystemSetting | null>;
398
369
  readonly timeSheetPolicySetting: _angular_core.Signal<SystemSetting | null>;
399
370
  readonly globalWorkingHoursSetting: _angular_core.Signal<SystemSetting | null>;
400
371
  readonly resolvedFormatSchema: _angular_core.Signal<SystemSettingsFormatSchema>;
@@ -441,7 +412,6 @@ declare class SystemSettings implements OnInit {
441
412
  private getIdentityRecord;
442
413
  private buildGeneralConfigurationValue;
443
414
  private buildWeekendValue;
444
- private buildSmtpValue;
445
415
  private buildTimeSheetPolicyValue;
446
416
  private buildGlobalWorkingHoursValue;
447
417
  private findSettingByKey;
@@ -450,7 +420,6 @@ declare class SystemSettings implements OnInit {
450
420
  private extractTimezoneValue;
451
421
  private extractCurrencyValue;
452
422
  private extractWeekendValue;
453
- private extractSmtpValue;
454
423
  private extractTimeSheetPolicyValue;
455
424
  private extractGlobalWorkingHoursValue;
456
425
  private normalizeHolidayItem;
@@ -460,13 +429,11 @@ declare class SystemSettings implements OnInit {
460
429
  private normalizeTimezoneSnapshot;
461
430
  private normalizeCurrencySnapshot;
462
431
  private normalizeWeekendSnapshot;
463
- private normalizeSmtpSnapshot;
464
432
  private normalizeTimeSheetPolicySnapshot;
465
433
  private normalizeGlobalWorkingHoursSnapshot;
466
434
  private createFallbackSetting;
467
435
  private getDefaultTimezoneValue;
468
436
  private getDefaultCurrencyValue;
469
- private getDefaultSmtpValue;
470
437
  private getDefaultTimeSheetPolicyValue;
471
438
  private getDefaultGlobalWorkingHoursValue;
472
439
  private resolveCurrencyCode;
@@ -508,5 +475,358 @@ declare class SystemSettingsHolidayEditor {
508
475
  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
476
  }
510
477
 
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 };
478
+ declare const EMAIL_DELIVERY_PERMISSIONS: {
479
+ readonly controlPanel: "CONTROL_PANEL";
480
+ };
481
+ type EmailDeliveryPermission = (typeof EMAIL_DELIVERY_PERMISSIONS)[keyof typeof EMAIL_DELIVERY_PERMISSIONS];
482
+ interface EmailDeliveryOptions {
483
+ apiBasePath: string;
484
+ notificationApiBasePath: string;
485
+ permissionKeys: readonly string[];
486
+ }
487
+ interface EmailProviderAuthenticationModeDescriptor {
488
+ key: string;
489
+ displayName: string;
490
+ requiredPermissionKeys: string[];
491
+ requiresInteractiveAuthorization: boolean;
492
+ requiresAdministratorConsent: boolean;
493
+ }
494
+ interface EmailProviderFieldDescriptor {
495
+ key: string;
496
+ displayName: string;
497
+ dataType: string;
498
+ maximumLength: number;
499
+ required: boolean;
500
+ isSecret: boolean;
501
+ authenticationModes: string[];
502
+ storageClass: string;
503
+ allowedValues: string[] | null;
504
+ editableAfterAuthorization: boolean;
505
+ changeRevokesAuthorization: boolean;
506
+ defaultValue: string | null;
507
+ }
508
+ interface EmailProviderActionDescriptor {
509
+ key: string;
510
+ displayName: string;
511
+ authenticationModes: string[];
512
+ authorizationModels: string[] | null;
513
+ isInteractive: boolean;
514
+ isExecutable: boolean;
515
+ }
516
+ interface EmailProviderDescriptor {
517
+ key: string;
518
+ displayName: string;
519
+ category: string;
520
+ authenticationModes: EmailProviderAuthenticationModeDescriptor[];
521
+ fields: EmailProviderFieldDescriptor[];
522
+ capabilities: string;
523
+ warnings: string[];
524
+ contractVersion: number;
525
+ actions: EmailProviderActionDescriptor[] | null;
526
+ }
527
+ interface EmailErrorCatalogEntry {
528
+ code: string;
529
+ category: string;
530
+ httpStatus: number;
531
+ retryable: boolean;
532
+ readinessImpact: string;
533
+ frontendAction: string;
534
+ auditClassification: string;
535
+ }
536
+ interface EmailDeliveryProblem {
537
+ code: string;
538
+ category: string;
539
+ retryable: boolean;
540
+ action: string;
541
+ readinessImpact: string;
542
+ correlationId: string;
543
+ retryAfterSeconds: number | null;
544
+ }
545
+ interface EmailDeliveryStatus {
546
+ enabled: boolean;
547
+ configurationMode: string;
548
+ managementEnabled: boolean;
549
+ purpose: string;
550
+ isReady: boolean;
551
+ code: string;
552
+ contractVersion: number;
553
+ }
554
+ interface EmailConnectionSummary {
555
+ id: string;
556
+ name: string;
557
+ providerKey: string;
558
+ authenticationMode: string;
559
+ senderAddress: string;
560
+ state: string;
561
+ bindings: string[];
562
+ lastValidationCode: string | null;
563
+ lastValidatedAtUtc: string | null;
564
+ concurrencyToken: string;
565
+ }
566
+ interface EmailConnectionRecord {
567
+ id: string;
568
+ scope: {
569
+ value: string;
570
+ };
571
+ name: string;
572
+ providerKey: string;
573
+ authenticationMode: string;
574
+ senderAddress: string;
575
+ senderDisplayName: string | null;
576
+ publicConfiguration: Record<string, string>;
577
+ state: string;
578
+ lastValidationCode: string | null;
579
+ lastValidatedAtUtc: string | null;
580
+ lastSuccessfulSendAtUtc: string | null;
581
+ concurrencyToken: string;
582
+ version: number;
583
+ lastSuccessfulTestAtUtc: string | null;
584
+ lastSuccessfulTestFingerprint: string | null;
585
+ }
586
+ interface EmailCredentialStatus {
587
+ key: string;
588
+ configured: boolean;
589
+ storageKind: string;
590
+ lastRotatedAtUtc: string | null;
591
+ fingerprint: string | null;
592
+ }
593
+ interface EmailConnectionDetails {
594
+ connection: EmailConnectionRecord;
595
+ bindings: string[];
596
+ credentials: EmailCredentialStatus[];
597
+ authorizationState: string | null;
598
+ verifiedProviderUserId: string | null;
599
+ verifiedAuthorizedMailbox: string | null;
600
+ }
601
+ type EmailCredentialOperation = 'omitted' | 'replace' | 'clear';
602
+ type EmailCredentialStorageKind = 'protected-value' | 'external-reference';
603
+ interface EmailCredentialMutation {
604
+ key: string;
605
+ operation: EmailCredentialOperation;
606
+ storageKind: EmailCredentialStorageKind;
607
+ value: string | null;
608
+ externalReference: string | null;
609
+ }
610
+ interface EmailConnectionCreateRequest {
611
+ name: string;
612
+ providerKey: string;
613
+ authenticationMode: string;
614
+ senderAddress: string;
615
+ senderDisplayName: string | null;
616
+ publicConfiguration: Record<string, string>;
617
+ credentials: EmailCredentialMutation[];
618
+ }
619
+ interface EmailConnectionUpdateRequest extends EmailConnectionCreateRequest {
620
+ concurrencyToken: string;
621
+ }
622
+ interface EmailConnectionValidationResult {
623
+ isValid: boolean;
624
+ code: string;
625
+ requiresReauthorization: boolean;
626
+ diagnostics: EmailSafeDiagnostic[] | null;
627
+ }
628
+ interface EmailSafeDiagnostic {
629
+ code: string;
630
+ safeValue: string | null;
631
+ }
632
+ interface EmailConnectionTestRequest {
633
+ testRequestId: string;
634
+ recipients: string[];
635
+ subject: string;
636
+ body: string;
637
+ isHtml: boolean;
638
+ }
639
+ interface EmailSendResult {
640
+ outcome: string;
641
+ providerKey: string;
642
+ code: string;
643
+ canRetrySafely: boolean;
644
+ retryAfter: string | null;
645
+ providerRequestId: string | null;
646
+ providerMessageId: string | null;
647
+ diagnostics: EmailSafeDiagnostic[] | null;
648
+ readinessUpdated: boolean | null;
649
+ readinessCode: string | null;
650
+ }
651
+ interface EmailConnectionTestResult {
652
+ testRequestId: string;
653
+ connectionId: string;
654
+ requestState: string;
655
+ result: EmailSendResult | null;
656
+ }
657
+ interface EmailAuthorizationStartResult {
658
+ authorizationUrl: string;
659
+ expiresAtUtc: string;
660
+ code: string;
661
+ }
662
+ interface EmailDeliveryAttempt {
663
+ id: string;
664
+ operationKey: string;
665
+ correlationId: string;
666
+ scope: {
667
+ value: string;
668
+ };
669
+ purpose: {
670
+ value: string;
671
+ };
672
+ templateId: number;
673
+ recipientFingerprint: string;
674
+ status: string;
675
+ attemptCount: number;
676
+ outcome: string | null;
677
+ resultCode: string | null;
678
+ providerRequestId: string | null;
679
+ canRetrySafely: boolean | null;
680
+ providerRetryAfterUtc: string | null;
681
+ providerInvocationStarted: boolean;
682
+ nextAttemptAtUtc: string | null;
683
+ leaseId: string | null;
684
+ leaseExpiresAtUtc: string | null;
685
+ createdAtUtc: string;
686
+ updatedAtUtc: string;
687
+ concurrencyToken: string;
688
+ invocationSequence: number;
689
+ providerResultCapturedAtUtc: string | null;
690
+ resultReconciliationUntilUtc: string | null;
691
+ outcomeInferred: boolean;
692
+ replayGeneration: number;
693
+ operationKind: string;
694
+ hostWorkReference: {
695
+ hostKey: string;
696
+ workId: string;
697
+ sourceId: string | null;
698
+ } | null;
699
+ rescheduleSequence: number;
700
+ testRequestId: string | null;
701
+ providerKey: string | null;
702
+ providerMessageId: string | null;
703
+ diagnostics: EmailSafeDiagnostic[] | null;
704
+ providerRetryAfterSeconds: number | null;
705
+ hasQuarantinedResultEvidence: boolean;
706
+ quarantinedResultItemId: string | null;
707
+ resultQuarantinedAtUtc: string | null;
708
+ resultQuarantineErrorCode: string | null;
709
+ acknowledgedResultItemId: string | null;
710
+ resultAcknowledgedAtUtc: string | null;
711
+ }
712
+ interface EmailAttemptPage {
713
+ items: EmailDeliveryAttempt[];
714
+ nextCursor: string | null;
715
+ }
716
+ interface EmailAttemptReplayRequest {
717
+ concurrencyToken: string;
718
+ exceptionalOverride: boolean;
719
+ reason: string | null;
720
+ }
721
+ interface EmailAttemptReplayResult {
722
+ attempt: EmailDeliveryAttempt;
723
+ workSchedulingState: string;
724
+ auditState: string;
725
+ workCommandId: string;
726
+ auditCommandId: string;
727
+ }
728
+ interface EmailFinalizationQuarantineItem {
729
+ itemId: string;
730
+ attemptId: string | null;
731
+ leaseId: string | null;
732
+ invocationSequence: number | null;
733
+ capturedAtUtc: string;
734
+ quarantinedAtUtc: string;
735
+ schemaVersion: number | null;
736
+ errorCode: string;
737
+ recoveryClassification: string;
738
+ scope: string | null;
739
+ purpose: string | null;
740
+ cursor: string | null;
741
+ evidenceOccurrenceId: string | null;
742
+ }
743
+ interface EmailFinalizationQuarantinePage {
744
+ items: EmailFinalizationQuarantineItem[];
745
+ hasMore: boolean;
746
+ nextCursor: string | null;
747
+ }
748
+ interface EmailHostEvidenceItem {
749
+ itemId: string;
750
+ evidenceKind: string;
751
+ errorCode: string;
752
+ detectedAtUtc: string;
753
+ attemptId: string | null;
754
+ scope: string | null;
755
+ purpose: string | null;
756
+ canRepair: boolean;
757
+ canExport: boolean;
758
+ leaseId: string | null;
759
+ invocationSequence: number | null;
760
+ resolutionState: string;
761
+ reconciliationAttempts: number;
762
+ lastReconciliationAtUtc: string | null;
763
+ cursor: string | null;
764
+ ownershipState: string | null;
765
+ storedScope: string | null;
766
+ storedPurpose: string | null;
767
+ storedLeaseId: string | null;
768
+ storedInvocationSequence: number | null;
769
+ storedStatus: string | null;
770
+ storedQuarantinedItemId: string | null;
771
+ evidenceOccurrenceId: string | null;
772
+ decisionToken: string | null;
773
+ }
774
+ interface EmailHostEvidencePage {
775
+ items: EmailHostEvidenceItem[];
776
+ hasMore: boolean;
777
+ nextCursor: string | null;
778
+ scanBudgetExhausted: boolean;
779
+ }
780
+ interface EmailEvidenceDecisionRequest {
781
+ reason: string;
782
+ decisionToken: string;
783
+ }
784
+ interface EmailEvidenceRebuildResult {
785
+ scanBudget: number;
786
+ pendingBefore: number;
787
+ pendingAfter: number;
788
+ corruptBefore: number;
789
+ corruptAfter: number;
790
+ completedAtUtc: string;
791
+ }
792
+ interface EmailEvidenceDownload {
793
+ blob: Blob;
794
+ fileName: string;
795
+ contentType: string;
796
+ }
797
+ interface EmailUserTestDispatchResult {
798
+ testRequestId: string;
799
+ results: EmailSendResult[];
800
+ completions: Array<{
801
+ status: string;
802
+ owningWorkShouldRetry: boolean;
803
+ retryAfter: string | null;
804
+ code: string;
805
+ }> | null;
806
+ auditState: string;
807
+ auditCode: string | null;
808
+ requestState: string;
809
+ expectedRecipientCount: number | null;
810
+ allAccepted: boolean;
811
+ }
812
+ interface AppResponse<T> {
813
+ endpoint: string;
814
+ status: number;
815
+ code: number;
816
+ locale: string;
817
+ message: string | null;
818
+ errors: unknown | null;
819
+ data: T;
820
+ cacheSession: string | null;
821
+ correlationId: string | null;
822
+ }
823
+ declare const EMAIL_DELIVERY_ATTEMPT_STATUSES: readonly ["Reserved", "ProviderInvocationStarted", "ProviderInvocationDefinitivelyNotAccepted", "ProviderResultReconciliation", "ProviderResultPending", "Blocked", "RetryScheduled", "Accepted", "OutcomeUnknown", "FailedPermanent", "DeadLettered"];
824
+
825
+ declare const DEFAULT_EMAIL_DELIVERY_OPTIONS: EmailDeliveryOptions;
826
+ declare const EMAIL_DELIVERY_OPTIONS: InjectionToken<EmailDeliveryOptions>;
827
+ declare function provideEmailDelivery(options?: Partial<EmailDeliveryOptions>): EnvironmentProviders;
828
+
829
+ declare const EMAIL_DELIVERY_ROUTES: Routes;
830
+
831
+ 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 };
832
+ 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 };