@noatgnu/cupcake-core 1.3.14 → 1.3.16

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
@@ -1,7 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { InjectionToken, OnDestroy, OnInit, ModuleWithProviders } from '@angular/core';
3
3
  import * as rxjs from 'rxjs';
4
- import { Observable, Subject, BehaviorSubject } from 'rxjs';
4
+ import { Observable, BehaviorSubject, Subject } from 'rxjs';
5
5
  import * as i3 from '@angular/common/http';
6
6
  import { HttpClient, HttpParams, HttpInterceptorFn, HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';
7
7
  import * as _noatgnu_cupcake_core from '@noatgnu/cupcake-core';
@@ -165,6 +165,7 @@ interface User {
165
165
  lastLogin?: string;
166
166
  hasOrcid: boolean;
167
167
  orcidId?: string;
168
+ orcidName?: string;
168
169
  }
169
170
  interface UserCreateRequest {
170
171
  username: string;
@@ -685,6 +686,14 @@ interface MetadataValidationRequest {
685
686
  metadataTableId: number;
686
687
  validateSdrfFormat?: boolean;
687
688
  includePools?: boolean;
689
+ schemaNames?: string[];
690
+ skipOntology?: boolean;
691
+ }
692
+ interface ValidationSchema {
693
+ name: string;
694
+ displayName: string;
695
+ description: string;
696
+ columnCount: number;
688
697
  }
689
698
  interface MetadataValidationConfig {
690
699
  metadataTableId: number;
@@ -761,6 +770,8 @@ interface AuthResponse {
761
770
  }
762
771
  interface AuthStatus {
763
772
  authenticated: boolean;
773
+ orcidLoginEnabled?: boolean;
774
+ registrationEnabled?: boolean;
764
775
  user?: User;
765
776
  }
766
777
  declare class AuthService {
@@ -777,10 +788,11 @@ declare class AuthService {
777
788
  private isTokenExpired;
778
789
  private convertUserFromSnakeToCamel;
779
790
  getUserFromToken(): User | null;
780
- initiateORCIDLogin(): Observable<{
791
+ initiateORCIDLogin(rememberMe?: boolean): Observable<{
781
792
  authorizationUrl: string;
782
793
  state: string;
783
794
  }>;
795
+ exchangeAuthCode(authCode: string): Observable<AuthResponse>;
784
796
  handleORCIDCallback(code: string, state: string, rememberMe?: boolean): Observable<AuthResponse>;
785
797
  exchangeORCIDToken(accessToken: string, orcidId: string, rememberMe?: boolean): Observable<AuthResponse>;
786
798
  login(username: string, password: string, rememberMe?: boolean): Observable<AuthResponse>;
@@ -791,6 +803,7 @@ declare class AuthService {
791
803
  isAuthenticated(): boolean;
792
804
  getAccessToken(): string | null;
793
805
  getRefreshToken(): string | null;
806
+ handleExternalLogin(response: AuthResponse): void;
794
807
  private setAuthData;
795
808
  tryRefreshToken(): Observable<{
796
809
  access: string;
@@ -839,7 +852,7 @@ declare class ApiService {
839
852
  */
840
853
  delete<T>(url: string, options?: any): Observable<T>;
841
854
  getUserProfile(): Observable<{
842
- user: any;
855
+ user: User;
843
856
  }>;
844
857
  getSiteConfig(): Observable<SiteConfig[]>;
845
858
  updateSiteConfig(id: number, config: Partial<SiteConfig>): Observable<SiteConfig>;
@@ -1156,7 +1169,7 @@ declare class NotificationService {
1156
1169
  declare class SiteConfigService extends BaseApiService {
1157
1170
  private demoModeService;
1158
1171
  private readonly defaultConfig;
1159
- private configSubject;
1172
+ configSubject: BehaviorSubject<SiteConfig>;
1160
1173
  config$: Observable<SiteConfig>;
1161
1174
  constructor(demoModeService: DemoModeService);
1162
1175
  private startPeriodicRefresh;
@@ -1483,6 +1496,8 @@ declare class LoginComponent implements OnInit {
1483
1496
  constructor();
1484
1497
  private returnUrl;
1485
1498
  ngOnInit(): void;
1499
+ private handleHashParams;
1500
+ private cleanHashParams;
1486
1501
  /**
1487
1502
  * Navigate to return URL, properly handling query parameters
1488
1503
  */
@@ -1666,6 +1681,7 @@ declare class LabGroupsComponent implements OnInit {
1666
1681
  selectedGroup: _angular_core.WritableSignal<LabGroup | null>;
1667
1682
  groupMembers: _angular_core.WritableSignal<LabGroupMember[]>;
1668
1683
  pendingInvitations: _angular_core.WritableSignal<LabGroupInvitation[]>;
1684
+ myPendingInvitations: _angular_core.WritableSignal<LabGroupInvitation[]>;
1669
1685
  showCreateForm: _angular_core.WritableSignal<boolean>;
1670
1686
  showInviteForm: _angular_core.WritableSignal<boolean>;
1671
1687
  selectedGroupForMembers: _angular_core.WritableSignal<LabGroup | null>;
@@ -1674,6 +1690,7 @@ declare class LabGroupsComponent implements OnInit {
1674
1690
  memberPageSize: _angular_core.WritableSignal<number>;
1675
1691
  directMembersOnly: _angular_core.WritableSignal<boolean>;
1676
1692
  hasLabGroups: _angular_core.Signal<boolean>;
1693
+ hasMyPendingInvitations: _angular_core.Signal<boolean>;
1677
1694
  showPagination: _angular_core.Signal<boolean>;
1678
1695
  totalPages: _angular_core.Signal<number>;
1679
1696
  hasSearchValue: _angular_core.Signal<boolean>;
@@ -1690,6 +1707,9 @@ declare class LabGroupsComponent implements OnInit {
1690
1707
  constructor();
1691
1708
  ngOnInit(): void;
1692
1709
  private loadInitialData;
1710
+ private loadMyPendingInvitations;
1711
+ acceptMyInvitation(invitationId: number): void;
1712
+ rejectMyInvitation(invitationId: number): void;
1693
1713
  private setupSearch;
1694
1714
  private loadLabGroupsWithParams;
1695
1715
  onPageChange(page: number): void;
@@ -1721,7 +1741,7 @@ declare class UserProfileComponent implements OnInit {
1721
1741
  profileForm: FormGroup;
1722
1742
  passwordForm: FormGroup;
1723
1743
  emailChangeForm: FormGroup;
1724
- activeTab: _angular_core.WritableSignal<"password" | "email" | "profile" | "account">;
1744
+ activeTab: _angular_core.WritableSignal<"profile" | "password" | "email" | "account">;
1725
1745
  isUpdatingProfile: _angular_core.WritableSignal<boolean>;
1726
1746
  isChangingPassword: _angular_core.WritableSignal<boolean>;
1727
1747
  isChangingEmail: _angular_core.WritableSignal<boolean>;
@@ -1851,4 +1871,4 @@ declare class CupcakeCoreModule {
1851
1871
  }
1852
1872
 
1853
1873
  export { AdminWebSocketService, AnnotationType, ApiService, AsyncTaskMonitorService, AuthService, BaseApiService, CUPCAKE_CORE_CONFIG, CupcakeCoreModule, DemoModeBannerComponent, DemoModeInterceptor, DemoModeService, InvitationStatus, InvitationStatusLabels, LabGroupService, LabGroupsComponent, LoginComponent, NotificationService, PoweredByFooterComponent, RegisterComponent, ResourceRole, ResourceRoleLabels, ResourceService, ResourceType, ResourceTypeLabels, ResourceVisibility, ResourceVisibilityLabels, SiteConfigComponent, SiteConfigService, TASK_STATUS_COLORS, TASK_STATUS_LABELS, TASK_TYPE_LABELS, TaskStatus, TaskType, ThemeService, ToastContainerComponent, ToastService, UserManagementComponent, UserManagementService, UserProfileComponent, WEBSOCKET_ENDPOINT, WEBSOCKET_ENDPOINTS, WebSocketConfigService, WebSocketEndpoints, WebSocketService, adminGuard, authGuard, authInterceptor, resetRefreshState };
1854
- export type { AccountMergeRequest, AdminPasswordResetRequest, Annotation, AnnotationCreateRequest, AnnotationFolder, AnnotationFolderCreateRequest, AnnotationFolderUpdateRequest, AnnotationUpdateRequest, ApiResponse, AsyncTaskCreateResponse, AsyncTaskQueryParams, AsyncTaskStatus, AsyncTaskUpdateNotification, AuthConfig, AuthResponse, AuthStatus, BaseNotification, BaseResource, BaseTimestampedModel, BulkExcelExportRequest, BulkExportRequest, BulkPermissionRequest, ChunkedImportRequest, ConnectionEstablishedNotification, CupcakeCoreConfig, DemoModeInfo, DownloadUrlResponse, EmailChangeConfirmRequest, EmailChangeConfirmResponse, EmailChangeRequest, InvitationResponseRequest, LabGroup, LabGroupCreateRequest, LabGroupInvitation, LabGroupInvitationCreateRequest, LabGroupInvitationQueryParams, LabGroupInvitationQueryResponse, LabGroupInviteRequest, LabGroupMember, LabGroupPathItem, LabGroupPermission, LabGroupPermissionCreateRequest, LabGroupPermissionQueryParams, LabGroupPermissionQueryResponse, LabGroupPermissionUpdateRequest, LabGroupQueryParams, LabGroupQueryResponse, LabGroupUpdateNotification, LabGroupUpdateRequest, MetadataExportRequest, MetadataImportRequest, MetadataTableUpdateNotification, MetadataValidationConfig, MetadataValidationRequest, NotificationAction, NotificationItem, PaginatedResponse, PasswordChangeRequest, PasswordChangeResponse, PasswordResetConfirmRequest, PasswordResetRequest, QueueStats, RegistrationStatus, RemoteHost, RemoteHostCreateRequest, RemoteHostUpdateRequest, ResourcePermission, ResourcePermissionCreateRequest, ResourcePermissionUpdateRequest, ResourceQueryParams, SiteConfig, SiteConfigUpdateRequest, SystemNotification, TaskListItem, TaskResult, Theme, ToastMessage, TranscriptionCompletedNotification, TranscriptionFailedNotification, TranscriptionStartedNotification, UIFeatures, User, UserCreateRequest, UserListResponse, UserOrcidProfile, UserProfileUpdateRequest, UserRegistrationRequest, UserResponse, WebSocketConfig, WebSocketEndpointConfig, WebSocketMessage, WebSocketNotification, Worker, WorkerCurrentJob, WorkerStatusResponse };
1874
+ export type { AccountMergeRequest, AdminPasswordResetRequest, Annotation, AnnotationCreateRequest, AnnotationFolder, AnnotationFolderCreateRequest, AnnotationFolderUpdateRequest, AnnotationUpdateRequest, ApiResponse, AsyncTaskCreateResponse, AsyncTaskQueryParams, AsyncTaskStatus, AsyncTaskUpdateNotification, AuthConfig, AuthResponse, AuthStatus, BaseNotification, BaseResource, BaseTimestampedModel, BulkExcelExportRequest, BulkExportRequest, BulkPermissionRequest, ChunkedImportRequest, ConnectionEstablishedNotification, CupcakeCoreConfig, DemoModeInfo, DownloadUrlResponse, EmailChangeConfirmRequest, EmailChangeConfirmResponse, EmailChangeRequest, InvitationResponseRequest, LabGroup, LabGroupCreateRequest, LabGroupInvitation, LabGroupInvitationCreateRequest, LabGroupInvitationQueryParams, LabGroupInvitationQueryResponse, LabGroupInviteRequest, LabGroupMember, LabGroupPathItem, LabGroupPermission, LabGroupPermissionCreateRequest, LabGroupPermissionQueryParams, LabGroupPermissionQueryResponse, LabGroupPermissionUpdateRequest, LabGroupQueryParams, LabGroupQueryResponse, LabGroupUpdateNotification, LabGroupUpdateRequest, MetadataExportRequest, MetadataImportRequest, MetadataTableUpdateNotification, MetadataValidationConfig, MetadataValidationRequest, NotificationAction, NotificationItem, PaginatedResponse, PasswordChangeRequest, PasswordChangeResponse, PasswordResetConfirmRequest, PasswordResetRequest, QueueStats, RegistrationStatus, RemoteHost, RemoteHostCreateRequest, RemoteHostUpdateRequest, ResourcePermission, ResourcePermissionCreateRequest, ResourcePermissionUpdateRequest, ResourceQueryParams, SiteConfig, SiteConfigUpdateRequest, SystemNotification, TaskListItem, TaskResult, Theme, ToastMessage, TranscriptionCompletedNotification, TranscriptionFailedNotification, TranscriptionStartedNotification, UIFeatures, User, UserCreateRequest, UserListResponse, UserOrcidProfile, UserProfileUpdateRequest, UserRegistrationRequest, UserResponse, ValidationSchema, WebSocketConfig, WebSocketEndpointConfig, WebSocketMessage, WebSocketNotification, Worker, WorkerCurrentJob, WorkerStatusResponse };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noatgnu/cupcake-core",
3
- "version": "1.3.14",
3
+ "version": "1.3.16",
4
4
  "description": "A reusable Angular library that provides user management, authentication, and site configuration functionality for cupcake applications.",
5
5
  "keywords": [
6
6
  "angular",
@@ -12,6 +12,7 @@
12
12
 
13
13
  // Override Bootstrap primary colors with CSS custom properties
14
14
  .btn-primary {
15
+ --bs-btn-color: var(--cupcake-primary-contrast);
15
16
  --bs-btn-bg: var(--cupcake-primary);
16
17
  --bs-btn-border-color: var(--cupcake-primary);
17
18
  --bs-btn-hover-bg: var(--cupcake-primary-dark);
@@ -11,6 +11,7 @@
11
11
  --cupcake-primary-rgb: 25, 118, 210;
12
12
  --cupcake-primary-dark: #1565c0;
13
13
  --cupcake-primary-light: #42a5f5;
14
+ --cupcake-primary-contrast: #ffffff;
14
15
 
15
16
  // Secondary Colors
16
17
  --cupcake-secondary: #424242;