verben-authentication-ui 0.2.7 → 0.3.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.
Files changed (32) hide show
  1. package/esm2022/lib/components/sign-in/sign-in.component.mjs +14 -4
  2. package/esm2022/lib/components/user-management/helper.mjs +6 -4
  3. package/esm2022/lib/components/user-management/user-management.columns.mjs +3 -3
  4. package/esm2022/lib/components/user-management/user-management.component.mjs +22 -18
  5. package/esm2022/lib/components/user-request-approval/access-request.columns.mjs +2 -2
  6. package/esm2022/lib/components/user-request-approval/facades/user-access-request.facade.mjs +23 -5
  7. package/esm2022/lib/components/user-request-approval/helper.mjs +5 -3
  8. package/esm2022/lib/components/user-request-approval/services/user-access-request.service.mjs +11 -1
  9. package/esm2022/lib/components/user-request-approval/states/user-access-request.state.mjs +2 -2
  10. package/esm2022/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.mjs +3 -3
  11. package/esm2022/lib/components/user-request-approval/user-request-approval.component.mjs +37 -51
  12. package/esm2022/lib/components/user-request-approval/user-request-approval.service.mjs +3 -21
  13. package/esm2022/lib/components/user-request-approval/user-request-form/use-request-form.component.mjs +12 -5
  14. package/esm2022/lib/models/paged.mjs +2 -0
  15. package/esm2022/lib/models/query-params.mjs +1 -1
  16. package/esm2022/lib/models/user-access-request-status.mjs +4 -4
  17. package/esm2022/lib/models/user-access-request.mjs +1 -1
  18. package/esm2022/lib/models/user.mjs +1 -1
  19. package/fesm2022/verben-authentication-ui.mjs +187 -163
  20. package/fesm2022/verben-authentication-ui.mjs.map +1 -1
  21. package/lib/components/sign-in/sign-in.component.d.ts +6 -2
  22. package/lib/components/user-request-approval/facades/user-access-request.facade.d.ts +3 -2
  23. package/lib/components/user-request-approval/services/user-access-request.service.d.ts +10 -2
  24. package/lib/components/user-request-approval/states/user-access-request.state.d.ts +3 -3
  25. package/lib/components/user-request-approval/user-request-approval.component.d.ts +5 -6
  26. package/lib/components/user-request-approval/user-request-form/use-request-form.component.d.ts +2 -1
  27. package/lib/models/paged.d.ts +9 -0
  28. package/lib/models/query-params.d.ts +2 -2
  29. package/lib/models/user-access-request-status.d.ts +3 -3
  30. package/lib/models/user-access-request.d.ts +2 -2
  31. package/lib/models/user.d.ts +3 -1
  32. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { EventEmitter } from '@angular/core';
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
2
  import { FormBuilder, FormGroup } from '@angular/forms';
3
3
  import { LoginData } from '../../models/log-in';
4
4
  import { HttpWebRequestService } from '../../services/http-web-request.service';
@@ -7,7 +7,7 @@ import { ErrorResponse } from '../../models/ErrorResponse';
7
7
  import { ResponseKeyValue } from '../../models/ResponseKeyValue';
8
8
  import { EnvironmentService } from '../../services/environment.service';
9
9
  import * as i0 from "@angular/core";
10
- export declare class SignInComponent {
10
+ export declare class SignInComponent implements OnInit {
11
11
  private fb;
12
12
  private server;
13
13
  private utilService;
@@ -48,10 +48,14 @@ export declare class SignInComponent {
48
48
  onSubmitEnd: EventEmitter<ResponseKeyValue | ErrorResponse>;
49
49
  googleClick: EventEmitter<any>;
50
50
  appleClick: EventEmitter<any>;
51
+ tenantDetails: any | null;
52
+ AuthMechanisms: {}[] | null;
51
53
  loginForm: FormGroup;
52
54
  apiKey: string;
53
55
  secret: string;
54
56
  constructor(fb: FormBuilder, server: HttpWebRequestService, utilService: UtilService, envSvc: EnvironmentService);
57
+ ngOnInit(): void;
58
+ getTenantConfig(): Promise<void>;
55
59
  checkForm(): boolean;
56
60
  submit(): Promise<void>;
57
61
  handleGoogleAuth(): void;
@@ -10,13 +10,14 @@ export declare class UserAccessRequestFacade {
10
10
  constructor(userAccessRequestService: UserAccessRequestService, userAccessRequestState: UserAccessRequestState);
11
11
  isUpdating$(): Observable<boolean>;
12
12
  getRequests$(): Observable<UserAccessRequest[]>;
13
- getQueryParams$(): Observable<QueryParams>;
13
+ getQueryParams$(): Observable<QueryParams<UserAccessRequest>>;
14
14
  loadRequests(): Promise<void>;
15
15
  loadRequestsWithParam(param: string): Promise<void>;
16
- updateQueryParams(params: Partial<QueryParams>): void;
16
+ updateQueryParams(params: Partial<QueryParams<UserAccessRequest>>): void;
17
17
  addRequest(request: Partial<UserAccessRequest>): Promise<void>;
18
18
  updateRequest(request: UserAccessRequest): Promise<void>;
19
19
  deleteRequest(requestId: string): Promise<void>;
20
+ approveRequest(request: UserAccessRequest): Promise<void>;
20
21
  static ɵfac: i0.ɵɵFactoryDeclaration<UserAccessRequestFacade, never>;
21
22
  static ɵprov: i0.ɵɵInjectableDeclaration<UserAccessRequestFacade>;
22
23
  }
@@ -1,6 +1,7 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { HttpWebRequestService } from '../../../services/http-web-request.service';
3
3
  import { UserAccessRequest } from '../../../models/user-access-request';
4
+ import { Paged } from '../../../models/paged';
4
5
  import * as i0 from "@angular/core";
5
6
  export declare class UserAccessRequestService {
6
7
  private httpService;
@@ -14,7 +15,7 @@ export declare class UserAccessRequestService {
14
15
  * @param sortOrder Sort order ('asc' or 'desc')
15
16
  * @returns Promise containing the user access requests
16
17
  */
17
- getUserAccessRequests(skip: number, limit: number, sortParam: string, sortOrder: string): Promise<UserAccessRequest[]>;
18
+ getUserAccessRequests(skip: number, limit: number, sortParam: string, sortOrder: string): Promise<Paged<UserAccessRequest>>;
18
19
  /**
19
20
  * Get user access requests with additional parameter, pagination and sorting
20
21
  * @param param Search parameter
@@ -24,13 +25,20 @@ export declare class UserAccessRequestService {
24
25
  * @param sortOrder Sort order ('asc' or 'desc')
25
26
  * @returns Promise containing the filtered user access requests
26
27
  */
27
- getUserAccessRequestWithParam(param: string, skip: number, limit: number, sortParam: string, sortOrder: string): Promise<UserAccessRequest[]>;
28
+ getUserAccessRequestWithParam(param: string, skip: number, limit: number, sortParam: string, sortOrder: string): Promise<Paged<UserAccessRequest>>;
28
29
  /**
29
30
  * Save multiple user access requests
30
31
  * @param requests Array of user access requests to save
31
32
  * @returns Promise containing the save operation result
32
33
  */
33
34
  saveUserAccessRequests(requests: UserAccessRequest[]): Promise<any>;
35
+ /**
36
+ * Approve or reject multiple user access requests
37
+ * @param requests Array of user access requests to save
38
+ * @param isApproval True for approval, false for decline
39
+ * @returns Promise containing the save operation result
40
+ */
41
+ processUserAccessRequests(requests: UserAccessRequest[], isApproval: boolean): Promise<any>;
34
42
  /**
35
43
  * Delete multiple user access requests
36
44
  * @param requestIds Array of request IDs to delete
@@ -10,9 +10,9 @@ export declare class UserAccessRequestState {
10
10
  setUpdating(isUpdating: boolean): void;
11
11
  getRequests$(): Observable<UserAccessRequest[]>;
12
12
  setRequests(requests: UserAccessRequest[]): void;
13
- getQueryParams$(): Observable<QueryParams>;
14
- getQueryParamsValue(): QueryParams;
15
- updateQueryParams(params: Partial<QueryParams>): void;
13
+ getQueryParams$(): Observable<QueryParams<UserAccessRequest>>;
14
+ getQueryParamsValue(): QueryParams<UserAccessRequest>;
15
+ updateQueryParams(params: Partial<QueryParams<UserAccessRequest>>): void;
16
16
  addRequest(request: UserAccessRequest): void;
17
17
  updateRequest(updatedRequest: UserAccessRequest): void;
18
18
  removeRequest(requestId: string): void;
@@ -1,26 +1,25 @@
1
- import { ChangeDetectorRef, OnInit } from '@angular/core';
1
+ import { ChangeDetectorRef, OnInit, Signal, WritableSignal } from '@angular/core';
2
2
  import { UserAccessRequest } from '../../models/user-access-request';
3
3
  import { CardData, CardDataViewComponent, ColumnDefinition, DataViewComponent, IDataFilter } from 'verben-ng-ui';
4
- import { UserRequestApprovalService } from './user-request-approval.service';
5
4
  import { UserAccessRequestFacade } from './facades/user-access-request.facade';
6
5
  import * as i0 from "@angular/core";
7
6
  export declare class UserRequestApprovalComponent implements OnInit {
8
7
  private cdr;
9
- private service;
10
8
  private userAccessRequestFacade;
11
9
  cardDataView: CardDataViewComponent;
12
10
  dataView: DataViewComponent;
13
11
  columns: ColumnDefinition<UserAccessRequest>[];
14
12
  visibleColumnDef: ColumnDefinition<UserAccessRequest>[];
15
- data: UserAccessRequest[];
13
+ data: WritableSignal<UserAccessRequest[]>;
16
14
  styles: any;
17
15
  currentData: CardData | null;
18
16
  isGridView: boolean;
19
17
  selected: CardData | null;
20
- cardData: CardData[];
21
- constructor(cdr: ChangeDetectorRef, service: UserRequestApprovalService, userAccessRequestFacade: UserAccessRequestFacade);
18
+ cardData: Signal<CardData[]>;
19
+ constructor(cdr: ChangeDetectorRef, userAccessRequestFacade: UserAccessRequestFacade);
22
20
  ngOnInit(): Promise<void>;
23
21
  searchRequests(param: string): Promise<void>;
22
+ onApprove(mailAddress: string): Promise<void>;
24
23
  openDetailView(mailAddress: string): void;
25
24
  getCardDataByMailAddress(mailAddress: string): CardData | undefined;
26
25
  onViewChange(isGridView: boolean): void;
@@ -6,6 +6,7 @@ export declare class UserRequestFormComponent {
6
6
  private fb;
7
7
  set currentData(value: CardData | null);
8
8
  switchView: EventEmitter<undefined>;
9
+ onApproval: EventEmitter<string>;
9
10
  form: FormGroup;
10
11
  roles: {
11
12
  id: string;
@@ -16,5 +17,5 @@ export declare class UserRequestFormComponent {
16
17
  onSave(): void;
17
18
  onDelete(): void;
18
19
  static ɵfac: i0.ɵɵFactoryDeclaration<UserRequestFormComponent, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<UserRequestFormComponent, "lib-user-request-form", never, { "currentData": { "alias": "currentData"; "required": false; }; }, { "switchView": "switchView"; }, never, never, false, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<UserRequestFormComponent, "lib-user-request-form", never, { "currentData": { "alias": "currentData"; "required": false; }; }, { "switchView": "switchView"; "onApproval": "onApproval"; }, never, never, false, never>;
20
21
  }
@@ -0,0 +1,9 @@
1
+ export interface Paged<T> {
2
+ Skip: number;
3
+ PageSize: number;
4
+ IsLoadingResults: boolean;
5
+ Total: number;
6
+ PageState?: unknown;
7
+ Result: T[];
8
+ LastItem: string[];
9
+ }
@@ -1,7 +1,7 @@
1
- export interface QueryParams {
1
+ export interface QueryParams<T> {
2
2
  skip: number;
3
3
  limit: number;
4
- sortParam?: string;
4
+ sortParam?: keyof T;
5
5
  sortOrder: 'asc' | 'desc';
6
6
  filterParam?: string;
7
7
  }
@@ -1,5 +1,5 @@
1
1
  export declare enum UserAccessRequestStatus {
2
- Pending = 0,
3
- Approved = 1,
4
- Declined = 2
2
+ Pending = "Pending",
3
+ Approved = "Approved",
4
+ Declined = "Declined"
5
5
  }
@@ -1,7 +1,7 @@
1
1
  import { User } from './user';
2
2
  import { UserAccessRequestStatus } from './user-access-request-status';
3
- export interface UserAccessRequest extends Omit<User, 'Status'> {
4
- Status: UserAccessRequestStatus;
3
+ export interface UserAccessRequest extends User {
4
+ RequestStatus: UserAccessRequestStatus;
5
5
  ActionBy?: string;
6
6
  Comment?: string;
7
7
  }
@@ -3,7 +3,9 @@ export interface User extends BaseModel {
3
3
  Password: string;
4
4
  OldPassword?: string;
5
5
  PhoneNumber?: string;
6
- Name: string;
6
+ FirstName: string;
7
+ LastName: string;
8
+ OtherName?: string;
7
9
  MailAddress: string;
8
10
  Token?: string;
9
11
  ExpireOn: Date;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "verben-authentication-ui",
3
- "version": "0.2.7",
3
+ "version": "0.3.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.0.0 || ^18.0.0",
6
6
  "@angular/core": "^14.0.0 || ^18.0.0",