@dereekb/firebase-server 7.11.1 → 7.13.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/CHANGELOG.md +23 -0
- package/package.json +7 -7
- package/src/lib/auth/auth.nest.util.d.ts +7 -0
- package/src/lib/auth/auth.nest.util.js +33 -0
- package/src/lib/auth/auth.nest.util.js.map +1 -0
- package/src/lib/auth/index.d.ts +1 -0
- package/src/lib/auth/index.js +1 -0
- package/src/lib/auth/index.js.map +1 -1
- package/src/lib/function/error.d.ts +2 -2
- package/src/lib/function/error.js +2 -2
- package/src/lib/function/error.js.map +1 -1
- package/src/lib/nest/model/index.d.ts +0 -1
- package/src/lib/nest/model/index.js +0 -1
- package/src/lib/nest/model/index.js.map +1 -1
- package/test/CHANGELOG.md +22 -0
- package/test/package.json +10 -10
- package/test/src/lib/firebase/firebase.admin.auth.d.ts +4 -0
- package/test/src/lib/firebase/firebase.admin.auth.js +1 -1
- package/test/src/lib/firebase/firebase.admin.auth.js.map +1 -1
- package/test/src/lib/firebase/firebase.admin.collection.d.ts +5 -5
- package/test/src/lib/firebase/firebase.admin.collection.js.map +1 -1
- package/test/src/lib/firebase/firebase.admin.nest.function.context.d.ts +21 -3
- package/test/src/lib/firebase/firebase.admin.nest.function.context.js +27 -21
- package/test/src/lib/firebase/firebase.admin.nest.function.context.js.map +1 -1
- package/src/lib/nest/model/model.param.d.ts +0 -7
- package/src/lib/nest/model/model.param.js +0 -18
- package/src/lib/nest/model/model.param.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
# [7.13.0](https://github.com/dereekb/dbx-components/compare/v7.12.0-dev...v7.13.0) (2022-06-14)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* added describeCloudFunctionTest() to handle a map of functions ([5545149](https://github.com/dereekb/dbx-components/commit/55451495c305726d89973613d7d5b9a5be9871bc))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [7.12.0](https://github.com/dereekb/dbx-components/compare/v7.11.2-dev...v7.12.0) (2022-06-14)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* added isAdminOrTargetUserInRequestData() ([c597eb9](https://github.com/dereekb/dbx-components/commit/c597eb9ce968ae5e8d64f3bc2f6ba6520cb11681))
|
|
20
|
+
* updated firestoreModelKey() ([1459a15](https://github.com/dereekb/dbx-components/commit/1459a150b00cd657cc5a835652c17945ae85ca15))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
## [7.11.2](https://github.com/dereekb/dbx-components/compare/v7.11.1-dev...v7.11.2) (2022-06-13)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
5
28
|
## [7.11.1](https://github.com/dereekb/dbx-components/compare/v7.11.0-dev...v7.11.1) (2022-06-13)
|
|
6
29
|
|
|
7
30
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.13.0",
|
|
4
4
|
"devDependencies": {
|
|
5
5
|
"firebase-functions-test": "2.0.2"
|
|
6
6
|
},
|
|
@@ -20,27 +20,27 @@
|
|
|
20
20
|
"typings": "./src/index.d.ts",
|
|
21
21
|
"dependencies": {},
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"@dereekb/firebase": "7.
|
|
23
|
+
"@dereekb/firebase": "7.13.0",
|
|
24
24
|
"rxjs": "^7.0.0",
|
|
25
25
|
"rxfire": "^6.0.3",
|
|
26
26
|
"firebase": "^9.8.0",
|
|
27
|
-
"@dereekb/util": "7.
|
|
27
|
+
"@dereekb/util": "7.13.0",
|
|
28
28
|
"make-error": "^1.3.0",
|
|
29
29
|
"ts-essentials": "^9.1.2",
|
|
30
30
|
"extra-set": "^2.2.11",
|
|
31
|
-
"@dereekb/rxjs": "7.
|
|
31
|
+
"@dereekb/rxjs": "7.13.0",
|
|
32
32
|
"ms": "^3.0.0-canary.1",
|
|
33
|
-
"@dereekb/model": "7.
|
|
33
|
+
"@dereekb/model": "7.13.0",
|
|
34
34
|
"class-transformer": "^0.5.1",
|
|
35
35
|
"class-validator": "^0.13.2",
|
|
36
|
-
"@dereekb/date": "7.
|
|
36
|
+
"@dereekb/date": "7.13.0",
|
|
37
37
|
"date-fns": "^2.28.0",
|
|
38
38
|
"date-fns-tz": "^1.3.0",
|
|
39
39
|
"rrule": "2.7.0",
|
|
40
40
|
"firebase-functions": "^3.21.2",
|
|
41
41
|
"firebase-admin": "^10.3.0",
|
|
42
42
|
"@nestjs/common": "^8.4.0",
|
|
43
|
-
"@dereekb/nestjs": "7.
|
|
43
|
+
"@dereekb/nestjs": "7.13.0",
|
|
44
44
|
"@nestjs/config": "^2.0.1",
|
|
45
45
|
"@google-cloud/firestore": "^4.15.1",
|
|
46
46
|
"@nestjs/core": "^8.4.0",
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { UserRelated } from '@dereekb/firebase';
|
|
2
|
+
import { NestContextCallableRequestWithAuth } from '../nest/function/nest';
|
|
3
|
+
import { AbstractFirebaseNestContext } from '../nest/nest.provider';
|
|
4
|
+
export declare function assertIsAdminInRequest<N extends AbstractFirebaseNestContext<any, any> = AbstractFirebaseNestContext<any, any>, I = unknown>(request: NestContextCallableRequestWithAuth<N, I>): void;
|
|
5
|
+
export declare function isAdminInRequest<N extends AbstractFirebaseNestContext<any, any> = AbstractFirebaseNestContext<any, any>, I = unknown>(request: NestContextCallableRequestWithAuth<N, I>): boolean;
|
|
6
|
+
export declare function assertIsAdminOrTargetUserInRequestData<N extends AbstractFirebaseNestContext<any, any> = AbstractFirebaseNestContext<any, any>, I extends Partial<UserRelated> = Partial<UserRelated>>(request: NestContextCallableRequestWithAuth<N, I>, requireUid?: boolean): string;
|
|
7
|
+
export declare function isAdminOrTargetUserInRequestData<N extends AbstractFirebaseNestContext<any, any> = AbstractFirebaseNestContext<any, any>, I extends Partial<UserRelated> = Partial<UserRelated>>(request: NestContextCallableRequestWithAuth<N, I>, requireUid?: boolean): boolean;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isAdminOrTargetUserInRequestData = exports.assertIsAdminOrTargetUserInRequestData = exports.isAdminInRequest = exports.assertIsAdminInRequest = void 0;
|
|
4
|
+
const function_1 = require("../function");
|
|
5
|
+
function assertIsAdminInRequest(request) {
|
|
6
|
+
if (!isAdminInRequest(request)) {
|
|
7
|
+
throw (0, function_1.forbiddenError)();
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.assertIsAdminInRequest = assertIsAdminInRequest;
|
|
11
|
+
function isAdminInRequest(request) {
|
|
12
|
+
return request.nest.authService.context(request).isAdmin;
|
|
13
|
+
}
|
|
14
|
+
exports.isAdminInRequest = isAdminInRequest;
|
|
15
|
+
function assertIsAdminOrTargetUserInRequestData(request, requireUid) {
|
|
16
|
+
var _a;
|
|
17
|
+
if (!isAdminOrTargetUserInRequestData(request, requireUid)) {
|
|
18
|
+
throw (0, function_1.forbiddenError)();
|
|
19
|
+
}
|
|
20
|
+
return (_a = request.data.uid) !== null && _a !== void 0 ? _a : request.auth.uid;
|
|
21
|
+
}
|
|
22
|
+
exports.assertIsAdminOrTargetUserInRequestData = assertIsAdminOrTargetUserInRequestData;
|
|
23
|
+
function isAdminOrTargetUserInRequestData(request, requireUid = false) {
|
|
24
|
+
const uid = request.data.uid;
|
|
25
|
+
const authUid = request.auth.uid;
|
|
26
|
+
let isAdminOrTargetUser = true;
|
|
27
|
+
if ((requireUid && uid == null) || (uid != null && uid !== authUid)) {
|
|
28
|
+
isAdminOrTargetUser = request.nest.authService.context(request).isAdmin;
|
|
29
|
+
}
|
|
30
|
+
return isAdminOrTargetUser;
|
|
31
|
+
}
|
|
32
|
+
exports.isAdminOrTargetUserInRequestData = isAdminOrTargetUserInRequestData;
|
|
33
|
+
//# sourceMappingURL=auth.nest.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.nest.util.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/auth.nest.util.ts"],"names":[],"mappings":";;;AACA,0CAA6C;AAI7C,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"}
|
package/src/lib/auth/index.d.ts
CHANGED
package/src/lib/auth/index.js
CHANGED
|
@@ -4,4 +4,5 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
tslib_1.__exportStar(require("./auth.service"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./auth.nest"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./auth.context"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./auth.nest.util"), exports);
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,sDAA4B;AAC5B,yDAA+B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,sDAA4B;AAC5B,yDAA+B;AAC/B,2DAAiC"}
|
|
@@ -3,5 +3,5 @@ import * as functions from 'firebase-functions';
|
|
|
3
3
|
export declare function unauthenticatedContextHasNoAuthData(): functions.auth.HttpsError;
|
|
4
4
|
export declare function unauthenticatedContextHasNoUidError(): functions.auth.HttpsError;
|
|
5
5
|
export declare function preconditionConflictError(message: string): functions.auth.HttpsError;
|
|
6
|
-
export declare function forbiddenError(serverError
|
|
7
|
-
export declare function badRequestError(serverError
|
|
6
|
+
export declare function forbiddenError(serverError?: ServerError): functions.auth.HttpsError;
|
|
7
|
+
export declare function badRequestError(serverError?: ServerError): functions.auth.HttpsError;
|
|
@@ -16,11 +16,11 @@ function preconditionConflictError(message) {
|
|
|
16
16
|
exports.preconditionConflictError = preconditionConflictError;
|
|
17
17
|
// MARK: General Errors
|
|
18
18
|
function forbiddenError(serverError) {
|
|
19
|
-
return new functions.https.HttpsError('unauthenticated', serverError.message || 'forbidden', serverError);
|
|
19
|
+
return new functions.https.HttpsError('unauthenticated', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'forbidden', serverError);
|
|
20
20
|
}
|
|
21
21
|
exports.forbiddenError = forbiddenError;
|
|
22
22
|
function badRequestError(serverError) {
|
|
23
|
-
return new functions.https.HttpsError('invalid-argument', serverError.message || 'bad request', serverError);
|
|
23
|
+
return new functions.https.HttpsError('invalid-argument', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'bad request', serverError);
|
|
24
24
|
}
|
|
25
25
|
exports.badRequestError = badRequestError;
|
|
26
26
|
//# sourceMappingURL=error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/function/error.ts"],"names":[],"mappings":";;;AACA,gDAAgD;AAEhD,SAAgB,mCAAmC;IACjD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;AACtF,CAAC;AAFD,kFAEC;AAED,SAAgB,mCAAmC;IACjD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;AAC/E,CAAC;AAFD,kFAEC;AAED,SAAgB,yBAAyB,CAAC,OAAe;IACvD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAFD,8DAEC;AAED,uBAAuB;AACvB,SAAgB,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/function/error.ts"],"names":[],"mappings":";;;AACA,gDAAgD;AAEhD,SAAgB,mCAAmC;IACjD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;AACtF,CAAC;AAFD,kFAEC;AAED,SAAgB,mCAAmC;IACjD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;AAC/E,CAAC;AAFD,kFAEC;AAED,SAAgB,yBAAyB,CAAC,OAAe;IACvD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAFD,8DAEC;AAED,uBAAuB;AACvB,SAAgB,cAAc,CAAC,WAAyB;IACtD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,KAAI,WAAW,EAAE,WAAW,CAAC,CAAC;AAC7G,CAAC;AAFD,wCAEC;AAED,SAAgB,eAAe,CAAC,WAAyB;IACvD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,KAAI,aAAa,EAAE,WAAW,CAAC,CAAC;AAChH,CAAC;AAFD,0CAEC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./model.param"), exports);
|
|
5
4
|
tslib_1.__exportStar(require("./permission.error"), exports);
|
|
6
5
|
tslib_1.__exportStar(require("./create.model.function"), exports);
|
|
7
6
|
tslib_1.__exportStar(require("./update.model.function"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/model/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/model/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,kEAAwC;AACxC,kEAAwC;AACxC,kEAAwC"}
|
package/test/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
# [7.13.0](https://github.com/dereekb/dbx-components/compare/v7.12.0-dev...v7.13.0) (2022-06-14)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* added describeCloudFunctionTest() to handle a map of functions ([5545149](https://github.com/dereekb/dbx-components/commit/55451495c305726d89973613d7d5b9a5be9871bc))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [7.12.0](https://github.com/dereekb/dbx-components/compare/v7.11.2-dev...v7.12.0) (2022-06-14)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* added isAdminOrTargetUserInRequestData() ([c597eb9](https://github.com/dereekb/dbx-components/commit/c597eb9ce968ae5e8d64f3bc2f6ba6520cb11681))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## [7.11.2](https://github.com/dereekb/dbx-components/compare/v7.11.1-dev...v7.11.2) (2022-06-13)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
5
27
|
## [7.11.1](https://github.com/dereekb/dbx-components/compare/v7.11.0-dev...v7.11.1) (2022-06-13)
|
|
6
28
|
|
|
7
29
|
|
package/test/package.json
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/test",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.13.0",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
5
|
"typings": "./src/index.d.ts",
|
|
6
6
|
"dependencies": {},
|
|
7
7
|
"peerDependencies": {
|
|
8
|
-
"@dereekb/firebase": "7.
|
|
8
|
+
"@dereekb/firebase": "7.13.0",
|
|
9
9
|
"rxjs": "^7.0.0",
|
|
10
10
|
"rxfire": "^6.0.3",
|
|
11
11
|
"firebase": "^9.8.0",
|
|
12
|
-
"@dereekb/util": "7.
|
|
12
|
+
"@dereekb/util": "7.13.0",
|
|
13
13
|
"make-error": "^1.3.0",
|
|
14
14
|
"ts-essentials": "^9.1.2",
|
|
15
15
|
"extra-set": "^2.2.11",
|
|
16
|
-
"@dereekb/rxjs": "7.
|
|
16
|
+
"@dereekb/rxjs": "7.13.0",
|
|
17
17
|
"ms": "^3.0.0-canary.1",
|
|
18
|
-
"@dereekb/model": "7.
|
|
18
|
+
"@dereekb/model": "7.13.0",
|
|
19
19
|
"class-transformer": "^0.5.1",
|
|
20
20
|
"class-validator": "^0.13.2",
|
|
21
|
-
"@dereekb/date": "7.
|
|
21
|
+
"@dereekb/date": "7.13.0",
|
|
22
22
|
"date-fns": "^2.28.0",
|
|
23
23
|
"date-fns-tz": "^1.3.0",
|
|
24
24
|
"rrule": "2.7.0",
|
|
25
|
-
"@dereekb/util/test": "7.
|
|
25
|
+
"@dereekb/util/test": "7.13.0",
|
|
26
26
|
"firebase-admin": "^10.3.0",
|
|
27
27
|
"jsonwebtoken": "^8.0.0",
|
|
28
28
|
"firebase-functions": "^3.21.2",
|
|
29
29
|
"@nestjs/common": "^8.4.0",
|
|
30
30
|
"@google-cloud/firestore": "^4.15.1",
|
|
31
|
-
"@dereekb/firebase/test": "7.
|
|
32
|
-
"@dereekb/firebase-server": "7.
|
|
33
|
-
"@dereekb/nestjs": "7.
|
|
31
|
+
"@dereekb/firebase/test": "7.13.0",
|
|
32
|
+
"@dereekb/firebase-server": "7.13.0",
|
|
33
|
+
"@dereekb/nestjs": "7.13.0",
|
|
34
34
|
"@nestjs/config": "^2.0.1",
|
|
35
35
|
"@nestjs/core": "^8.4.0",
|
|
36
36
|
"@nestjs/platform-express": "^8.4.0",
|
|
@@ -88,6 +88,10 @@ export declare type AuthorizedUserTestContextFactoryConfig<PI extends FirebaseAd
|
|
|
88
88
|
export interface AuthorizedUserTestContextFactoryParams<PI extends FirebaseAdminTestContext = FirebaseAdminTestContext, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>> {
|
|
89
89
|
f: PF;
|
|
90
90
|
user?: CreateRequest;
|
|
91
|
+
/**
|
|
92
|
+
* Optional template details.
|
|
93
|
+
*/
|
|
94
|
+
template?: AuthorizedUserTestContextDetailsTemplate;
|
|
91
95
|
}
|
|
92
96
|
/**
|
|
93
97
|
* Creates a new Jest Context that has a random user for authorization for use in firebase server tests.
|
|
@@ -72,7 +72,7 @@ function authorizedUserContextFactory(config) {
|
|
|
72
72
|
buildTests,
|
|
73
73
|
initInstance: () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
74
74
|
const uid = (inputUser === null || inputUser === void 0 ? void 0 : inputUser.uid) || makeUid();
|
|
75
|
-
const { details, claims } = makeUserDetails(uid, params);
|
|
75
|
+
const { details, claims } = Object.assign(Object.assign({}, makeUserDetails(uid, params)), params.template);
|
|
76
76
|
const auth = f.instance.auth;
|
|
77
77
|
const userRecord = yield auth.createUser(Object.assign(Object.assign({ uid, displayName: 'Test Person' }, details), inputUser));
|
|
78
78
|
if (claims) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.admin.auth.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.auth.ts"],"names":[],"mappings":";;;;AACA,wCAAoI;AACpI,6CAAwH;AAMxH,+CAAmD;AAmBnD,MAAa,gCAA8P,SAAQ,0CAA0C;IAC3T,8CAA8C;IAC9C,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC3B,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;IACxC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IAC5C,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IAC5C,CAAC;IAED,iBAAiB,CAA2C,EAAK,EAAE,MAAkC;QACnG,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;CACF;AAzBD,4EAyBC;AAID,MAAa,iCAAiC;IAC5C,YAAqB,GAAuB,EAAW,WAAe;QAAjD,QAAG,GAAH,GAAG,CAAoB;QAAW,gBAAW,GAAX,WAAW,CAAI;IAAG,CAAC;IAE1E,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,4CAA4C,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7H,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACvE,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gCAAgC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACjH,CAAC;IAED,iBAAiB,CAA2C,EAAK,EAAE,MAAkC;QACnG,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAE,EAA+B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxG,CAAC;IAED,sBAAsB,CAA8C,EAAK,EAAE,MAAkC,EAAE,cAA8C;QAC3J,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAE,EAA+B,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,iCAAM,cAAc,GAAK,OAAO,EAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7J,CAAC;CACF;AA1BD,8EA0BC;AAgDD;;GAEG;AACH,SAAgB,qBAAqB,CAAmU,MAAqD,EAAE,UAA0B;IACvb,4BAA4B,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;AACpE,CAAC;AAFD,sDAEC;
|
|
1
|
+
{"version":3,"file":"firebase.admin.auth.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,11 +30,11 @@ export declare class ModelTestContextInstance<T, D extends FirestoreDocument<T>
|
|
|
30
30
|
/**
|
|
31
31
|
* authorizedUserContext/authorizedUserContextFactory parameters.
|
|
32
32
|
*/
|
|
33
|
-
export interface ModelTestContextFactoryParams<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, C = any, PI extends FirebaseAdminTestContext = FirebaseAdminTestContext, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>, I extends ModelTestContextInstance<T, D, PI> = ModelTestContextInstance<T, D, PI>, F extends ModelTestContextFixture<T, D, PI, PF, I> = ModelTestContextFixture<T, D, PI, PF, I>> {
|
|
33
|
+
export interface ModelTestContextFactoryParams<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, C = any, PI extends FirebaseAdminTestContext = FirebaseAdminTestContext, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>, I extends ModelTestContextInstance<T, D, PI> = ModelTestContextInstance<T, D, PI>, F extends ModelTestContextFixture<T, D, PI, PF, I> = ModelTestContextFixture<T, D, PI, PF, I>, CL extends FirestoreCollection<T, D> = FirestoreCollection<T, D>> {
|
|
34
34
|
/**
|
|
35
35
|
* Creates a ModelTestContextInstanceDelegate from the parent instance.
|
|
36
36
|
*/
|
|
37
|
-
getCollection: (parentInstance: PI, config: C) =>
|
|
37
|
+
getCollection: (parentInstance: PI, config: C) => CL;
|
|
38
38
|
/**
|
|
39
39
|
* Creates the custom fixture. If not defined, a ModelTestContextFixture is created.
|
|
40
40
|
*/
|
|
@@ -42,11 +42,11 @@ export interface ModelTestContextFactoryParams<T, D extends FirestoreDocument<T>
|
|
|
42
42
|
/**
|
|
43
43
|
* Optional function to create a DocumentReference.
|
|
44
44
|
*/
|
|
45
|
-
makeRef?: (collection:
|
|
45
|
+
makeRef?: (collection: CL, config: C, parentInstance: PI) => Promise<DocumentReference<T>>;
|
|
46
46
|
/**
|
|
47
47
|
* Custom make instance function. If not defined, a ModelTestContextInstance will be generated.
|
|
48
48
|
*/
|
|
49
|
-
makeInstance?: (collection:
|
|
49
|
+
makeInstance?: (collection: CL, ref: DocumentReference<T>, testInstance: PI) => PromiseOrValue<I>;
|
|
50
50
|
/**
|
|
51
51
|
* Optional function to initialize the document for this instance.
|
|
52
52
|
*/
|
|
@@ -58,4 +58,4 @@ export declare type ModelTestContextParams<C = any, PI extends FirebaseAdminTest
|
|
|
58
58
|
/**
|
|
59
59
|
* Creates a new Jest Context that has a random user for authorization for use in firebase server tests.
|
|
60
60
|
*/
|
|
61
|
-
export declare function modelTestContextFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, C = any, PI extends FirebaseAdminTestContext = FirebaseAdminTestContext, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>, I extends ModelTestContextInstance<T, D, PI> = ModelTestContextInstance<T, D, PI>, F extends ModelTestContextFixture<T, D, PI, PF, I> = ModelTestContextFixture<T, D, PI, PF, I>>(config: ModelTestContextFactoryParams<T, D, C, PI, PF, I, F>): (params: ModelTestContextParams<C, PI, PF>, buildTests: (u: F) => void) => void;
|
|
61
|
+
export declare function modelTestContextFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, C = any, PI extends FirebaseAdminTestContext = FirebaseAdminTestContext, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>, I extends ModelTestContextInstance<T, D, PI> = ModelTestContextInstance<T, D, PI>, F extends ModelTestContextFixture<T, D, PI, PF, I> = ModelTestContextFixture<T, D, PI, PF, I>, CL extends FirestoreCollection<T, D> = FirestoreCollection<T, D>>(config: ModelTestContextFactoryParams<T, D, C, PI, PF, I, F, CL>): (params: ModelTestContextParams<C, PI, PF>, buildTests: (u: F) => void) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.admin.collection.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.collection.ts"],"names":[],"mappings":";;;;AAEA,6CAAwH;AAaxH,MAAa,uBAAyS,SAAQ,0CAA0C;IACtW,qCAAqC;IACrC,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;IAClC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAChC,CAAC;CACF;AAjBD,0DAiBC;AAED,MAAa,wBAAwB;IACnC,YAAqB,UAAqC,EAAW,GAAyB,EAAW,WAAe;QAAnG,eAAU,GAAV,UAAU,CAA2B;QAAW,QAAG,GAAH,GAAG,CAAsB;QAAW,gBAAW,GAAX,WAAW,CAAI;IAAG,CAAC;IAE5H,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;CACF;AAlBD,4DAkBC;AAkCD;;GAEG;AACH,SAAgB,uBAAuB,CACrC,
|
|
1
|
+
{"version":3,"file":"firebase.admin.collection.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.collection.ts"],"names":[],"mappings":";;;;AAEA,6CAAwH;AAaxH,MAAa,uBAAyS,SAAQ,0CAA0C;IACtW,qCAAqC;IACrC,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;IAClC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAChC,CAAC;CACF;AAjBD,0DAiBC;AAED,MAAa,wBAAwB;IACnC,YAAqB,UAAqC,EAAW,GAAyB,EAAW,WAAe;QAAnG,eAAU,GAAV,UAAU,CAA2B;QAAW,QAAG,GAAH,GAAG,CAAsB;QAAW,gBAAW,GAAX,WAAW,CAAI;IAAG,CAAC;IAE5H,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;CACF;AAlBD,4DAkBC;AAkCD;;GAEG;AACH,SAAgB,uBAAuB,CACrC,MAAgE;IAEhE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,YAAY,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,IAAI,wBAAwB,CAAC,UAAU,EAAE,GAAG,EAAE,YAAY,CAAM,EAAE,WAAW,GAAG,CAAC,CAAK,EAAE,EAAE,CAAC,IAAI,uBAAuB,CAAkB,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IAEhU,OAAO,CAAC,MAAyC,EAAE,UAA0B,EAAE,EAAE;QAC/E,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC;QACrB,OAAO,IAAA,4BAAqB,EAAO;YACjC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAM;YAC5B,UAAU;YACV,YAAY,EAAE,GAAS,EAAE;gBACvB,MAAM,cAAc,GAAG,CAAC,CAAC,QAAQ,CAAC;gBAClC,MAAM,UAAU,GAAG,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;gBACzD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;gBAC9D,MAAM,QAAQ,GAAM,MAAM,YAAY,CAAC,UAAU,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;gBAExE,IAAI,YAAY,EAAE;oBAChB,MAAM,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;iBACtC;gBAED,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAA;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAxBD,0DAwBC"}
|
|
@@ -1,17 +1,33 @@
|
|
|
1
1
|
import { NestApplicationRunnableHttpFunctionFactory } from '@dereekb/firebase-server';
|
|
2
2
|
import { FirebaseAdminFunctionNestTestContext } from './firebase.admin.nest.function';
|
|
3
3
|
import { WrappedCloudFunctionV1 } from './firebase.function';
|
|
4
|
-
export interface
|
|
4
|
+
export interface CloudFunctionTestBaseConfig {
|
|
5
5
|
f: FirebaseAdminFunctionNestTestContext;
|
|
6
|
+
}
|
|
7
|
+
export interface CloudFunctionTestSingleConfig<I> extends CloudFunctionTestBaseConfig {
|
|
6
8
|
fn: NestApplicationRunnableHttpFunctionFactory<I>;
|
|
7
9
|
}
|
|
10
|
+
export declare type CloudFunctionTestSingleFunction<I> = (fn: WrappedCloudFunctionV1<I>) => void;
|
|
11
|
+
export declare type CloudFunctionTestConfigMapObject = {
|
|
12
|
+
[key: string]: NestApplicationRunnableHttpFunctionFactory<any>;
|
|
13
|
+
};
|
|
14
|
+
export interface CloudFunctionTestMultipleConfig<I, T extends CloudFunctionTestConfigMapObject> extends CloudFunctionTestBaseConfig {
|
|
15
|
+
fns: T;
|
|
16
|
+
}
|
|
17
|
+
export declare type CloudFunctionTestMultipleFixture<T extends CloudFunctionTestConfigMapObject> = {
|
|
18
|
+
[K in keyof T as K extends string ? `${K}CloudFn` : never]: T[K] extends NestApplicationRunnableHttpFunctionFactory<infer I> ? WrappedCloudFunctionV1<I> : never;
|
|
19
|
+
};
|
|
20
|
+
export declare type CloudFunctionTestMultipleFunction<T extends CloudFunctionTestConfigMapObject> = (fn: CloudFunctionTestMultipleFixture<T>) => void;
|
|
21
|
+
export declare function isCloudFunctionTestSingleConfig<I, T extends CloudFunctionTestConfigMapObject>(config: CloudFunctionTestSingleConfig<I> | CloudFunctionTestMultipleConfig<I, T>): config is CloudFunctionTestSingleConfig<I>;
|
|
8
22
|
/**
|
|
9
23
|
* Used to provide a test builder that exposes a WrappedCloudFunction using the input configuration.
|
|
10
24
|
*
|
|
11
25
|
* @param config
|
|
12
26
|
* @param buildTests
|
|
13
27
|
*/
|
|
14
|
-
export declare function cloudFunctionTest<I>(config:
|
|
28
|
+
export declare function cloudFunctionTest<I, T extends CloudFunctionTestConfigMapObject>(config: CloudFunctionTestMultipleConfig<I, T>, buildTests: CloudFunctionTestMultipleFunction<T>): void;
|
|
29
|
+
export declare function cloudFunctionTest<I>(config: CloudFunctionTestSingleConfig<I>, buildTests: CloudFunctionTestSingleFunction<I>): void;
|
|
30
|
+
export declare function cloudFunctionTest<I, T extends CloudFunctionTestConfigMapObject>(config: CloudFunctionTestSingleConfig<I> | CloudFunctionTestMultipleConfig<I, T>, buildTests: CloudFunctionTestSingleFunction<I> | CloudFunctionTestMultipleFunction<T>): void;
|
|
15
31
|
/**
|
|
16
32
|
* Convenience function that calls describe and cloudFunctionContext together.
|
|
17
33
|
*
|
|
@@ -19,4 +35,6 @@ export declare function cloudFunctionTest<I>(config: CloudFunctionTestConfig<I>,
|
|
|
19
35
|
* @param config
|
|
20
36
|
* @param buildTests
|
|
21
37
|
*/
|
|
22
|
-
export declare function describeCloudFunctionTest<I>(label: string, config:
|
|
38
|
+
export declare function describeCloudFunctionTest<I, T extends CloudFunctionTestConfigMapObject>(label: string, config: CloudFunctionTestMultipleConfig<I, T>, buildTests: CloudFunctionTestMultipleFunction<T>): void;
|
|
39
|
+
export declare function describeCloudFunctionTest<I>(clabel: string, onfig: CloudFunctionTestSingleConfig<I>, buildTests: CloudFunctionTestSingleFunction<I>): void;
|
|
40
|
+
export declare function describeCloudFunctionTest<I, T extends CloudFunctionTestConfigMapObject>(label: string, config: CloudFunctionTestSingleConfig<I> | CloudFunctionTestMultipleConfig<I, T>, buildTests: CloudFunctionTestSingleFunction<I> | CloudFunctionTestMultipleFunction<T>): void;
|
|
@@ -1,31 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.describeCloudFunctionTest = exports.cloudFunctionTest = void 0;
|
|
3
|
+
exports.describeCloudFunctionTest = exports.cloudFunctionTest = exports.isCloudFunctionTestSingleConfig = void 0;
|
|
4
4
|
const test_1 = require("@dereekb/util/test");
|
|
5
5
|
const firebase_admin_nest_function_1 = require("./firebase.admin.nest.function");
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
const util_1 = require("@dereekb/util");
|
|
7
|
+
function isCloudFunctionTestSingleConfig(config) {
|
|
8
|
+
const isSingle = Boolean(config.fn);
|
|
9
|
+
return isSingle;
|
|
10
|
+
}
|
|
11
|
+
exports.isCloudFunctionTestSingleConfig = isCloudFunctionTestSingleConfig;
|
|
12
12
|
function cloudFunctionTest(config, buildTests) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
if (isCloudFunctionTestSingleConfig(config)) {
|
|
14
|
+
const { f, fn } = config;
|
|
15
|
+
(0, test_1.useJestFunctionFixture)({
|
|
16
|
+
fn: () => {
|
|
17
|
+
const x = (0, firebase_admin_nest_function_1.wrapCloudFunctionForNestTestsGetter)(f, fn)();
|
|
18
|
+
return x;
|
|
19
|
+
}
|
|
20
|
+
}, buildTests);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
const { f, fns: inputFns } = config;
|
|
24
|
+
const mappedFns = (0, util_1.mapObjectMap)(inputFns, (fn) => () => (0, firebase_admin_nest_function_1.wrapCloudFunctionForNestTestsGetter)(f, fn)());
|
|
25
|
+
const fns = {};
|
|
26
|
+
Object.keys(mappedFns).forEach((key) => {
|
|
27
|
+
fns[`${key}CloudFn`] = mappedFns[key];
|
|
28
|
+
});
|
|
29
|
+
(0, test_1.useJestFunctionMapFixture)({
|
|
30
|
+
fns
|
|
31
|
+
}, buildTests);
|
|
32
|
+
}
|
|
20
33
|
}
|
|
21
34
|
exports.cloudFunctionTest = cloudFunctionTest;
|
|
22
|
-
/**
|
|
23
|
-
* Convenience function that calls describe and cloudFunctionContext together.
|
|
24
|
-
*
|
|
25
|
-
* @param label
|
|
26
|
-
* @param config
|
|
27
|
-
* @param buildTests
|
|
28
|
-
*/
|
|
29
35
|
function describeCloudFunctionTest(label, config, buildTests) {
|
|
30
36
|
describe(label, () => {
|
|
31
37
|
cloudFunctionTest(config, buildTests);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.admin.nest.function.context.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.nest.function.context.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"firebase.admin.nest.function.context.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.nest.function.context.ts"],"names":[],"mappings":";;;AAAA,6CAAuF;AAEvF,iFAA2H;AAE3H,wCAA6C;AA2B7C,SAAgB,+BAA+B,CAAgD,MAAgF;IAC7K,MAAM,QAAQ,GAAG,OAAO,CAAE,MAA2C,CAAC,EAAE,CAAC,CAAC;IAC1E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAHD,0EAGC;AAWD,SAAgB,iBAAiB,CAAgD,MAAgF,EAAE,UAAqF;IACtP,IAAI,+BAA+B,CAAC,MAAM,CAAC,EAAE;QAC3C,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;QACzB,IAAA,6BAAsB,EACpB;YACE,EAAE,EAAE,GAAG,EAAE;gBACP,MAAM,CAAC,GAAG,IAAA,kEAAmC,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBACvD,OAAO,CAAC,CAAC;YACX,CAAC;SACF,EACD,UAAgD,CACjD,CAAC;KACH;SAAM;QACL,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QACpC,MAAM,SAAS,GAAG,IAAA,mBAAY,EAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAA,kEAAmC,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACrG,MAAM,GAAG,GAAQ,EAAE,CAAC;QAEpB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACrC,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,IAAA,gCAAyB,EACvB;YACE,GAAG;SACJ,EACD,UAAiB,CAClB,CAAC;KACH;AACH,CAAC;AA5BD,8CA4BC;AAYD,SAAgB,yBAAyB,CAAgD,KAAa,EAAE,MAAgF,EAAE,UAAqF;IAC7Q,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,iBAAiB,CAAO,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AAJD,8DAIC;AAED,WAAW;AACX,OAAO"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TargetModelParams = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const class_transformer_1 = require("class-transformer");
|
|
6
|
-
const class_validator_1 = require("class-validator");
|
|
7
|
-
/**
|
|
8
|
-
* Simple annotated params that
|
|
9
|
-
*/
|
|
10
|
-
class TargetModelParams {
|
|
11
|
-
}
|
|
12
|
-
tslib_1.__decorate([
|
|
13
|
-
(0, class_transformer_1.Expose)(),
|
|
14
|
-
(0, class_validator_1.IsString)(),
|
|
15
|
-
tslib_1.__metadata("design:type", String)
|
|
16
|
-
], TargetModelParams.prototype, "key", void 0);
|
|
17
|
-
exports.TargetModelParams = TargetModelParams;
|
|
18
|
-
//# sourceMappingURL=model.param.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model.param.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/model/model.param.ts"],"names":[],"mappings":";;;;AACA,yDAA2C;AAC3C,qDAA2C;AAE3C;;GAEG;AACH,MAAa,iBAAiB;CAI7B;AADC;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;8CACa;AAH1B,8CAIC"}
|