oip-common 0.7.1 → 0.9.0

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/index.d.ts CHANGED
@@ -126,6 +126,11 @@ declare class LayoutService {
126
126
  timeZone: i0.Signal<string>;
127
127
  adminMode: i0.Signal<boolean>;
128
128
  transitionComplete: i0.WritableSignal<boolean>;
129
+ /**
130
+ * Controls the visibility of the layout footer.
131
+ * Modules can hide the footer to free up vertical space for full-screen content.
132
+ */
133
+ footerVisible: i0.WritableSignal<boolean>;
129
134
  private initialized;
130
135
  constructor();
131
136
  /**
@@ -393,6 +398,11 @@ declare abstract class BaseModuleComponent<TBackendStoreSettings, TLocalStoreSet
393
398
  private static readonly editRight;
394
399
  private static readonly deleteRight;
395
400
  protected isInitialized: boolean;
401
+ /**
402
+ * Set to true in a descendant to hide the layout footer while the module is active.
403
+ * The footer is restored when the module is destroyed.
404
+ */
405
+ protected hideFooter: boolean;
396
406
  protected moduleInstanceReloadPromise: Promise<void>;
397
407
  protected rightsSubscription?: Subscription;
398
408
  protected securityRoles: string[];
@@ -519,12 +529,13 @@ declare abstract class BaseModuleComponent<TBackendStoreSettings, TLocalStoreSet
519
529
  /**
520
530
  * Lifecycle hook that is called when a component is destroyed.
521
531
  * Unsubscribes from all subscriptions to prevent memory leaks,
522
- * resets the top bar items to an empty array, and sets the active ID
523
- * to the ID of the first top bar item (if available).
532
+ * restores the layout footer, resets the top bar items to an empty array,
533
+ * and sets the active ID to the ID of the first top bar item (if available).
524
534
  */
525
535
  ngOnDestroy(): void;
526
536
  /**
527
- * Initializes the component. Subscribes to translation service to set captions for top bar items,
537
+ * Initializes the component. Applies the footer visibility declared by the module,
538
+ * subscribes to translation service to set captions for top bar items,
528
539
  * sets the top bar items via the top bar service, sets the active ID,
529
540
  * subscribes to route parameters to get the ID, and retrieves settings.
530
541
  * @return {Promise<void>} A promise that resolves when the initialization is complete.
@@ -717,6 +728,10 @@ declare class FooterComponent {
717
728
  static ɵcmp: i0.ɵɵComponentDeclaration<FooterComponent, "app-footer", never, {}, {}, never, never, true, never>;
718
729
  }
719
730
 
731
+ declare enum DefaultSecretFindingKind {
732
+ ShippedDefault = "ShippedDefault",
733
+ Missing = "Missing"
734
+ }
720
735
  interface AddModuleInstanceDto {
721
736
  moduleId?: number;
722
737
  label?: string | null;
@@ -735,6 +750,17 @@ interface AuthSessionResponse {
735
750
  email?: string | null;
736
751
  roles?: string[] | null;
737
752
  }
753
+ interface DefaultSecretFindingResponse {
754
+ configKey?: string | null;
755
+ kind?: DefaultSecretFindingKind;
756
+ environmentVariable?: string | null;
757
+ }
758
+ interface DefaultSecretsReportResponse {
759
+ hasFindings?: boolean;
760
+ checkedCount?: number;
761
+ showBanner?: boolean;
762
+ findings?: DefaultSecretFindingResponse[] | null;
763
+ }
738
764
  interface EditModuleInstanceDto {
739
765
  moduleInstanceId?: number;
740
766
  label?: string | null;
@@ -1632,6 +1658,31 @@ declare class NoModulesComponent {
1632
1658
  static ɵcmp: i0.ɵɵComponentDeclaration<NoModulesComponent, "app-no-modules", never, {}, {}, never, never, true, never>;
1633
1659
  }
1634
1660
 
1661
+ /**
1662
+ * Administrator banner listing the secret settings that still hold a value shipped with the repository.
1663
+ *
1664
+ * The report comes from the same cached validator that feeds the startup log and the `default-secrets`
1665
+ * health check, so the three never disagree. Only administrators see it - the endpoint is admin-only.
1666
+ *
1667
+ * Whether the banner is raised at all is decided by the server through `showBanner`: findings are reported in
1668
+ * every environment, but the banner appears only in Production. Set `ASPNETCORE_ENVIRONMENT=Production` to see
1669
+ * it locally.
1670
+ */
1671
+ declare class DefaultSecretsBannerComponent implements OnInit {
1672
+ private readonly translations;
1673
+ private readonly securityApi;
1674
+ private readonly securityService;
1675
+ private readonly destroyRef;
1676
+ protected readonly report: i0.WritableSignal<DefaultSecretsReportResponse>;
1677
+ protected readonly expanded: i0.WritableSignal<boolean>;
1678
+ ngOnInit(): void;
1679
+ protected kindLabel(finding: DefaultSecretFindingResponse): string;
1680
+ protected dismiss(): void;
1681
+ private load;
1682
+ static ɵfac: i0.ɵɵFactoryDeclaration<DefaultSecretsBannerComponent, never>;
1683
+ static ɵcmp: i0.ɵɵComponentDeclaration<DefaultSecretsBannerComponent, "default-secrets-banner", never, {}, {}, never, never, true, never>;
1684
+ }
1685
+
1635
1686
  /**
1636
1687
  * A route guard that ensures the user is authenticated and has a valid access token.
1637
1688
  * If the access token is expired, it attempts to refresh the session.
@@ -1919,6 +1970,7 @@ declare class SecurityApi<SecurityDataType = unknown> extends HttpClient<Securit
1919
1970
  deleteAuthSession: (params?: RequestParams) => Promise<any>;
1920
1971
  getAuthCsrfToken: (params?: RequestParams) => Promise<AuthCsrfTokenResponse>;
1921
1972
  getRealmRoles: (params?: RequestParams) => Promise<string[]>;
1973
+ getDefaultSecretsReport: (params?: RequestParams) => Promise<DefaultSecretsReportResponse>;
1922
1974
  static ɵfac: i0.ɵɵFactoryDeclaration<SecurityApi<any>, never>;
1923
1975
  static ɵprov: i0.ɵɵInjectableDeclaration<SecurityApi<any>>;
1924
1976
  }
@@ -2153,5 +2205,5 @@ interface OipRoutesOptions {
2153
2205
  */
2154
2206
  declare function provideOipRoutes(options?: OipRoutesOptions): Routes;
2155
2207
 
2156
- export { APP_INFO_TOKEN, APP_THEME_PRESETS, APP_THEME_PRESETS_MERGE_MODE, AccessComponent, AppConfiguratorComponent, AppFloatingConfiguratorComponent, AppInfoService, AppLayoutComponent, AppModulesComponent, AppTopbar, AppTopbarApplicationSwitcherComponent, ApplicationRegistryService, ApplicationsApi, ApplicationsComponent, AuthGuardService, BaseModuleComponent, BffSecurityService, BlockLoaderComponent, ConfigComponent, ContentType, CustomElementExtensionModuleHostComponent, DbMigrationComponent, DiscussionComponent, ErrorComponent, ExtensionLoaderService, ExtensionModuleHostComponent, FolderModuleApi, FooterComponent, HttpClient, IframeModuleApi, IframeModuleComponent, L10nService, LOGO_COMPONENT_TOKEN, LayoutService, LogoComponent, LogoService, MenuComponent, MenuService, ModuleInstanceRightsService, ModuleLoadingService, MsgService, NoModulesComponent, NotfoundComponent, NotificationApi, NotificationService, OIP_EXTENSION_EVENTS, SecurityApi, SecurityComponent, SecurityService, SidebarComponent, StartPageService, TableFilterService, TopBarService, UnauthorizedComponent, UserNotificationsComponent, UserProfileApi, UserProfileComponent, UserService, convertToPrimeNgDateFormat, defaultTheme, emitOipContextChange, emitOipError, emitOipNavigate, emitOipNotify, emitOipSettingsChange, emitOipTitleChange, langIntercept, mergeWithDefaults, moduleAccessGuard, oipAccessRoute, oipApplicationsRoute, oipAuthGuard, oipConfigRoute, oipDbMigrationRoute, oipDiscussionRoute, oipErrorRoute, oipExtensionsRoute, oipIframeModuleRoute, oipModulesRoute, oipNoModulesRoute, oipProfileRoute, oipStartRedirectGuard, oipStartRoute, provideAppInfo, provideAppThemes, provideLogoComponent, provideOip, provideOipRoutes, provideTranslations, replaceDefaults };
2208
+ export { APP_INFO_TOKEN, APP_THEME_PRESETS, APP_THEME_PRESETS_MERGE_MODE, AccessComponent, AppConfiguratorComponent, AppFloatingConfiguratorComponent, AppInfoService, AppLayoutComponent, AppModulesComponent, AppTopbar, AppTopbarApplicationSwitcherComponent, ApplicationRegistryService, ApplicationsApi, ApplicationsComponent, AuthGuardService, BaseModuleComponent, BffSecurityService, BlockLoaderComponent, ConfigComponent, ContentType, CustomElementExtensionModuleHostComponent, DbMigrationComponent, DefaultSecretsBannerComponent, DiscussionComponent, ErrorComponent, ExtensionLoaderService, ExtensionModuleHostComponent, FolderModuleApi, FooterComponent, HttpClient, IframeModuleApi, IframeModuleComponent, L10nService, LOGO_COMPONENT_TOKEN, LayoutService, LogoComponent, LogoService, MenuComponent, MenuService, ModuleInstanceRightsService, ModuleLoadingService, MsgService, NoModulesComponent, NotfoundComponent, NotificationApi, NotificationService, OIP_EXTENSION_EVENTS, SecurityApi, SecurityComponent, SecurityService, SidebarComponent, StartPageService, TableFilterService, TopBarService, UnauthorizedComponent, UserNotificationsComponent, UserProfileApi, UserProfileComponent, UserService, convertToPrimeNgDateFormat, defaultTheme, emitOipContextChange, emitOipError, emitOipNavigate, emitOipNotify, emitOipSettingsChange, emitOipTitleChange, langIntercept, mergeWithDefaults, moduleAccessGuard, oipAccessRoute, oipApplicationsRoute, oipAuthGuard, oipConfigRoute, oipDbMigrationRoute, oipDiscussionRoute, oipErrorRoute, oipExtensionsRoute, oipIframeModuleRoute, oipModulesRoute, oipNoModulesRoute, oipProfileRoute, oipStartRedirectGuard, oipStartRoute, provideAppInfo, provideAppThemes, provideLogoComponent, provideOip, provideOipRoutes, provideTranslations, replaceDefaults };
2157
2209
  export type { AppConfig, AppInfo, AppInfoValue, AppThemePreset, AppThemePresetLoader, AppThemePresetMergeMode, AuthCsrfToken, LanguageDto, MenuChangeEvent, ModuleAccessRouteData, NoSettingsDto, OipExtensionHostContext, OipExtensionLoadType, OipExtensionManifest, OipExtensionModuleMetadata, OipExtensionNavigateEvent, OipExtensionNotifyEvent, OipRouteFeatures, OipRouteToggle, OipRoutesOptions, PutSecurityDto, RequestParams, SecurityDto, StartRouteData, TopBarDto };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oip-common",
3
- "version": "0.7.1",
3
+ "version": "0.9.0",
4
4
  "description": "A template for cross-platform web applications based on sakai-ng and primeNG",
5
5
  "main": "index.js",
6
6
  "keywords": [