@dereekb/firebase-server 9.20.9 → 9.20.11
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/CHANGELOG.md +8 -0
- package/mailgun/package.json +9 -9
- package/package.json +7 -7
- package/src/lib/auth/auth.service.d.ts +16 -5
- package/src/lib/auth/auth.service.js +38 -9
- package/src/lib/auth/auth.service.js.map +1 -1
- package/src/lib/function/error.auth.d.ts +5 -0
- package/src/lib/function/error.auth.js +25 -0
- package/src/lib/function/error.auth.js.map +1 -0
- package/src/lib/function/error.d.ts +3 -1
- package/src/lib/function/error.js +9 -1
- package/src/lib/function/error.js.map +1 -1
- package/src/lib/function/index.d.ts +1 -0
- package/src/lib/function/index.js +1 -0
- package/src/lib/function/index.js.map +1 -1
- package/src/lib/nest/auth/auth.util.js +2 -2
- package/src/lib/nest/auth/auth.util.js.map +1 -1
- package/test/package.json +10 -10
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [9.20.11](https://github.com/dereekb/dbx-components/compare/v9.20.10-dev...v9.20.11) (2023-01-03)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [9.20.10](https://github.com/dereekb/dbx-components/compare/v9.20.9-dev...v9.20.10) (2023-01-03)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
5
13
|
## [9.20.9](https://github.com/dereekb/dbx-components/compare/v9.20.8-dev...v9.20.9) (2023-01-01)
|
|
6
14
|
|
|
7
15
|
|
package/mailgun/package.json
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/mailgun",
|
|
3
|
-
"version": "9.20.
|
|
3
|
+
"version": "9.20.11",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
7
7
|
"dependencies": {},
|
|
8
8
|
"peerDependencies": {
|
|
9
|
-
"@dereekb/nestjs/mailgun": "9.20.
|
|
9
|
+
"@dereekb/nestjs/mailgun": "9.20.11",
|
|
10
10
|
"@nestjs/common": "^9.0.0",
|
|
11
11
|
"mailgun.js": "^8.0.0",
|
|
12
12
|
"form-data": "4.0.0",
|
|
13
|
-
"@dereekb/util": "9.20.
|
|
13
|
+
"@dereekb/util": "9.20.11",
|
|
14
14
|
"lodash.isequal": "^4.5.0",
|
|
15
15
|
"make-error": "^1.3.0",
|
|
16
16
|
"class-validator": "^0.13.2",
|
|
17
17
|
"ts-essentials": "^9.1.2",
|
|
18
18
|
"extra-set": "^2.2.11",
|
|
19
|
-
"@dereekb/nestjs": "9.20.
|
|
19
|
+
"@dereekb/nestjs": "9.20.11",
|
|
20
20
|
"@nestjs/config": "^2.0.1",
|
|
21
|
-
"@dereekb/firebase-server": "9.20.
|
|
21
|
+
"@dereekb/firebase-server": "9.20.11",
|
|
22
22
|
"jsonwebtoken": "^9.0.0",
|
|
23
|
-
"@dereekb/firebase": "9.20.
|
|
23
|
+
"@dereekb/firebase": "9.20.11",
|
|
24
24
|
"rxjs": "^7.5.0",
|
|
25
25
|
"firebase": "^9.9.2",
|
|
26
26
|
"class-transformer": "^0.5.1",
|
|
27
|
-
"@dereekb/rxjs": "9.20.
|
|
27
|
+
"@dereekb/rxjs": "9.20.11",
|
|
28
28
|
"ms": "^3.0.0-canary.1",
|
|
29
|
-
"@dereekb/model": "9.20.
|
|
30
|
-
"@dereekb/date": "9.20.
|
|
29
|
+
"@dereekb/model": "9.20.11",
|
|
30
|
+
"@dereekb/date": "9.20.11",
|
|
31
31
|
"date-fns": "^2.29.0",
|
|
32
32
|
"date-fns-tz": "^1.3.0",
|
|
33
33
|
"rrule": "git+https://git@github.com/dereekb/rrule#2b13b1ea881059ba2ecfec380e12ef244ef54570",
|
package/package.json
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server",
|
|
3
|
-
"version": "9.20.
|
|
3
|
+
"version": "9.20.11",
|
|
4
4
|
"devDependencies": {
|
|
5
5
|
"firebase-functions-test": "2.0.2"
|
|
6
6
|
},
|
|
7
7
|
"peerDependencies": {
|
|
8
8
|
"jsonwebtoken": "^8.0.0",
|
|
9
|
-
"@dereekb/firebase": "9.20.
|
|
9
|
+
"@dereekb/firebase": "9.20.11",
|
|
10
10
|
"rxjs": "^7.5.0",
|
|
11
11
|
"firebase": "^9.9.2",
|
|
12
|
-
"@dereekb/util": "9.20.
|
|
12
|
+
"@dereekb/util": "9.20.11",
|
|
13
13
|
"lodash.isequal": "^4.5.0",
|
|
14
14
|
"make-error": "^1.3.0",
|
|
15
15
|
"class-validator": "^0.13.2",
|
|
16
16
|
"ts-essentials": "^9.1.2",
|
|
17
17
|
"extra-set": "^2.2.11",
|
|
18
18
|
"class-transformer": "^0.5.1",
|
|
19
|
-
"@dereekb/rxjs": "9.20.
|
|
19
|
+
"@dereekb/rxjs": "9.20.11",
|
|
20
20
|
"ms": "^3.0.0-canary.1",
|
|
21
|
-
"@dereekb/model": "9.20.
|
|
22
|
-
"@dereekb/date": "9.20.
|
|
21
|
+
"@dereekb/model": "9.20.11",
|
|
22
|
+
"@dereekb/date": "9.20.11",
|
|
23
23
|
"date-fns": "^2.29.0",
|
|
24
24
|
"date-fns-tz": "^1.3.0",
|
|
25
25
|
"rrule": "git+https://git@github.com/dereekb/rrule#2b13b1ea881059ba2ecfec380e12ef244ef54570",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"@nestjs/common": "^9.0.0",
|
|
31
31
|
"@nestjs/core": "^9.0.0",
|
|
32
32
|
"@nestjs/platform-express": "^9.0.0",
|
|
33
|
-
"@dereekb/nestjs": "9.20.
|
|
33
|
+
"@dereekb/nestjs": "9.20.11",
|
|
34
34
|
"@nestjs/config": "^2.0.1",
|
|
35
35
|
"tslib": "^2.0.0"
|
|
36
36
|
},
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import * as functions from 'firebase-functions';
|
|
2
2
|
import * as admin from 'firebase-admin';
|
|
3
|
-
import { FirebaseAuthContextInfo, FirebaseAuthDetails, FirebaseAuthUserId, FirebaseAuthNewUserClaimsData, FirebaseAuthSetupPassword } from '@dereekb/firebase';
|
|
3
|
+
import { FirebaseAuthContextInfo, FirebaseAuthDetails, FirebaseAuthUserId, FirebaseAuthNewUserClaimsData, FirebaseAuthSetupPassword, FirebaseAuthResetUserPasswordClaimsData } from '@dereekb/firebase';
|
|
4
4
|
import { Milliseconds, AuthClaims, AuthRoleSet, ArrayOrValue, AuthRole, AuthClaimsUpdate, AuthClaimsObject, Maybe, EmailAddress, E164PhoneNumber, PasswordString } from '@dereekb/util';
|
|
5
5
|
import { CallableContextWithAuthData } from '../function/context';
|
|
6
6
|
import { AuthDataRef } from './auth.context';
|
|
7
|
+
export declare const DEFAULT_FIREBASE_PASSWORD_NUMBER_GENERATOR: import("@dereekb/util").NumberFactory;
|
|
7
8
|
export interface FirebaseServerAuthUserIdentifierContext {
|
|
8
9
|
/**
|
|
9
10
|
* UID of the user for this context.
|
|
10
11
|
*/
|
|
11
12
|
readonly uid: FirebaseAuthUserId;
|
|
12
13
|
}
|
|
14
|
+
export interface FirebaseServerAuthResetUserPasswordClaims extends FirebaseAuthResetUserPasswordClaimsData, AuthClaimsObject {
|
|
15
|
+
}
|
|
13
16
|
export interface FirebaseServerAuthUserContext extends FirebaseServerAuthUserIdentifierContext {
|
|
14
17
|
/**
|
|
15
18
|
* Returns true if the user exists.
|
|
@@ -24,7 +27,15 @@ export interface FirebaseServerAuthUserContext extends FirebaseServerAuthUserIde
|
|
|
24
27
|
*/
|
|
25
28
|
loadDetails(): Promise<FirebaseAuthDetails>;
|
|
26
29
|
/**
|
|
27
|
-
*
|
|
30
|
+
* Generates a random reset token and updates the user's password to start a password reset flow.
|
|
31
|
+
*/
|
|
32
|
+
beginResetPassword(): Promise<FirebaseServerAuthResetUserPasswordClaims>;
|
|
33
|
+
/**
|
|
34
|
+
* Returns the reset password claims if it exists.
|
|
35
|
+
*/
|
|
36
|
+
loadResetPasswordClaims<T extends FirebaseServerAuthResetUserPasswordClaims = FirebaseServerAuthResetUserPasswordClaims>(): Promise<Maybe<T>>;
|
|
37
|
+
/**
|
|
38
|
+
* Changes the user's password. Will also clear any claims data related to resetting a password.
|
|
28
39
|
*/
|
|
29
40
|
setPassword(password: PasswordString): Promise<admin.auth.UserRecord>;
|
|
30
41
|
/**
|
|
@@ -86,6 +97,9 @@ export declare abstract class AbstractFirebaseServerAuthUserContext<S extends Fi
|
|
|
86
97
|
exists(): Promise<boolean>;
|
|
87
98
|
loadRecord(): Promise<admin.auth.UserRecord>;
|
|
88
99
|
loadDetails(): Promise<FirebaseAuthDetails>;
|
|
100
|
+
protected _generateResetPasswordKey(): string;
|
|
101
|
+
beginResetPassword(): Promise<FirebaseServerAuthResetUserPasswordClaims>;
|
|
102
|
+
loadResetPasswordClaims<T extends FirebaseServerAuthResetUserPasswordClaims = FirebaseServerAuthResetUserPasswordClaims>(): Promise<Maybe<T>>;
|
|
89
103
|
/**
|
|
90
104
|
* Sets the user's password.
|
|
91
105
|
*/
|
|
@@ -151,8 +165,6 @@ export declare abstract class AbstractFirebaseServerAuthContext<C extends Fireba
|
|
|
151
165
|
get claims(): AuthClaims;
|
|
152
166
|
get uid(): string;
|
|
153
167
|
}
|
|
154
|
-
export declare const FIREBASE_SERVER_AUTH_CLAIMS_SETUP_PASSWORD_KEY = "setupPassword";
|
|
155
|
-
export declare const FIREBASE_SERVER_AUTH_CLAIMS_SETUP_LAST_COM_DATE_KEY = "setupCommunicationAt";
|
|
156
168
|
export interface FirebaseServerAuthNewUserClaims extends FirebaseAuthNewUserClaimsData, AuthClaimsObject {
|
|
157
169
|
}
|
|
158
170
|
export interface FirebaseServerAuthInitializeNewUser<D = unknown> {
|
|
@@ -228,7 +240,6 @@ export interface FirebaseServerNewUserService<D = unknown, U extends FirebaseSer
|
|
|
228
240
|
loadSetupDetailsForUserContext(userContext: U, config?: FirebaseServerAuthNewUserSendSetupDetailsConfig<D>): Promise<Maybe<FirebaseServerAuthNewUserSetupDetails<U, D>>>;
|
|
229
241
|
markUserSetupAsComplete(uid: FirebaseAuthUserId): Promise<boolean>;
|
|
230
242
|
}
|
|
231
|
-
export declare const DEFAULT_FIREBASE_PASSWORD_NUMBER_GENERATOR: import("@dereekb/util").NumberFactory;
|
|
232
243
|
/**
|
|
233
244
|
* 1 hour
|
|
234
245
|
*/
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AbstractFirebaseServerAuthService = exports.FirebaseServerAuthService = exports.NoSetupContentFirebaseServerNewUserService = exports.AbstractFirebaseServerNewUserService = exports.DEFAULT_SETUP_COM_THROTTLE_TIME = exports.
|
|
3
|
+
exports.AbstractFirebaseServerAuthService = exports.FirebaseServerAuthService = exports.NoSetupContentFirebaseServerNewUserService = exports.AbstractFirebaseServerNewUserService = exports.DEFAULT_SETUP_COM_THROTTLE_TIME = exports.AbstractFirebaseServerAuthContext = exports.AbstractFirebaseServerAuthUserContext = exports.DEFAULT_FIREBASE_PASSWORD_NUMBER_GENERATOR = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const firebase_1 = require("@dereekb/firebase");
|
|
5
6
|
const util_1 = require("@dereekb/util");
|
|
6
7
|
const context_1 = require("../function/context");
|
|
7
8
|
const auth_context_1 = require("./auth.context");
|
|
8
9
|
const date_1 = require("@dereekb/date");
|
|
9
10
|
const auth_util_1 = require("./auth.util");
|
|
11
|
+
exports.DEFAULT_FIREBASE_PASSWORD_NUMBER_GENERATOR = (0, util_1.randomNumberFactory)({ min: 100000, max: 1000000 - 1, round: 'floor' }); // 6 digits
|
|
10
12
|
class AbstractFirebaseServerAuthUserContext {
|
|
11
13
|
constructor(service, uid) {
|
|
12
14
|
this.service = service;
|
|
@@ -24,12 +26,43 @@ class AbstractFirebaseServerAuthUserContext {
|
|
|
24
26
|
loadDetails() {
|
|
25
27
|
return this.loadRecord().then((record) => this.service.authDetailsForRecord(record));
|
|
26
28
|
}
|
|
29
|
+
_generateResetPasswordKey() {
|
|
30
|
+
return String((0, exports.DEFAULT_FIREBASE_PASSWORD_NUMBER_GENERATOR)());
|
|
31
|
+
}
|
|
32
|
+
beginResetPassword() {
|
|
33
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
const key = this._generateResetPasswordKey();
|
|
35
|
+
const passwordClaimsData = {
|
|
36
|
+
[firebase_1.FIREBASE_SERVER_AUTH_CLAIMS_RESET_PASSWORD_KEY]: key,
|
|
37
|
+
[firebase_1.FIREBASE_SERVER_AUTH_CLAIMS_RESET_LAST_COM_DATE_KEY]: (0, date_1.toISODateString)(new Date())
|
|
38
|
+
};
|
|
39
|
+
yield this.updateClaims(passwordClaimsData);
|
|
40
|
+
return passwordClaimsData;
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
loadResetPasswordClaims() {
|
|
44
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
const claims = yield this.loadClaims();
|
|
46
|
+
if (claims.resetPassword != null) {
|
|
47
|
+
return claims;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
27
54
|
/**
|
|
28
55
|
* Sets the user's password.
|
|
29
56
|
*/
|
|
30
57
|
setPassword(password) {
|
|
31
58
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
32
|
-
|
|
59
|
+
const record = yield this.updateUser({ password });
|
|
60
|
+
// clear password reset claims
|
|
61
|
+
yield this.updateClaims({
|
|
62
|
+
[firebase_1.FIREBASE_SERVER_AUTH_CLAIMS_RESET_PASSWORD_KEY]: null,
|
|
63
|
+
[firebase_1.FIREBASE_SERVER_AUTH_CLAIMS_RESET_LAST_COM_DATE_KEY]: null
|
|
64
|
+
});
|
|
65
|
+
return record;
|
|
33
66
|
});
|
|
34
67
|
}
|
|
35
68
|
updateUser(template) {
|
|
@@ -132,10 +165,6 @@ class AbstractFirebaseServerAuthContext {
|
|
|
132
165
|
}
|
|
133
166
|
}
|
|
134
167
|
exports.AbstractFirebaseServerAuthContext = AbstractFirebaseServerAuthContext;
|
|
135
|
-
// MARK: New Account Initialization
|
|
136
|
-
exports.FIREBASE_SERVER_AUTH_CLAIMS_SETUP_PASSWORD_KEY = 'setupPassword';
|
|
137
|
-
exports.FIREBASE_SERVER_AUTH_CLAIMS_SETUP_LAST_COM_DATE_KEY = 'setupCommunicationAt';
|
|
138
|
-
exports.DEFAULT_FIREBASE_PASSWORD_NUMBER_GENERATOR = (0, util_1.randomNumberFactory)({ min: 100000, max: 1000000 - 1, round: 'floor' }); // 6 digits
|
|
139
168
|
/**
|
|
140
169
|
* 1 hour
|
|
141
170
|
*/
|
|
@@ -167,7 +196,7 @@ class AbstractFirebaseServerNewUserService {
|
|
|
167
196
|
// add the setup password to the user's credentials
|
|
168
197
|
const userContext = this.authService.userContext(createResult.user.uid);
|
|
169
198
|
yield userContext.updateClaims({
|
|
170
|
-
[
|
|
199
|
+
[firebase_1.FIREBASE_SERVER_AUTH_CLAIMS_SETUP_PASSWORD_KEY]: createResult.password
|
|
171
200
|
});
|
|
172
201
|
if (sendSetupContent !== false) {
|
|
173
202
|
yield this.sendSetupContent(createResult.user.uid, { data, sendDetailsInTestEnvironment });
|
|
@@ -272,8 +301,8 @@ class AbstractFirebaseServerNewUserService {
|
|
|
272
301
|
updateClaimsToClearUser(userContext) {
|
|
273
302
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
274
303
|
yield userContext.updateClaims({
|
|
275
|
-
[
|
|
276
|
-
[
|
|
304
|
+
[firebase_1.FIREBASE_SERVER_AUTH_CLAIMS_SETUP_PASSWORD_KEY]: null,
|
|
305
|
+
[firebase_1.FIREBASE_SERVER_AUTH_CLAIMS_SETUP_LAST_COM_DATE_KEY]: null
|
|
277
306
|
});
|
|
278
307
|
});
|
|
279
308
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/auth.service.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/auth.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ThrowErrorFunction } from '@dereekb/util';
|
|
2
|
+
import * as admin from 'firebase-admin';
|
|
3
|
+
export declare const PHONE_NUMBER_ALREADY_EXISTS_ERROR_CODE = "PHONE_NUMBER_ALREADY_EXISTS";
|
|
4
|
+
export declare function phoneNumberAlreadyExistsError(): import("firebase-functions/v1/auth").HttpsError;
|
|
5
|
+
export declare function handleFirebaseAuthError(e: unknown, handleUnknownCode?: ThrowErrorFunction<admin.FirebaseError>): never | void;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleFirebaseAuthError = exports.phoneNumberAlreadyExistsError = exports.PHONE_NUMBER_ALREADY_EXISTS_ERROR_CODE = void 0;
|
|
4
|
+
const error_1 = require("./error");
|
|
5
|
+
exports.PHONE_NUMBER_ALREADY_EXISTS_ERROR_CODE = 'PHONE_NUMBER_ALREADY_EXISTS';
|
|
6
|
+
function phoneNumberAlreadyExistsError() {
|
|
7
|
+
return (0, error_1.preconditionConflictError)({
|
|
8
|
+
code: exports.PHONE_NUMBER_ALREADY_EXISTS_ERROR_CODE,
|
|
9
|
+
message: 'This phone number already exists in the system.'
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
exports.phoneNumberAlreadyExistsError = phoneNumberAlreadyExistsError;
|
|
13
|
+
function handleFirebaseAuthError(e, handleUnknownCode) {
|
|
14
|
+
(0, error_1.handleFirebaseError)(e, (firebaseError) => {
|
|
15
|
+
switch (firebaseError.code) {
|
|
16
|
+
case 'auth/phone-number-already-exists':
|
|
17
|
+
throw phoneNumberAlreadyExistsError();
|
|
18
|
+
default:
|
|
19
|
+
handleUnknownCode === null || handleUnknownCode === void 0 ? void 0 : handleUnknownCode(firebaseError);
|
|
20
|
+
break;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
exports.handleFirebaseAuthError = handleFirebaseAuthError;
|
|
25
|
+
//# sourceMappingURL=error.auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.auth.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/function/error.auth.ts"],"names":[],"mappings":";;;AAEA,mCAAyE;AAE5D,QAAA,sCAAsC,GAAG,6BAA6B,CAAC;AAEpF,SAAgB,6BAA6B;IAC3C,OAAO,IAAA,iCAAyB,EAAC;QAC/B,IAAI,EAAE,8CAAsC;QAC5C,OAAO,EAAE,iDAAiD;KAC3D,CAAC,CAAC;AACL,CAAC;AALD,sEAKC;AAED,SAAgB,uBAAuB,CAAC,CAAU,EAAE,iBAA2D;IAC7G,IAAA,2BAAmB,EAAC,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE;QACvC,QAAQ,aAAa,CAAC,IAAI,EAAE;YAC1B,KAAK,kCAAkC;gBACrC,MAAM,6BAA6B,EAAE,CAAC;YACxC;gBACE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAG,aAAa,CAAC,CAAC;gBACnC,MAAM;SACT;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAVD,0DAUC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { ErrorMessageOrPartialServerError } from '@dereekb/util';
|
|
1
|
+
import { ErrorMessageOrPartialServerError, ThrowErrorFunction } from '@dereekb/util';
|
|
2
2
|
import * as functions from 'firebase-functions';
|
|
3
|
+
import * as admin from 'firebase-admin';
|
|
3
4
|
export declare const NO_AUTH_ERROR_CODE = "NO_AUTH";
|
|
4
5
|
export declare function unauthenticatedContextHasNoAuthData(): functions.auth.HttpsError;
|
|
5
6
|
export declare const NO_UID_ERROR_CODE = "NO_USER_UID";
|
|
@@ -24,3 +25,4 @@ export declare const UNAVAILABLE_ERROR_CODE = "UNAVAILABLE";
|
|
|
24
25
|
export declare function unavailableError(messageOrError?: ErrorMessageOrPartialServerError): functions.auth.HttpsError;
|
|
25
26
|
export declare const INTERNAL_SERVER_ERROR_CODE = "INTERNAL_ERROR";
|
|
26
27
|
export declare function internalServerError(messageOrError?: ErrorMessageOrPartialServerError): functions.auth.HttpsError;
|
|
28
|
+
export declare function handleFirebaseError(e: unknown, handleFirebaseError: ThrowErrorFunction<admin.FirebaseError>): never | void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.internalServerError = exports.INTERNAL_SERVER_ERROR_CODE = exports.unavailableError = exports.UNAVAILABLE_ERROR_CODE = exports.alreadyExistsError = exports.ALREADY_EXISTS_ERROR_CODE = exports.preconditionConflictError = exports.CONFLICT_ERROR_CODE = exports.badRequestError = exports.BAD_REQUEST_ERROR_CODE = exports.modelNotAvailableError = exports.MODEL_NOT_AVAILABLE_ERROR_CODE = exports.notFoundError = exports.NOT_FOUND_ERROR_CODE = exports.permissionDeniedError = exports.PERMISSION_DENIED_ERROR_CODE = exports.forbiddenError = exports.FORBIDDEN_ERROR_CODE = exports.unauthenticatedError = exports.UNAUTHENTICATED_ERROR_CODE = exports.unauthenticatedContextHasNoUidError = exports.NO_UID_ERROR_CODE = exports.unauthenticatedContextHasNoAuthData = exports.NO_AUTH_ERROR_CODE = void 0;
|
|
3
|
+
exports.handleFirebaseError = exports.internalServerError = exports.INTERNAL_SERVER_ERROR_CODE = exports.unavailableError = exports.UNAVAILABLE_ERROR_CODE = exports.alreadyExistsError = exports.ALREADY_EXISTS_ERROR_CODE = exports.preconditionConflictError = exports.CONFLICT_ERROR_CODE = exports.badRequestError = exports.BAD_REQUEST_ERROR_CODE = exports.modelNotAvailableError = exports.MODEL_NOT_AVAILABLE_ERROR_CODE = exports.notFoundError = exports.NOT_FOUND_ERROR_CODE = exports.permissionDeniedError = exports.PERMISSION_DENIED_ERROR_CODE = exports.forbiddenError = exports.FORBIDDEN_ERROR_CODE = exports.unauthenticatedError = exports.UNAUTHENTICATED_ERROR_CODE = exports.unauthenticatedContextHasNoUidError = exports.NO_UID_ERROR_CODE = exports.unauthenticatedContextHasNoAuthData = exports.NO_AUTH_ERROR_CODE = void 0;
|
|
4
4
|
const util_1 = require("@dereekb/util");
|
|
5
5
|
const functions = require("firebase-functions");
|
|
6
6
|
exports.NO_AUTH_ERROR_CODE = 'NO_AUTH';
|
|
@@ -80,4 +80,12 @@ function internalServerError(messageOrError) {
|
|
|
80
80
|
return new functions.https.HttpsError('internal', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'internal error', Object.assign(Object.assign({ status: 500, code: exports.INTERNAL_SERVER_ERROR_CODE }, serverError), { _error: undefined }));
|
|
81
81
|
}
|
|
82
82
|
exports.internalServerError = internalServerError;
|
|
83
|
+
// MARK: Utility
|
|
84
|
+
function handleFirebaseError(e, handleFirebaseError) {
|
|
85
|
+
let firebaseError = e.code ? e : undefined;
|
|
86
|
+
if (firebaseError) {
|
|
87
|
+
handleFirebaseError(firebaseError);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.handleFirebaseError = handleFirebaseError;
|
|
83
91
|
//# sourceMappingURL=error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/function/error.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/function/error.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,6 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
tslib_1.__exportStar(require("./context"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./assert"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./error"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./error.auth"), exports);
|
|
7
8
|
tslib_1.__exportStar(require("./type"), exports);
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/function/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,mDAAyB;AACzB,kDAAwB;AACxB,iDAAuB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/function/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,mDAAyB;AACzB,kDAAwB;AACxB,uDAA6B;AAC7B,iDAAuB"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.hasNewUserSetupPasswordInRequest = exports.hasAuthRolesInRequest = exports.assertHasRolesInRequest = exports.hasSignedTosInRequest = exports.assertHasSignedTosInRequest = exports.isAdminOrTargetUserInRequestData = exports.assertIsAdminOrTargetUserInRequestData = exports.isAdminInRequest = exports.assertIsAdminInRequest = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const firebase_1 = require("@dereekb/firebase");
|
|
5
6
|
const util_1 = require("@dereekb/util");
|
|
6
|
-
const auth_service_1 = require("../../auth/auth.service");
|
|
7
7
|
const function_1 = require("../../function");
|
|
8
8
|
function assertIsAdminInRequest(request) {
|
|
9
9
|
if (!isAdminInRequest(request)) {
|
|
@@ -70,7 +70,7 @@ exports.hasAuthRolesInRequest = hasAuthRolesInRequest;
|
|
|
70
70
|
function hasNewUserSetupPasswordInRequest(request) {
|
|
71
71
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
72
72
|
const claims = request.nest.authService.context(request).claims;
|
|
73
|
-
return claims[
|
|
73
|
+
return claims[firebase_1.FIREBASE_SERVER_AUTH_CLAIMS_SETUP_PASSWORD_KEY] != null;
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
76
|
exports.hasNewUserSetupPasswordInRequest = hasNewUserSetupPasswordInRequest;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.util.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/auth/auth.util.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"auth.util.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/auth/auth.util.ts"],"names":[],"mappings":";;;;AAAA,gDAAgG;AAChG,wCAAmF;AACnF,6CAAgD;AAIhD,SAAgB,sBAAsB,CAAuG,OAAiD;IAC5L,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE;QAC9B,MAAM,IAAA,yBAAc,GAAE,CAAC;KACxB;AACH,CAAC;AAJD,wDAIC;AAED,SAAgB,gBAAgB,CAAuG,OAAiD;IACtL,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;AAC3D,CAAC;AAFD,4CAEC;AAED,SAAgB,sCAAsC,CAAiJ,OAAiD,EAAE,UAAoB;;IAC5Q,IAAI,CAAC,gCAAgC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;QAC1D,MAAM,IAAA,yBAAc,GAAE,CAAC;KACxB;IAED,OAAO,MAAA,OAAO,CAAC,IAAI,CAAC,GAAG,mCAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AAC9C,CAAC;AAND,wFAMC;AAED,SAAgB,gCAAgC,CAAiJ,OAAiD,EAAE,UAAU,GAAG,KAAK;IACpQ,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;IAEjC,IAAI,mBAAmB,GAAG,IAAI,CAAC;IAE/B,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,OAAO,CAAC,EAAE;QACnE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;KACzE;IAED,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAXD,4EAWC;AAED,SAAgB,2BAA2B,CAAuG,OAAiD;IACjM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE;QACnC,MAAM,IAAA,yBAAc,EAAC;YACnB,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;KACJ;AACH,CAAC;AAND,kEAMC;AAED,SAAgB,qBAAqB,CAAuG,OAAiD;IAC3L,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC;AAChE,CAAC;AAFD,sDAEC;AAED,SAAgB,uBAAuB,CAAuG,OAAiD,EAAE,SAAiC;IAChO,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;QAC9C,MAAM,IAAA,yBAAc,EAAC;YACnB,OAAO,EAAE,8BAA8B;YACvC,IAAI,EAAE;gBACJ,KAAK,EAAE,IAAA,cAAO,EAAC,SAAS,CAAC;aAC1B;SACF,CAAC,CAAC;KACJ;AACH,CAAC;AATD,0DASC;AAED,SAAgB,qBAAqB,CAAuG,OAAiD,EAAE,SAAiC;IAC9N,OAAO,IAAA,wBAAiB,EAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAC3F,CAAC;AAFD,sDAEC;AAED;;;;;;GAMG;AACH,SAAsB,gCAAgC,CAAuG,OAAiD;;QAC5M,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAChE,OAAO,MAAM,CAAC,yDAA8C,CAAC,IAAI,IAAI,CAAC;IACxE,CAAC;CAAA;AAHD,4EAGC"}
|
package/test/package.json
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/test",
|
|
3
|
-
"version": "9.20.
|
|
3
|
+
"version": "9.20.11",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
7
7
|
"dependencies": {},
|
|
8
8
|
"peerDependencies": {
|
|
9
|
-
"@dereekb/firebase": "9.20.
|
|
9
|
+
"@dereekb/firebase": "9.20.11",
|
|
10
10
|
"rxjs": "^7.5.0",
|
|
11
11
|
"firebase": "^9.9.2",
|
|
12
|
-
"@dereekb/util": "9.20.
|
|
12
|
+
"@dereekb/util": "9.20.11",
|
|
13
13
|
"lodash.isequal": "^4.5.0",
|
|
14
14
|
"make-error": "^1.3.0",
|
|
15
15
|
"class-validator": "^0.13.2",
|
|
16
16
|
"ts-essentials": "^9.1.2",
|
|
17
17
|
"extra-set": "^2.2.11",
|
|
18
18
|
"class-transformer": "^0.5.1",
|
|
19
|
-
"@dereekb/rxjs": "9.20.
|
|
19
|
+
"@dereekb/rxjs": "9.20.11",
|
|
20
20
|
"ms": "^3.0.0-canary.1",
|
|
21
|
-
"@dereekb/model": "9.20.
|
|
22
|
-
"@dereekb/date": "9.20.
|
|
21
|
+
"@dereekb/model": "9.20.11",
|
|
22
|
+
"@dereekb/date": "9.20.11",
|
|
23
23
|
"date-fns": "^2.29.0",
|
|
24
24
|
"date-fns-tz": "^1.3.0",
|
|
25
25
|
"rrule": "git+https://git@github.com/dereekb/rrule#2b13b1ea881059ba2ecfec380e12ef244ef54570",
|
|
26
26
|
"@vvo/tzdb": "^6.0.0",
|
|
27
|
-
"@dereekb/util/test": "9.20.
|
|
27
|
+
"@dereekb/util/test": "9.20.11",
|
|
28
28
|
"firebase-admin": "^11.4.1",
|
|
29
29
|
"jsonwebtoken": "^9.0.0",
|
|
30
30
|
"firebase-functions": "^4.0.0",
|
|
31
31
|
"@nestjs/common": "^9.0.0",
|
|
32
32
|
"@google-cloud/firestore": "^6.3.0",
|
|
33
|
-
"@dereekb/firebase/test": "9.20.
|
|
34
|
-
"@dereekb/firebase-server": "9.20.
|
|
33
|
+
"@dereekb/firebase/test": "9.20.11",
|
|
34
|
+
"@dereekb/firebase-server": "9.20.11",
|
|
35
35
|
"@nestjs/core": "^9.0.0",
|
|
36
36
|
"@nestjs/platform-express": "^9.0.0",
|
|
37
|
-
"@dereekb/nestjs": "9.20.
|
|
37
|
+
"@dereekb/nestjs": "9.20.11",
|
|
38
38
|
"@nestjs/config": "^2.0.1",
|
|
39
39
|
"tslib": "^2.0.0"
|
|
40
40
|
}
|