@dereekb/dbx-firebase 7.3.0 → 7.4.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.
@@ -9,6 +9,10 @@ export declare abstract class DbxFirebaseAuthServiceDelegate {
9
9
  abstract authUserStateObs(dbxFirebaseAuthService: DbxFirebaseAuthService): Observable<AuthUserState>;
10
10
  abstract authRolesObs(dbxFirebaseAuthService: DbxFirebaseAuthService): Observable<AuthRoleSet>;
11
11
  abstract isOnboarded(dbxFirebaseAuthService: DbxFirebaseAuthService): Observable<boolean>;
12
+ /**
13
+ * Whether or not the input roles imply the admin priviledges.
14
+ */
15
+ abstract isAdminInAuthRoleSet(authRoleSet: AuthRoleSet): boolean;
12
16
  abstract authRoleClaimsService?: Maybe<AuthRoleClaimsService<AuthClaimsObject>>;
13
17
  }
14
18
  export declare const DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE: DbxFirebaseAuthServiceDelegate;
@@ -33,9 +37,11 @@ export declare class DbxFirebaseAuthService implements DbxAuthService {
33
37
  readonly authRoles$: Observable<AuthRoleSet>;
34
38
  readonly isOnboarded$: Observable<boolean>;
35
39
  private _authRoleClaimsService?;
40
+ readonly isAdminInAuthRoleSet: (authRoleSet: AuthRoleSet) => boolean;
36
41
  constructor(firebaseAuth: Auth, delegate: DbxFirebaseAuthServiceDelegate);
37
42
  rolesForClaims<T extends AuthClaimsObject = AuthClaimsObject>(claims: AuthClaims<T>): AuthRoleSet;
38
43
  getAuthContextInfo(): Promise<Maybe<DbxFirebaseAuthContextInfo>>;
44
+ loadAuthContextInfoForUser(user: Maybe<User>): Promise<Maybe<DbxFirebaseAuthContextInfo>>;
39
45
  logInWithGoogle(): Promise<UserCredential>;
40
46
  logInWithFacebook(): Promise<UserCredential>;
41
47
  logInWithTwitter(): Promise<UserCredential>;
@@ -58,10 +64,16 @@ export declare class DbxFirebaseAuthService implements DbxAuthService {
58
64
  export declare class DbxFirebaseAuthContextInfo implements FirebaseAuthContextInfo {
59
65
  readonly service: DbxFirebaseAuthService;
60
66
  readonly user: User;
67
+ readonly jwtToken: IdTokenResult;
61
68
  private _token;
62
- constructor(service: DbxFirebaseAuthService, user: User);
69
+ private _roles;
70
+ private _isAdmin;
71
+ constructor(service: DbxFirebaseAuthService, user: User, jwtToken: IdTokenResult);
63
72
  get uid(): string;
64
- loadClaims(): Promise<AuthClaims<AuthClaimsObject>>;
73
+ isAdmin(): boolean;
74
+ getClaims<T extends AuthClaimsObject = AuthClaimsObject>(): AuthClaims<T>;
75
+ getAuthRoles(): AuthRoleSet;
76
+ loadClaims<T extends AuthClaimsObject = AuthClaimsObject>(): Promise<AuthClaims<T>>;
65
77
  loadAuthRoles(): Promise<AuthRoleSet>;
66
78
  get token(): FirebaseAuthToken;
67
79
  }
@@ -1,7 +1,7 @@
1
1
  import { AuthClaimsObject, AuthRoleClaimsService, AuthRoleSet } from '@dereekb/util';
2
2
  import { Observable } from 'rxjs';
3
3
  import { DbxFirebaseAuthService, DbxFirebaseAuthServiceDelegate } from './firebase.auth.service';
4
- export interface AuthRolesObsWithClaimsServiceConfig<T extends AuthClaimsObject> {
4
+ export interface AuthRolesObsWithClaimsServiceConfig<T extends AuthClaimsObject> extends Partial<Pick<DbxFirebaseAuthServiceDelegate, 'isAdminInAuthRoleSet'>> {
5
5
  readonly claimsService: AuthRoleClaimsService<T>;
6
6
  /**
7
7
  * Whether or not to also add the current AuthUserState value to decoded roles.
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-firebase",
3
- "version": "7.3.0",
3
+ "version": "7.4.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0",
7
- "@dereekb/util": "7.3.0",
7
+ "@dereekb/util": "7.4.0",
8
8
  "firebase": "^9.8.0",
9
9
  "rxjs": "^7.0.0",
10
10
  "@angular/fire": "^7.4.1",
11
- "@dereekb/firebase": "7.3.0",
12
- "@dereekb/dbx-core": "7.3.0",
11
+ "@dereekb/firebase": "7.4.0",
12
+ "@dereekb/dbx-core": "7.4.0",
13
13
  "@angular/material": "^13.0.0",
14
- "@dereekb/dbx-web": "7.3.0",
15
- "@dereekb/dbx-form": "7.3.0"
14
+ "@dereekb/dbx-web": "7.4.0",
15
+ "@dereekb/dbx-form": "7.4.0"
16
16
  },
17
17
  "dependencies": {
18
18
  "tslib": "^2.3.0"